[Comm] Кросскомпиляция

Alexander Gvozdev =?iso-8859-1?q?alexander=2Egvozdev_=CE=C1_gmail=2Ecom?=
Вс Апр 22 03:08:09 MSD 2007


Разобрался с компиляцией gcc. Ему сначала нужен был binutils под powerpc.
Теперь появилась другая проблема - buffer overflow:
------------
powerpc-405-linux-gnu-ar  rc ./libgcc.a libgcc/./_muldi3.o libgcc/./_negdi2.o 
libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o 
libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_clear_cache.o 
libgcc/./_enable_execute_stack.o libgcc/./_trampoline.o libgcc/./__main.o 
libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o 
libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o 
libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o 
libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_ffssi2.o libgcc/./_ffsdi2.o 
libgcc/./_clz.o libgcc/./_clzsi2.o libgcc/./_clzdi2.o libgcc/./_ctzsi2.o 
libgcc/./_ctzdi2.o libgcc/./_popcount_tab.o libgcc/./_popcountsi2.o 
libgcc/./_popcountdi2.o libgcc/./_paritysi2.o libgcc/./_paritydi2.o 
libgcc/./_powisf2.o libgcc/./_powidf2.o libgcc/./_powixf2.o 
libgcc/./_powitf2.o libgcc/./_mulsc3.o libgcc/./_muldc3.o libgcc/./_mulxc3.o 
libgcc/./_multc3.o libgcc/./_divsc3.o libgcc/./_divdc3.o libgcc/./_divxc3.o 
libgcc/./_divtc3.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfsi.o 
libgcc/./_fixunsxfsi.o libgcc/./_fixsfdi.o libgcc/./_fixunssfdi.o 
libgcc/./_floatdisf.o libgcc/./_fixdfdi.o libgcc/./_fixunsdfdi.o 
libgcc/./_floatdidf.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o 
libgcc/./_floatdixf.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o 
libgcc/./_floatditf.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o 
libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o 
libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./_pack_sf.o 
libgcc/./_unpack_sf.o libgcc/./_addsub_sf.o libgcc/./_mul_sf.o 
libgcc/./_div_sf.o libgcc/./_fpcmp_parts_sf.o libgcc/./_compare_sf.o 
libgcc/./_eq_sf.o libgcc/./_ne_sf.o libgcc/./_gt_sf.o libgcc/./_ge_sf.o 
libgcc/./_lt_sf.o libgcc/./_le_sf.o libgcc/./_unord_sf.o libgcc/./_si_to_sf.o 
libgcc/./_sf_to_si.o libgcc/./_negate_sf.o libgcc/./_make_sf.o 
libgcc/./_sf_to_df.o libgcc/./_thenan_sf.o libgcc/./_sf_to_usi.o 
libgcc/./_usi_to_sf.o libgcc/./_pack_df.o libgcc/./_unpack_df.o 
libgcc/./_addsub_df.o libgcc/./_mul_df.o libgcc/./_div_df.o 
libgcc/./_fpcmp_parts_df.o libgcc/./_compare_df.o libgcc/./_eq_df.o 
libgcc/./_ne_df.o libgcc/./_gt_df.o libgcc/./_ge_df.o libgcc/./_lt_df.o 
libgcc/./_le_df.o libgcc/./_unord_df.o libgcc/./_si_to_df.o 
libgcc/./_df_to_si.o libgcc/./_negate_df.o libgcc/./_make_df.o 
libgcc/./_df_to_sf.o libgcc/./_thenan_df.o libgcc/./_df_to_usi.o 
libgcc/./_usi_to_df.o libgcc/./tramp.o libgcc/./darwin-ldouble.o 
libgcc/./eabi.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde-glibc.o 
libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./unwind-c.o
*** buffer overflow detected ***: powerpc-405-linux-gnu-ar terminated
======= Backtrace: =========
/lib64/libc.so.6(__chk_fail+0x2f)[0x2af389ec34ff]
/lib64/libc.so.6[0x2af389ec2ab9]
/lib64/libc.so.6(_IO_default_xsputn+0x8e)[0x2af389e5f69e]
/lib64/libc.so.6(_IO_padn+0x9b)[0x2af389e5489b]
/lib64/libc.so.6(_IO_vfprintf+0x25bd)[0x2af389e398ed]
/lib64/libc.so.6(__vsprintf_chk+0x9d)[0x2af389ec2b5d]
/lib64/libc.so.6(__sprintf_chk+0x80)[0x2af389ec2aa0]
powerpc-405-linux-gnu-ar[0x406785]
powerpc-405-linux-gnu-ar[0x407193]
powerpc-405-linux-gnu-ar[0x4078bb]
powerpc-405-linux-gnu-ar[0x40c7c5]
powerpc-405-linux-gnu-ar[0x4039ad]
powerpc-405-linux-gnu-ar[0x4045f1]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x2af389e14c14]
powerpc-405-linux-gnu-ar[0x401c79]
======= Memory map: ========
00400000-00487000 r-xp 00000000 03:4a 
3528217                            /home/gab/toolchain/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar
00687000-00688000 rw-p 00087000 03:4a 
3528217                            /home/gab/toolchain/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar
00688000-00c6a000 rw-p 00688000 00:00 0                                  
[heap]
2af389bde000-2af389bf6000 r-xp 00000000 03:03 
91406                      /lib64/ld-2.5.so
2af389bf6000-2af389bf7000 rw-p 2af389bf6000 00:00 0
2af389bf7000-2af389bf8000 r--p 00000000 03:03 
3633                       /usr/lib64/locale/ru_RU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
2af389bf8000-2af389bff000 r--s 00000000 03:03 
14855                      /usr/lib64/gconv/gconv-modules.cache
2af389c1f000-2af389c20000 rw-p 2af389c1f000 00:00 0
2af389c20000-2af389c5b000 r--p 00000000 03:03 
91519                      /usr/lib64/locale/ru_RU.utf8/LC_CTYPE
2af389c5b000-2af389d9b000 rw-p 2af389c5b000 00:00 0
2af389df5000-2af389df6000 r--p 00017000 03:03 
91406                      /lib64/ld-2.5.so
2af389df6000-2af389df7000 rw-p 00018000 03:03 
91406                      /lib64/ld-2.5.so
2af389df7000-2af389f26000 r-xp 00000000 03:03 
389                        /lib64/libc-2.5.so
2af389f26000-2af38a125000 ---p 0012f000 03:03 
389                        /lib64/libc-2.5.so
2af38a125000-2af38a128000 r--p 0012e000 03:03 
389                        /lib64/libc-2.5.so
2af38a128000-2af38a12a000 rw-p 00131000 03:03 
389                        /lib64/libc-2.5.so
2af38a12a000-2af38a130000 rw-p 2af38a12a000 00:00 0
2af38a130000-2af38a13d000 r-xp 00000000 03:03 
1433                       /lib64/libgcc_s.so.1
2af38a13d000-2af38a33d000 ---p 0000d000 03:03 
1433                       /lib64/libgcc_s.so.1
2af38a33d000-2af38a33e000 rw-p 0000d000 03:03 
1433                       /lib64/libgcc_s.so.1
7fff20eb4000-7fff20ecc000 rw-p 7fff20eb4000 00:00 0                      
[stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  
[vdso]
make[3]: *** [libgcc.a] Аварийный останов
make[3]: *** Удаляется файл `libgcc.a'
make[3]: Leaving directory 
`/home/gab/downloads/gcc-4.1.2/gcc-4.1.2/host-x86_64-unknown-linux-gnu/gcc'
make[2]: *** [stmp-multilib] Ошибка 2
make[2]: Leaving directory 
`/home/gab/downloads/gcc-4.1.2/gcc-4.1.2/host-x86_64-unknown-linux-gnu/gcc'
make[1]: *** [all-gcc] Ошибка 2
make[1]: Leaving directory `/home/gab/downloads/gcc-4.1.2/gcc-4.1.2'
make: *** [all] Ошибка 2
------------
как это победить?



Подробная информация о списке рассылки community