diff options
Diffstat (limited to 'build')
-rwxr-xr-x | build | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -2,6 +2,16 @@ base_version = $$(printf '%s\n' '$(OPK_SOURCE)' | sed 's/^gcc-//') +# /lib/<target>/ld.so is a symbolic link for use by GCC to find the system's +# dynamic linker. It should be provided by the development package of any +# standard C library. +# ProteanOS GCC should build binaries with an ELF INTERP field as follows: +# /lib/<target>/<soname> +# <soname> is the SONAME of the target's dynamic linker. +elf_interp = /lib/$(target)/$(elf_interp_soname) +elf_interp_soname = $$(readelf -d "/lib/$(target)/ld.so" | \ + sed -n 's/^.*(SONAME).*\[\([^]]*\)\].*$$/\1/p') + common_opts = \ --with-pkgversion='GCC for ProteanOS' \ --program-suffix="-$(base_version)" \ @@ -11,6 +21,8 @@ common_opts = \ --without-included-gettext \ --with-nls \ --with-sysroot="$${OPK_SYSROOT:-/}" \ + --with-stage1-ldflags="-Wl,--dynamic-linker=$(elf_interp)" \ + --with-boot-ldflags="-Wl,--dynamic-linker=$(elf_interp)" \ --enable-clocale=gnu full_opts = \ |