https://sourceware.org/bugzilla/show_bug.cgi?id=20244

--- Comment #10 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Dopıng from comment #9)
> (In reply to H.J. Lu from comment #8)
> > [...]
> > The problem is that since linker doesn't know where the GOT base is at 
> > run-time,
> > it can't properly resolve R_386_GOT32.
> 
> Unfortunately, my knowledge of binary file internals like the global offset
> table is rather limited. I know that stuff like compiling without -fpic and
> then trying to build a shared library is not the best of ideas, but I’ve
> never had any GOT-related problems before.

Without -fpic is OK.  The problem is GOT reference without the base register.
You can use "objdump -dwr" to see what the code is doing.

> Do you have any idea what compiler option Oracle might have used incorrectly
> that caused this code?

I have no idea.

> What I don’t get is why the older GNU ld seems to link these objects files
> into a shared library just fine. If that’s the case, the older ld must have
> a way to properly deal with these assembly instructions, right?

The old linker will silently generate broken output.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to