[LLVMbugs] [Bug 3502] New: Cross-compile llvm-gcc Linux x86 to arm-linux
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Sat Feb 7 07:47:02 PST 2009
http://llvm.org/bugs/show_bug.cgi?id=3502
Summary: Cross-compile llvm-gcc Linux x86 to arm-linux
Product: tools
Version: trunk
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: kdedevel at etotheipiplusone.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=2504)
--> (http://llvm.org/bugs/attachment.cgi?id=2504)
Revert some of 54175 to help ARM cross-compiler build
Hi all,
I'm quite new to this, so hopefully this is a real bug and not my fault :)
I'm trying to compile cross-compile llvm-gcc trunk for arm-linux from my
Kubuntu 8.04 x86 Linux install, and have run into many build errors, including
what appears to be an internal compiler error.
Firstly, the commit:
http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.h?r1=54175&r2=54174&pathrev=54175
seems to have removed some stuff necessary for arm.c and arm.md to compile on a
non-Darwin host - in particular, the definitions of MACHO_DYNAMIC_NO_PIC_P,
ENCODED_SHORT_CALL_ATTR_P and ENCODED_LONG_CALL_ATTR_P. Reverting some of
these changes allows us to proceed (see attached patch).
After that, I ./configure llvm-gcc trunk from an obj/ subdir as follows (the
full path to this obj/ dir is
/home/kde4daily/tmp/funkytown-sdl/llvm-arm/src/llvm-gcc/obj/./gcc/xgcc) :
./configure --prefix=/home/kde4daily/tmp/funkytown-sdl/llvm-arm/install
--enable-languages=c,c++ --enable-checking --disable-bootstrap
--disable-multilib --target=arm-linux --build=i686-pc-linux-gnu
--host=i686-pc-linux-gnu
--with-build-sysroot=/home/kde4daily/tmp/funkytown-sdl/llvm-arm/install/
--with-llvm=$LLVMOBJDIR
(the same configuration, passed to stock gcc 4.2, leads to a successful cross
compilation, so I think this is llvm-gcc-specific).
Running make eventually descends into
/home/kde4daily/tmp/funkytown-sdl/llvm-arm/src/llvm-gcc/obj/gcc/ and tries to
run the "xgcc" executable that has been created on crtstuff.c and an internal
compiler error is generated. After getting the preprocessed stuff and ditching
all the -I and -D flags, I've reduced the call to the relatively
self-contained:
/home/kde4daily/tmp/funkytown-sdl/llvm-arm/src/llvm-gcc/obj/./gcc/xgcc
-B/home/kde4daily/tmp/funkytown-sdl/llvm-arm/src/llvm-gcc/obj/./gcc/ -g -O2
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -g0 -finhibit-size-directive -fno-inline-functions
-fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fPIC
-c crtstuff-preprocessed.c -o crtbeginS.o
(crtstuff-preprocessed.c is attached) and the following error is produced:
../../gcc/crtstuff.c: In function ‘__do_global_dtors_aux’:
../../gcc/crtstuff.c:334: internal compiler error: in mark_jump_label, at
jump.c:1144
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
The corresponding call, adapted for cross-compilation of the stock gcc 4.2,
works without incident.
If you need any more info, please let me know :)
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list