Created attachment 442630 [details] genkernel output sys-devel/binutils-2.25.1-r1 ld buffer overflow when env too big and LANG=bg_BG.utf8 steps to reproduce: # emerge genkernel[-next] # export LANG=bg_BG.utf8 # genkernel --no-clean --no-mrproper --lvm --btrfs --luks --e2fsprogs --color --loglevel=5 --firmware --compress-initramfs-type=gzip initramfs expected result: Shiny new initrd file in /boot Actual result: busybox build fails see attachment 1 [details] Workaround: # env -u LANG genkernel --no-clean --no-mrproper --lvm --btrfs --luks --e2fsprogs --color --loglevel=5 --firmware --compress-initramfs-type=gzip initramfs Note: You might actually need to have bg_BG.utf8 locale to reproduce this I haven't check.
Created attachment 442632 [details] emerge --info
Well it looks the attachment numbers are global. Please disregard "attachment 1 [details]" in the description.
Another way to reproduce it: # export LANG=bg_BG.utf8 # cd /usr/portage/sys-apps/busybox # ebuild busybox-1.24.2.ebuild clean configure # cd /var/tmp/portage/sys-apps/busybox-1.24.2/work/busybox-1.24.2 # make It's somehow related to -Wl,-Map,.. because if I remove it the build is successful. -Wl,-Map, is located in /var/tmp/portage/sys-apps/busybox-1.24.2/work/busybox-1.24.2/scripts/trylink > INFO_OPTS="-Wl,--warn-common -Wl,-Map,$EXE.map -Wl,--verbose"
(In reply to blackd from comment #3) thanks for the simple reproducer, but it's not reproducing for me :/ can you find a way that fails involving: env -i PATH="$PATH" LANG="$LANG" make
Hi, For me it's 100% reproducible on 2 different installation fallowing these steps. 1. edit /etc/locale.gen to only have > en_US.UTF-8 UTF-8 > bg_BG.UTF-8 UTF-8 2. # locale-gen 3. fallow the steps form comment 3 with make changed to env -i PATH="$PATH" LANG="$LANG" make
i don't think it's related, but your global compiler settings are broken. you should never put -fPIC into CFLAGS/CXXFLAGS. please delete those and rebuild binutils and see if it happens to improve things.
Created attachment 442894 [details] emerge --info second machine One of the computers doesn't have -fPIC in CLFAGS
when the make fails, it should show a line like "Output of: x86_64-pc-linux-gnu-gcc........". can you try running that line it shows and see if it fails ? if it does, try deleting the -Wl,-Map,busybox_unstripped.map -Wl,--verbose flags and see if it still crashes.
Created attachment 442902 [details] successful run output Successful run output: env -i PATH="$PATH" x86_64-pc-linux-gnu-gcc ... (full command in the attachment)
Created attachment 442904 [details] Failed run output env -i PATH="$PATH" LANG="$LANG" x86_64-pc-linux-gnu-gcc ...
Created attachment 442910 [details] backtrace
(In reply to SpanKY from comment #8) > when the make fails, it should show a line like "Output of: > x86_64-pc-linux-gnu-gcc........". can you try running that line it shows > and see if it fails ? > > if it does, try deleting the -Wl,-Map,busybox_unstripped.map -Wl,--verbose > flags and see if it still crashes. Doesn't crash when I remove -Wl,-Map,busybox_unstripped.map Removing -Wl,--verbose doesn't make any difference.
2.26.1 & 2.27 are in the tree now. can you give them a try ?