This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Building on a RH9.0 box, with either a RH9.0 gcc, or gcc-3.4.0 as the native compiler. I get the same failure using binutils-2.14 or 2.15. If I use gcc-3.3.2, the compile works fine.
../binutils-2.14/configure --target=arm-linux --prefix=/usr/local/xscale/3.4.0 --host=i686-pc-linux-gnu --with-cpu=xscale make make install
../gcc-3.4.0/configure --target=arm-linux --prefix=/usr/local/xscale/3.4.0 --host=i686-pc-linux-gnu --with-cpu=xscale \ --with-headers=/usr/src/xscale/elroy-jack/sw/linux-2.6.6/include --disable-shared --disable-threads --enable-languages=c \ --with-float=soft --disable-nls --enable--symvers=gnu --enable-__cxa_atexit make make install
../glibc-2.3.2/configure --host=arm-linux --build=i686-pc-linux-gnu \ --with-headers=/usr/src/xscale/elroy-jack/sw/linux-2.6.6/include \ --enable-add-ons=linuxthreads --enable-shared --prefix=/usr/local/xscale/3.4.0 \ --with-cpu=xscale --without-fp --enable-kernel=2.6.6 make make install
So what have I found out so far? A file .../sysdeps/generic/initfini.c is run through the compiler and generates an assembler file ..../csu/initfini.s.
Below is a copy of initfini.s It looks like the compiler did not do too good a job of generating it. The gcc-3.3.2 compiler did a much better job. Note how _BEGIN's and _END's are mixed up - eg. PROLOG_BEGIN with EPILOG_END. We all know what we can expect when this file is passed through sed - as shown in the transscript snippet.
>>>>>>>>>>>>>>>>>>>>>>>>>> .file "initfini.c" #APP
/*@_init_PROLOG_BEGINS*/ .section .init END_INIT
/*@_fini_PROLOG_BEGINS*/ .section .fini END_FINI
/*@TRAILER_BEGINS*/ .text .align 2 .global dummy .type dummy, %function dummy: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 cmp r0, #0 str lr, [sp, #-4]! ldreq pc, [sp], #4 mov lr, pc mov pc, r0 ldr pc, [sp], #4 .align 2 .global _init .type _init, %function _init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {sl, lr} ldr sl, .L8 ldr r3, .L8+4 .L7: add sl, pc, sl ldr r3, [sl, r3] cmp r3, #0 movne lr, pc movne pc, r3 .L6: #APP ALIGN END_INIT
/*@_init_EPILOG_BEGINS*/ .section .init ldmfd sp!, {sl, pc} .L9: .align 2 .L8: .word _GLOBAL_OFFSET_TABLE_-(.L7+8) .word __gmon_start__(GOT) .align 2 .global _fini .type _fini, %function _fini: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 str lr, [sp, #-4]! #APP ALIGN END_FINI
/*@_fini_PROLOG_ENDS*/ bl i_am_not_a_leaf(PLT) #APP
/*@_fini_EPILOG_BEGINS*/ .section .fini ldr pc, [sp], #4 .weak __gmon_start__ .ident "GCC: (GNU) 3.4.0"
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |