Seems the filter-flags in dietlibc 0.24 ebuild is somewhat broken. It doesn't filter out the "-fstack-protector" which results in compilation errors. CFLAGS="-O3 -march=i686 -funroll-loops -pipe -fstack-protector" A line from the build process: gcc -I. -Iinclude -O3 -march=i686 -funroll-loops -pipe -fstack-protector -c syscalls.s/sched_get_priority_max.S -o bin-i386/sched_get_priority_max.o My portage version: 2.0.49-r18 BTW: in the grub ebuild the filter-flags works, seems its really dietlibc-ebuild specific. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Ok I had a deeper look into the ebuild now. filter-flags should go into src_unpack
src_unpack() { unpack ${A} ; cd ${S} epatch ${FILESDIR}/${PV}-dirent-prototype.patch # depending on glibc to provide guard symbols, does not work with -nostdlib building filter-flags "-fstack-protector" filter-flags "fstack-protector-all" sed -i \ -e "s:^CFLAGS.*:CFLAGS = ${CFLAGS}:" \ -e "s:^prefix.*:prefix=/usr/diet:" \ -e "s:^#DESTDIR=.*:DESTDIR=${D}:" Makefile || \ die "sed Makefile failed" ht_fix_all } src_compile() { filter-flags "-fstack-protector" the second filter-flags in src_compile is useless because the sed logic to insert the CFLAGS comes before in src_unpack >>> dev-libs/dietlibc-0.24 merged. hooray, Alex