diff options
-rwxr-xr-x | build | 12 | ||||
-rw-r--r-- | targets.d/core-linux-eglibc.sh | 2 |
2 files changed, 14 insertions, 0 deletions
@@ -69,6 +69,18 @@ configure: $(configure_targets) touch $@ $(build_targets): configure + # Set the default dynamic linker path inserted into ELF INTERP fields. + # These default values are in header files in gcc/config. They must be + # edited here rather than in a patch because any given GCC target + # configuration can be used by multiple ProteanOS targets. + set -e; \ + . "../targets.d/$(target).sh"; \ + mv "src/gcc/config/$${gcc_config_file}" \ + "src/gcc/config/$${gcc_config_file}~"; \ + define_pattern=".define $${gcc_config_interp_macro}"; \ + sed "s|^\($${define_pattern}\) \".*\"$$|\1 \"$(elf_interp)\"|" \ + "src/gcc/config/$${gcc_config_file}~" \ + >"src/gcc/config/$${gcc_config_file}" if [ "x$(target)" = 'x$(OPK_HOST_ARCH)' ]; then \ $(MAKE) -f ../build "buildnative-$(target)"; \ else \ diff --git a/targets.d/core-linux-eglibc.sh b/targets.d/core-linux-eglibc.sh new file mode 100644 index 0000000..c5315a0 --- /dev/null +++ b/targets.d/core-linux-eglibc.sh @@ -0,0 +1,2 @@ +gcc_config_file='i386/linux64.h' +gcc_config_interp_macro='GLIBC_DYNAMIC_LINKER64' |