[PATCH] Re: Gate DSO not building properly?
Nick Clifton
nickc@redhat.com
Fri Oct 24 10:14:00 GMT 2003
Hi H.J.
>> I figured out why (sorry if it's obvious); gas matches anything with
>> prefix '.data.' as a data special section and flags it as 'SHF_ALLOC +
>> SHF_WRITE' as per ELF [*]. Issuing
>>
>> .section .data.gate, "ax"
>>
>> thus conflicts as it's assumed to be an extension of a .data section.
> 2003-10-21 H.J. Lu <hongjiu.lu@intel.com>
>
> * config/obj-elf.c (obj_elf_change_section): Use specified
> section attributes.
Approved - with a few minor changes, see below - please apply.
Cheers
Nick
> + bfd_boolean override = FALSE;
[optional]: This variable could be moved inside the if statement
starting at line 672, localizing it, if the statement was changed to:
if (old_sec == NULL)
{
bfd_boolean override = FALSE;
if (attr & ~ ssect->attr)
{
...
}
if (!override)
attr |= ssect->attr;
}
I feel that the code looks neater this way.
> && (attr &~ ssect->attr &~ SHF_MERGE &~ SHF_STRINGS) == 0)
I would appreciate it if you could add a space between the '&' and the
'~'. These are separate operators and should not be juxtaposed like
that. I know that this is not part of your original patch, but since
we are modifying this area of code, I think that it would be a good
idea to clean this up.
> + as_warn (_("setting incorrect section attributes for %s"),
> + name);
> + override = TRUE;
Since the new attributes are going to be ignored, we should change the
warning message appropriately. Something like:
as_warn (_("ignoring setting of incorrect section attributes for %s"),
More information about the Binutils
mailing list