[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gcc fails to build w/bash-4.4_alpha

From: Mike Frysinger
Subject: gcc fails to build w/bash-4.4_alpha
Date: Tue, 14 Jul 2015 02:33:06 -0400

Configuration Information:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' 
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu' 
-DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash' 
-g -O2 -Wno-parentheses -Wno-format-security
uname output: Linux vapier 4.0.0 #52 SMP PREEMPT Sun Apr 19 01:10:37 EDT 2015 
x86_64 AMD Phenom(tm) II X4 980 Processor AuthenticAMD GNU/Linux
Machine Type: x86_64-unknown-linux-gnu

Bash Version: 4.4
Patch Level: 0
Release Status: alpha


no patches applied; just ran:
        ./configure --with-bash-malloc --enable-mem-scramble
then used the resulting ./bash for tests.

since upgrading to bash-4.4-alpha, gcc failed to build on my system.
narrowing it down (a bit), it's this command line:
-B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include  
-mx32 -O2  -O2 -march=amdfam10 -pipe -g -Wimplicit-function-declaration 
-DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem 
./include   -fpic -mlong-double-80 -g -DIN_LIBGCC2 -fbuilding-libgcc 
-fno-stack-protector -fstack-check=no  -shared -nodefaultlibs 
-Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o 
x32/libgcc_s.so.1.tmp -O2 -march=amdfam10 -pipe -g 
-Wimplicit-function-declaration -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o 
_ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o 
_trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o 
_subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o 
_ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o 
_ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o 
_paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulsc3_s.o _muldc3_s.o 
_mulxc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o 
_clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o 
_fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o 
_fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o 
_floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o 
_umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o cpuinfo_s.o sfp-exceptions_s.o 
addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o 
fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o 
floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o 
floatuntitf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o 
trunctfdf2_s.o trunctfxf2_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o 
_multc3_s.o _powitf2_s.o enable-execute-stack_s.o unwind-dw2_s.o 
unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc \
        && rm -f x32/libgcc_s.so \
        && if [ -f x32/libgcc_s.so.1 ]; then mv -f x32/libgcc_s.so.1 
x32/libgcc_s.so.1.backup; else true; fi \
        && mv x32/libgcc_s.so.1.tmp x32/libgcc_s.so.1 \
        && ln -s libgcc_s.so.1 x32/libgcc_s.so

if i run the same make with SHELL set to bash-4.3, it passes fine.

if i rip out that command line and run it in a standalone script w/bash-4.4, it 
passes fine.

running it with set -x shows that it runs the xgcc & rm steps, but that's it.
using strace shows xgcc and rm both exit(0), but for some reason bash does
not continue to the following commands like it should.

if i change the && to a ; after the first rm, it still stops executing at that 
point.  if i change the && to a ; after the xgcc command, then the rest of the
commands run fine.

attached is the strace.  it is not in fork mode, yet the shell clearly does an
exec into the rm tool.  looks like bash, for some reason, thinks this is the
end of the possible commands and so does an optimization to exec into it ?

Attachment: bash-4.4-strace.log.gz
Description: Binary data

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]