amd64/76224: gcc fails to invoke ld properly, ld fails to examine
ldconfig -32's libraries
Jonathan Dama
jd at caltech.edu
Thu Jan 13 14:30:59 PST 2005
>Number: 76224
>Category: amd64
>Synopsis: gcc fails to invoke ld properly, ld fails to examine ldconfig -32's libraries
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-amd64
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jan 13 22:30:35 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Jonathan Dama
>Release: FreeBSD-5.3/amd64
>Organization:
Caltech VLSI Group
>Environment:
FreeBSD carbon.async.caltech.edu 5.3-STABLE FreeBSD 5.3-STABLE #0: Mon Jan 10 11:53:44 PST 2005 root at carbon.async.caltech.edu:/usr/obj/usr/src/sys/CRUNCHER amd64
>Description:
Though /usr/bin/ld reports that it can make elf_i386_fbsd, cc -m32 simple-c-file.c does not properly build
gcc does not translate -m32 to mean that ld must be envoked with /usr/lib32 bits instead of /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
also mistakenly gives: -dynamic-linker /libexec/ld-elf.so.1 and -L/usr/lib instead of -dynamic-linker /libexec/ld-elf32.so.1 and -L/usr/lib32
>How-To-Repeat:
Following simple test program (main.c):
#include <stdio.h>
int main() { printf("Hello world\n"); return 0; }
Run:
jd at carbon:~/tmp/cdemo>cc -m32 -v -o test main.c
Result:
Using built-in specs.
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728
/usr/libexec/cc1 -quiet -v -D_LONGLONG main.c -quiet -dumpbase main.c -m32 -aux
base main -version -o /var/tmp//ccGKzqtl.s
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/include
End of search list.
GNU C version 3.4.2 [FreeBSD] 20040728 (amd64-fbsdproj-freebsd)
compiled by GNU C version 3.4.2 [FreeBSD] 20040728.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
/usr/bin/as -V -Qy --32 -o /var/tmp//ccdmrhyt.o /var/tmp//ccGKzqtl.s
GNU assembler version 2.15 [FreeBSD] 2004-05-23 (x86_64-obrien-freebsd) using BF
D version 2.15 [FreeBSD] 2004-05-23
/usr/bin/ld -m elf_i386_fbsd -V -dynamic-linker /libexec/ld-elf.so.1 -o test /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -melf_i386_fbsd /var/tmp//ccdmrhyt.o -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
GNU ld version 2.15 [FreeBSD] 2004-05-23
Supported emulations:
elf_i386_fbsd
elf_x86_64_fbsd
/usr/bin/ld: skipping incompatible /usr/lib/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-amd64
mailing list