New Release

Paul Allen pallen at donut.ugcs.caltech.edu
Fri Apr 15 02:22:23 PDT 2005


> So does FreeBSD have limited resources for the emulation
> layer :)
> You can of course build 32-bit binaries, just have like any
> cross-compiling. You can even use the normal IA32 compiler
> suite,
> with some minor meedling with search directories and the
> like.

Of course.  That was really an elliptic reference to this pr:
amd64/76224

David O'Brien replied:
"We don't yet support building 32-bit apps on a a 64-bit system. 
We only barely support *running* them at this point. " 
and then closed the pr.

It's rather amusing that known defects don't deserve open 
problem reports, and you can't really expect people to stop
submitting reports if you keep marking as closed the previous 
reports without fixing them.


===original contents of pr===
"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      

"





More information about the Users mailing list