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] |