This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Fix PR 20995 for cris-linux (please have a look)
- From: Alan Modra <amodra at gmail dot com>
- To: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Cc: binutils at sourceware dot org
- Date: Fri, 27 Jan 2017 22:58:16 +1030
- Subject: Re: Fix PR 20995 for cris-linux (please have a look)
- Authentication-results: sourceware.org; auth=none
- References: <201701270054.v0R0sBpY029207@ignucius.se.axis.com>
On Fri, Jan 27, 2017 at 01:54:11AM +0100, Hans-Peter Nilsson wrote:
> Hi. I grew tired of waiting for the new failing test-case to
> magically start working for cris-linux and had a look at PR20995
> myself - or rather, just the changes in 5474d94f03aedb. It
> looks like the pattern of solutions for most other targets can
> be followed, modulo elf32-cris.c not being "converted over to
> use the new dynamic sections for read-only variables".
>
> This patch being the moral equivalent of a copy-paste of changes
> in that commit, I'm not over-confident despite all tests now
> passing. Can I ask you to please have a quick look at the following?
> Thanks in advance.
It looks fine, but please do a little more work on your target and
convert over to using the hash table shortcuts everywhere possible.
> @@ -3787,7 +3797,8 @@ elf_cris_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
> }
> }
> else if (! CONST_STRNEQ (name, ".got")
> - && strcmp (name, ".dynbss") != 0)
> + && strcmp (name, ".dynbss") != 0
> + && s != htab->root.sdynrelro)
This example of code in elf_cris_size_dynamic_sections is why I didn't
convert cris at the same time I did other targets. You're not using
the shortcuts to .dynbss or .got and seem to be doing something weird
in checking for ".got*". When I'm working on non-vital changes for
lots of targets it doesn't take much oddity in the target for me to
leave the fix to the target maintainer, assuming the target has a
maintainer.
--
Alan Modra
Australia Development Lab, IBM