Source: gcc-8 Version: 8-20180218-1 Severity: wishlist We have long transitioned to PIE by default on all release architectures now. Still each gcc-V package tracks the architectures that enable PIE by default in an opt-in list (pie_archs).
Since it is the default, PIE is much better supported than !PIE now. For instance, musl-linux-mips fails building dash, because ld segfaults. Once enabling PIE for musl, it proceeds. Similarly, x32 fails linking systemd and it obviously is connected to !PIE: ld: /tmp/cc9ezYWe.ltrans0.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC Very likely, the riscv64 people want to enable PIE by default as well. Since it practically is the default "everywhere", can we move on to enable PIE for all "new" architectures by turning the opt-in list opt-out? While at it, can we keep this list as small as possible? At least for musl-linux-any and x32, we know that !PIE causes more harm than PIE. I've Cced this to d-devel to have people object, but I think the case is pretty clear at this point, because opt-out will reduce the maintenance cost. Helmut