bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/1396] New: prohibited cross reference to a local symbol.


From: etienne dot lorrain at masroudeau dot com
Subject: [Bug ld/1396] New: prohibited cross reference to a local symbol.
Date: 30 Sep 2005 10:17:57 -0000

LD is trying to link to the wrong (local) memcpy symbol when executing
those commands:

address@hidden:~$ cat /proc/version
Linux version 2.6.12-1-k7 (address@hidden) (gcc version 4.0.2 20050821 
(prerelease) (Debian 4.0.1-6)) #1 Tue Sep 6 16:28:10 UTC 2005
address@hidden:~$ ld --version
GNU ld version 2.16.91 20050902 Debian GNU/Linux
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
address@hidden:~$ mkdir tmp
address@hidden:~$ cd tmp
address@hidden:~/tmp$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-
2.6.13.2.tar.bz2
address@hidden:~/tmp$ wget 'http://marc.theaimsgroup.com/?l=linux-
kernel&m=112557274910448&q=p3' -O patch2613-1
address@hidden:~/tmp$ wget 'http://marc.theaimsgroup.com/?l=linux-
kernel&m=112557274923346&q=p3' -O patch2613-2
# NOTE: the previous patches have been produced with RedHat Fedora Core 3
# and so lack a newline at end of the file, it will apply cleanly on
# Fedora core 3 but not on Debian, so just do:
address@hidden:~/tmp$ echo >> patch2613-1
address@hidden:~/tmp$ echo >> patch2613-2
address@hidden:~/tmp$ tar xjf linux-2.6.13.2.tar.bz2
address@hidden:~/tmp$ cd linux-2.6.13.2
address@hidden:~/tmp/linux-2.6.13.2$ patch -p1 < ../patch2613-1
address@hidden:~/tmp/linux-2.6.13.2$ patch -p1 < ../patch2613-2
address@hidden:~/tmp/linux-2.6.13.2$ make defconfig
address@hidden:~/tmp/linux-2.6.13.2$ make vmlinux > log
.....
arch/i386/kernel/built-in.o: In function `smp_store_cpu_info':
: prohibited cross reference from .text to `memcpy' in .realmode
make: *** [.tmp_vmlinux1] Error 1
address@hidden:~/tmp/linux-2.6.13.2$ readelf -s arch/i386/kernel/built-in.o | 
grep memcpy
   351: 00000000    65 FUNC    LOCAL  DEFAULT   12 memcpy
  1077: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND memcpy
  1720: 00000000    65 FUNC    GLOBAL DEFAULT   12 code16_memcpy
address@hidden:~/tmp/linux-2.6.13.2$ make vmlinux
  CHK     include/linux/version.h
make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
  CHK     include/linux/compile.h
  CHK     usr/initramfs_list
  GEN     .version
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/i386/kernel/built-in.o: In function `smp_store_cpu_info':
: prohibited cross reference from .text to `memcpy' in .realmode
make: *** [.tmp_vmlinux1] Error 1
# NOTE: line extracted from a verbose build: " make vmlinux V=1 "
# and add manually the -y memcpy
address@hidden:~/tmp/linux-2.6.13.2$ ld -m elf_i386 -m elf_i386 \
   -o .tmp_vmlinux1 -T arch/i386/kernel/vmlinux.lds \
   arch/i386/kernel/head.o arch/i386/kernel/init_task.o \
   init/built-in.o --start-group  usr/built-in.o \
   arch/i386/kernel/built-in.o  arch/i386/mm/built-in.o \
   arch/i386/mach-default/built-in.o arch/i386/crypto/built-in.o \
   kernel/built-in.o  mm/built-in.o  fs/built-in.o  ipc/built-in.o \
   security/built-in.o  crypto/built-in.o  lib/lib.a \
   arch/i386/lib/lib.a  lib/built-in.o arch/i386/lib/built-in.o \
   drivers/built-in.o  sound/built-in.o  arch/i386/pci/built-in.o \
   arch/i386/oprofile/built-in.o  arch/i386/power/built-in.o \
   net/built-in.o --end-group       -y memcpy
arch/i386/kernel/built-in.o: reference to memcpy
kernel/built-in.o: reference to memcpy
mm/built-in.o: reference to memcpy
fs/built-in.o: reference to memcpy
arch/i386/lib/lib.a(memcpy.o): definition of memcpy
drivers/built-in.o: reference to memcpy
sound/built-in.o: reference to memcpy
net/built-in.o: reference to memcpy
arch/i386/kernel/built-in.o: In function `smp_store_cpu_info':
: prohibited cross reference from .text to `memcpy' in .realmode


  Thanks,
  Etienne.

-- 
           Summary: prohibited cross reference to a local symbol.
           Product: binutils
           Version: 2.16
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: etienne dot lorrain at masroudeau dot com
                CC: bug-binutils at gnu dot org
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


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

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