bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/11549] Allow 32bit relocations in 64bit code


From: hjl dot tools at gmail dot com
Subject: [Bug binutils/11549] Allow 32bit relocations in 64bit code
Date: 5 May 2010 14:07:54 -0000

------- Additional Comments From hjl dot tools at gmail dot com  2010-05-05 
14:07 -------
(In reply to comment #3)
> Created an attachment (id=4768)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=4768&action=view)
> test case
> 
> This is an extracted test case.
> 32bit code is built with nasm (see build script)
> 64bit is built using gcc.
> All files should be ELF x64.
> 
> /opt/cross/bin/x86_64-linux-gcc -o bin.o -nostdlib -Wl,-M -Wl,-Bstatic -m64
> -Wl,-pie test32.o test64.o
> /opt/cross/lib/gcc/x86_64-linux/4.4.3/../../../../x86_64-linux/bin/ld:
> test32.o: relocation R_X86_64_32 against `var' can not be used when making a
> shared object; recompile with -fPIC
> test32.o: could not read symbols: Bad value
> collect2: ld returned 1 exit status

You have

0000000000000000 <fn32>:
   0:   a1 00 00 00 00          mov    0x0,%eax 1: R_X86_64_32  var
   5:   c3                      ret    

Since you are building PIE, which can be loaded anywhere in
64bit address space, R_X86_64_32 may overflow.

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=11549

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

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