From af21d59362d83164f0c081598f0e001f8eca83a8 Mon Sep 17 00:00:00 2001
From: P. J. McDermott <pjm@nac.net>
Date: Sat, 27 Apr 2013 20:12:12 -0400
Subject: Edit default ELF INTERP paths in GCC config files.

---
diff --git a/build b/build
index 6cfcad3..75f05d6 100755
--- a/build
+++ b/build
@@ -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'
--
cgit v0.9.1