2

(Ubuntu 10.10 で) gcc-4.0.4 をビルドすると、問題が発生します。

arm-linux-ar rc ./libgcc.a libgcc/./_udivsi3.o libgcc/./_divsi3.o libgcc/./_umodsi3.o libgcc/./_modsi3.o libgcc/./_dvmd_lnx.o libgcc/./ _muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf .o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi. o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_enable_execute_stack.o libgcc/./トランポリン.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/ ./ 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/./unwind -dw2.o libgcc/./unwind-dw2-fde-glibc.o libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./unwind-co * バッファ オーバーフローが検出されました *: arm-linux-ar 終了 ======= バックトレース: ========= /lib/libc.so.6(__fortify_fail+0x50)[0x8f1890] /lib/libc.so.6( +0xe478a)[0x8f078a] /lib/libc.so.6(+0xe3ec8)[0x8efec8] /lib/libc.so.6(_IO_default_xsputn+0x9e)[0x8765ee] /lib/libc.so.6(_IO_padn+0xd8) [0x869f78] /lib/libc.so.6(_IO_vfprintf+0x2b79)[0x84bd89] /lib/libc.so.6(__vsprintf_chk+0xad)[0x8eff7d] /lib/libc.so.6(__sprintf_chk+0x2d)[0x8efebd ] アーム-linux-ar[0x8050c05] アーム-linux-ar[0x804ed7e] アーム-linux-ar[0x805168c] アーム-linux-ar[0x8055178] アーム-linux-ar[0x804b7d2] アーム-linux-ar[0x804c494] / lib/libc.so.6(__libc_start_main+0xe7)[0x822ce7] arm-linux-ar[0x80496e1] ======= メモリマップ: ======== 003e4000-00400000 r-xp 00000000 08: 01 131636 /lib/ld-2.12.1.so 00400000-00401000 r--p 0001b000 08:01 131636 /lib/ld-2.12.1.so 00401000-00402000 rw-p 0001c000 08:01 131636 /lib/ld-2.12.1.so 006b2000-006cc000 r-xp 00000000 08:01 131244 /lib/libgcc_s.so.1 006cc000-006cd000 r--p 00019000 08:01 131244 /lib/solibgcc_ 1 006cd000-006ce000 rw-p 0001a000 08:01 131244 /lib/libgcc_s.so.1 0080c000-00963000 r-xp 00000000 08:01 132225 /lib/libc-2.12.1.so 005 r7000-009 005 r7000-009 :01 132225 /lib/libc-2.12.1.so 00965000-00966000 rw-p 00159000 08:01 132225 /lib/libc-2.12.1.so 00966000-00969000 rw-p 00000000 00:00 20 00-0004 xp 00000000 00:00 0 [vdso] 08048000-08097000 r-xp 00000000 08:01 4278511 0080c000-00963000 r-xp 00000000 08:01 132225 /lib/libc-2.12.1.so 00963000-00965000 r--p 00157000 08:01 132225 /lib/libc-2.1200.1.so 0096059rw-6000 00159000 08:01 132225 /lib/libc-2.12.1.so 00966000-00969000 RW-P 000000000000:00 0 00A42000-00A43000 R-XP 00000000:00 0 [VDSO] 4278511 0080c000-00963000 r-xp 00000000 08:01 132225 /lib/libc-2.12.1.so 00963000-00965000 r--p 00157000 08:01 132225 /lib/libc-2.1200.1.so 0096059rw-6000 00159000 08:01 132225 /lib/libc-2.12.1.so 00966000-00969000 RW-P 000000000000:00 0 00A42000-00A43000 R-XP 00000000:00 0 [VDSO] 427851
/home/zouhansi/armlinux/tools/bin/arm-linux-ar 08097000-08098000 r--p 0004e000 08:01 427851
/home/zouhansi/armlinux/tools/bin/arm-linux-ar 08098000-08099000 rw-p 0004f000 08:01 427851
/home/zouhansi/armlinux/tools/bin/arm-linux-ar 08099000-0809d000 rw-p 00000000 00:00 0 09354000-09558000 rw-p 00000000 00:00 0
[ヒープ] r07c00 b8-c00 --s 00000000 08:01 661517
/usr/lib/gconv/gconv-modules.cache b74c8000-b765b000 r--p 002a3000 08:01 657761 /usr/lib/locale/locale-archive b765b000-b785b000 r--p 00000000 08:01 657761 /usr/lib/locale/locale-archive b785b000-b785c000 rw-p 00000000 00:00 0 b785f000-b786b000 rw-p 00000000 00:00 0 bf839000-bf85c000 rw-p 0
00

CFLAGSに「-D_FORTIFY_SOURCE = 0」を追加するためのネットワークからの解決策を見つけました。次のように Makefile を編集しました: CFLAGS_FOR_BUILD = -g -O2 -D_FORTIFY_SOURCE=0

また作ります。しかし、この問題は再び発生します。

コメントをいただけますか?どうもありがとう。

4

2 に答える 2

0

GCC を最新バージョンのbinutilsでクロスコンパイルした後、動作し、バッファ オーバーフローが発生しなくなりました。

これは、最新の binutils をインストールした後に使用した行です。

../gcc-4.5.1/configure --target=arm-linux --prefix=/.../toolchain/bin/binutils --disable-nls --disable-multilib --disable-shared --disable-decimal-float --disable--threads --disable-libmudflap --disable-libssp --disable-libgomp --enable-languages=c --with-system-zlib --with-newlib
于 2016-07-23T00:00:52.320 に答える