On Fri, 2006-10-27 at 14:40 +0100, Rob Andrews wrote:
On 27-Oct-2006 09:38.02 (BST), Hans de Goede wrote:
- gcc ignores setarch
"gcc -o hello helloworld.c", creates an x86_64 elf file on my x86_64 system as expected however, "setarch i386 gcc -o hello helloworld.c" also creates an x86_64 elf file instead of an i386 one, to get an i386 one I must do: "gcc -m32 -o hello helloworld.c".
Should gcc pay heed to the uname-specified architecture?
Definitely no.
Rpm could do so, if it really wants.
You wouldn't expect setarch i386 to affect the behaviour of a cross compiler. rpmbuild already does The Right Thing(tm) with selecting -m32 when performing --target=i386 builds, it's just a shame it doesn't get %{_lib} and %{_libdir} correct.
Right, this one of the many bugs in redhat-rpm-config and rpm (For real rpm cross building the culprit is redhat-rpm-config).
Ralf