Re: hppa: glibc and gcc 4.6, "error: _rtld_global_ro causes a section type conflict"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 24, 2012 at 7:55 PM, John David Anglin <dave.anglin@xxxxxxxx> wrote:
> On 15-Apr-12, at 11:00 AM, Carlos O'Donell wrote:
>
>> When compiling glibc on magnum with gcc-4.6 I get an odd failure about
>> section type conflicts.
>
>
>
> After discussing the issue with Jakub Jelinek,  it appears the bug is caused
> by placing
> function labels (plabels) in the constant pool.

Interesting.

> PA has done this for longer
> than I can
> remember, but it doesn't appear necessary.  As you know, only ia64 and pa
> use plabels.

Yes, we both rely on the plabel code in glibc.

> This causes the setting of default flags for .data.rel.ro which conflict
> with those needed
> for _rtld_global_ro in the dynamic linker.  The problem doesn't have
> anything directly
> to do with the handling of the variable _rtld_global_ro.  This was what was
> confusing
> me as everything seemed generic.

Me too.

> I am testing a fix.  Your testcase compiles successfully with the fix.

Excellent!

> The issue is incredibly subtle.  I would guess it was just a matter of luck
> that other targets
> aren't affected given that the code in rtld.c is not exactly exactly kosher
> from GCC POV.

The dynamic linker isn't exactly kosher :-)

Cheers,
Carlos.
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux