bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/4398] New: relocation R_X86_64_PC32 against 'funcx'; recompile


From: evilight at gmail dot com
Subject: [Bug ld/4398] New: relocation R_X86_64_PC32 against 'funcx'; recompile with -fPIC
Date: 20 Apr 2007 09:09:36 -0000

Product: binutils
Version: 2.16,2.17
Component: ld
OS: SUSE Linux Enterprise Server 10 (x86_64) - Kernel 2.6.16.21-0.8-smp (64-
bit)


    when I link some object files ,which some of them are compiled by gcc4.1.0 
from c code, and others are assemble code compiled by as, while ld them to a 
shared library. a error will occur like this:


as -o a.o a.s
gcc -fPIC -o b.o -c b.c
ld -shared a.o b.o -o libtest.so
ld: a.o: relocation R_X86_64_PC32 against `int_this_is_a_test_k8_64_body' can 
not be used when making a shared object; recompile with -fPIC
ld: final link failed: Bad value
make: *** [libtest.so] Error 1

and if works with ld from binutils 2.15, it's fine.

here is my code:
====================================b.c========================================
int hereitis()
{
int_this_is_a_test_k8_64_body();
return 1;
}
===============================================================================

===============================   a.s   =======================================
        .file   "test-k8_64.s"
        .text
        .align 16
.globl int_this_is_a_test_k8_64_body
        .type   int_this_is_a_test_k8_64_body,@function
int_this_is_a_test_k8_64_body:
        ret
.this_is_a_test_k8_64_body_end:
        .size   int_this_is_a_test_k8_64_body,.this_is_a_test_k8_64_body_end-
int_this_is_a_test_k8_64_body
.ident  "test-k8_64.pl"


        .text
        .align 16
.globl int_this_is_a_test2_k8_64
        .type   int_this_is_a_test2_k8_64,@function
int_this_is_a_test2_k8_64:
        call int_this_is_a_test_k8_64_body
        ret
.this_is_a_test2_k8_64_end:
        .size   int_this_is_a_test2_k8_64,.this_is_a_test2_k8_64_end-
int_this_is_a_test2_k8_64
.ident  "test-k8_64.pl"
==============================================================================

===========================   makefile =======================================
all:libtest.so


libtest.so:a.o b.o
        ld -shared a.o b.o -o libtest.so

a.o:a.s
        as -o a.o a.s
b.o:b.c
        gcc -fPIC -o b.o -c b.c

clean:
        rm libtest.so b.o a.o
==============================================================================

-- 
           Summary: relocation R_X86_64_PC32 against  'funcx'; recompile
                    with -fPIC
           Product: binutils
           Version: 2.16
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: evilight at gmail dot com
                CC: bug-binutils at gnu dot org


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

------- 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]