Support for cc -m32
Nathan Whitehorn
nwhitehorn at freebsd.org
Fri Jul 30 12:11:17 UTC 2010
On 07/30/10 10:53, Tijl Coosemans wrote:
> On Friday 30 July 2010 00:27:16 Nathan Whitehorn wrote:
>
>> On 07/29/10 17:18, Tijl Coosemans wrote:
>>
>>> I've put the initial version of some patches online to support cross
>>> compilation of 32 bit binaries on amd64. It's modelled after how NetBSD
>>> does this.
>>>
>>> With these patches something like "cc -m32 -o test test.c -pthread -lm"
>>> generates a program that runs on FreeBSD/i386.
>>>
>>> http://people.freebsd.org/~tijl/cc-m32-1.diff
>>> http://people.freebsd.org/~tijl/cc-m32-2.diff
>>> http://people.freebsd.org/~tijl/cc-m32-3.diff
>>>
>>> *cc-m32-1.diff* : Let ld and cc find 32 bit libraries.
>>>
>> Why not use the GCC multilib code for what patch 1 does? There is
>> already code in cc_tools/Makefile to handle this for powerpc64 (where
>> cc -m32 already works).
>>
> Thanks, it's indeed better to specify this per architecture so I've
> updated the patch. It changes the output of -print-search-dirs though.
>
> With the previous patch "cc -m32 -print-search-dirs" printed:
>
> install: /usr/libexec/
> programs: =/usr/bin/:/usr/bin/:/usr/libexec/:/usr/libexec/:/usr/libexec/
> libraries: =/usr/lib32/:/usr/lib32/
>
> And now it prints:
>
> install: /usr/libexec/
> programs: =/usr/bin/:/usr/bin/:/usr/libexec/:/usr/libexec/:/usr/libexec/
> libraries: =/usr/lib/32/:/usr/lib/../lib32/:/usr/lib/:/usr/lib/
>
> That works, but it's not entirely correct.
>
That's just an artifact of the way multilib works, I'm afraid. Is there
a reason it could be harmful?
-Nathan
More information about the freebsd-arch
mailing list