| Summary: | glibc-2.4 compile fails with hardened gcc-3.4.5-r1 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Markus Dittrich (RETIRED) <markusle> |
| Component: | Hardened | Assignee: | The Gentoo Linux Hardened Team <hardened> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | major | CC: | toolchain |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
glibc-2.4 fails to compile with the hardened specs using gcc-3.4.5-r1 (see error below). However, with the hardenednopie-specs this error does not occur even though the compile bombs later on in some of the pic routines (libc_pic.a). Hence, the error seems somehow pie related. Thanks, Markus compile output: i686-pc-linux-gnu-gcc gconv_simple.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -march=pentium4 -pipe -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv -I/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv/i386 -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/ flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -o /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_simple.o -MD -MP -MF /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_simple.o.dt -MT /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_simple.o i686-pc-linux-gnu-gcc gconv_trans.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -march=pentium4 -pipe -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv -I/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv/i386 -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -o /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_trans.o -MD -MP -MF /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_trans.o.dt -MT /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_trans.o i686-pc-linux-gnu-gcc gconv_cache.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -march=pentium4 -pipe -Wstrict-prototypes -mpreferred-stack-boundary=2 -DGCONV_DIR='"/usr/lib/gconv"' -I../include -I/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv -I/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv/i386 -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/include - isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -o /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_cache.o -MD -MP -MF /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_cache.o.dt -MT /var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_cache.o gconv_cache.c: In function `__gconv_load_cache': gconv_cache.c:75: error: invalid `asm': operand number out of range gconv_cache.c:75: error: invalid `asm': operand number out of range gconv_cache.c:112: error: invalid `asm': operand number out of range gconv_cache.c:112: error: invalid `asm': operand number out of range {standard input}: Assembler messages: {standard input}:98: Error: non-constant expression in ".if" statement {standard input}:129: Error: non-constant expression in ".if" statement make[2]: *** [/var/tmp/portage/glibc-2.4/work/build-default-i686-pc-linux-gnu-nptl/iconv/gconv_cache.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/glibc-2.4/work/glibc-2.4/iconv' make[1]: *** [iconv/subdir_lib] Error 2 make[1]: Leaving directory `/var/tmp/portage/glibc-2.4/work/glibc-2.4' make: *** [all] Error 2 !!! ERROR: sys-libs/glibc-2.4 failed. Call stack: ebuild.sh, line 1933: Called dyn_compile ebuild.sh, line 971: Called src_compile glibc-2.4.ebuild, line 1263: Called toolchain-glibc_src_compile emerge info: Portage 2.1_pre5-r4 (hardened/x86/2.6, gcc-3.4.5-hardenednopie, glibc-2.3.6-r3, 2.6.14-PANDORA-13 i686) ================================================================= System uname: 2.6.14-PANDORA-13 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.80GHz Gentoo Base System version 1.6.14 ccache version 2.4 [enabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -fno-ident -mfpmath=sse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -fno-ident -mfpmath=sse" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache confcache cvs digest distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org/" LDFLAGS="-Wl,-O1 -Wl,-Bdirect" PKGDIR="/usr/portage//packages/x86/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa apm avi berkdb bitmap-fonts blas bzip2 cairo cdparanoia cmkopt crypt curl dbus directfb dlloader dri dvd dvdread dvi erandom esd examples exif expat fftw flac fortran gcj gd gdbm ggi gif gimpprint gnutls gpgme gphoto2 gpm gsl gtk gtk2 hardened idn imagemagick imap imlib irc ithreads jbig jpeg kde kdeenablefinal lcms ldap libcaca mad mikmod mmx mmx2 mng motif moznomail mp3 mpeg mplayer musicbrainz nas ncurses netcdf nls nntp nodroproot nptl nptlonly offensive ogg oggvorbis opengl oss pam pango pcmcia pdf perl pic png pnp pop python qt quicktime readline ruby sdl slang smime sndfile spell sse sse2 ssl stroke svg svga t1lib tcltk tcpd tetex tga threads tiff truetype truetype-fonts trusted type1-fonts unicode userlocales vorbis win32codecs x86 xgetdefault xine xml xml2 xrandr xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_ati" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LINGUAS, MAKEOPTS