gpt4 book ai didi

gcc - 在 Ubuntu 10.10 32 位上构建 gcc-4.0.4。检测到缓冲区溢出

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:35 25 4
gpt4 key购买 nike

When i build gcc-4.0.4 (on Ubuntu 10.10), there is a problem:

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/./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/./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-c.o * buffer overflow detected *: arm-linux-ar terminated ======= Backtrace: ========= /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] arm-linux-ar[0x8050c05] arm-linux-ar[0x804ed7e] arm-linux-ar[0x805168c] arm-linux-ar[0x8055178] arm-linux-ar[0x804b7d2] arm-linux-ar[0x804c494] /lib/libc.so.6(__libc_start_main+0xe7)[0x822ce7] arm-linux-ar[0x80496e1] ======= Memory map: ======== 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/libgcc_s.so.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 00963000-00965000 r--p 00157000 08: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 0 00a42000-00a43000 r-xp 00000000 00:00 0 [vdso] 08048000-08097000 r-xp 00000000 08:01 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
[heap] b74c1000-b74c8000 r--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 00000000 00:00 0
[stack]

I find some solution from network to add "-D_FORTIFY_SOURCE=0" in CFLAGS. I had edit Makefile like this: CFLAGS_FOR_BUILD = -g -O2 -D_FORTIFY_SOURCE=0

I make it again. But this problem is occured again.

Could you give some comments? Thanks a lot.

最佳答案

我在构建 GCC 交叉编译器时遇到了类似的问题 - 似乎 binutils 充满了对 sprintf() 的不安全调用。

对我有用的解决方法是设置:

export CFLAGS="-fno-stack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"

这些必须在 运行 ../src/configure 之前设置。

这里似乎有一个 binutils 补丁:http://www.redhat.com/archives/fedora-extras-commits/2009-November/msg06284.html但它并没有完全适用于我使用的源代码,所以我坚持使用 CFLAGS hack。

关于gcc - 在 Ubuntu 10.10 32 位上构建 gcc-4.0.4。检测到缓冲区溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com