bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/20244] ld fails to handle "op $imm, address@hidden"


From: hjl.tools at gmail dot com
Subject: [Bug ld/20244] ld fails to handle "op $imm, address@hidden"
Date: Tue, 14 Feb 2017 16:30:04 +0000

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]