summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-08-15 16:46:13 -0400
committermidipix <writeonce@midipix.org>2019-08-15 16:46:13 -0400
commited247646c084908726debcded51ca2439b13bcdc (patch)
treea33274b3f68c314eb9c3aaf9fc61144932d9945f
parentcb00947b9e9f48acfd1661cc0dfaff75a5fbbb07 (diff)
downloadchainport-ed247646c084908726debcded51ca2439b13bcdc.tar.bz2
chainport-ed247646c084908726debcded51ca2439b13bcdc.tar.xz
binutils-2.24.51: midipix targets: enable the perk and mdso library interfaces.
-rw-r--r--binutils-2.24.51.midipix.patch63
1 files changed, 50 insertions, 13 deletions
diff --git a/binutils-2.24.51.midipix.patch b/binutils-2.24.51.midipix.patch
index de04683..c9a4f73 100644
--- a/binutils-2.24.51.midipix.patch
+++ b/binutils-2.24.51.midipix.patch
@@ -1,10 +1,13 @@
diff -ru --new-file a/bfd/midipix.h b/bfd/midipix.h
--- a/bfd/midipix.h 1969-12-31 19:00:00.000000000 -0500
+++ b/bfd/midipix.h 2015-03-11 17:23:18.492453732 -0400
-@@ -0,0 +1,10 @@
+@@ -0,0 +1,13 @@
+#ifndef MIDIPIX_H
+#define MIDIPIX_H
+
++#include <perk/perk.h>
++#include <mdso/mdso.h>
++
+#define PE_TARGET_MIDIPIX
+
+#define PE_DSO_SUFFIX ".so"
@@ -14,13 +17,14 @@ diff -ru --new-file a/bfd/midipix.h b/bfd/midipix.h
+#endif
--- a/ld/configure 2014-07-03 01:37:48.000000000 -0400
+++ b/ld/configure 2015-03-11 20:01:08.888756786 -0400
-@@ -19773,3 +19773,23 @@
+@@ -19773,3 +19773,24 @@
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
-+sed -i -e 's/@pe_executable_name@/'$PE_EXECUTABLE_NAME'/g' Makefile
-+sed -i -e 's/@pe_crt_section@/'$PE_CRT_SECTION'/g' Makefile
-+sed -i -e 's/@pe_cygwin_fork_support@/'$PE_CYGWIN_FORK_SUPPORT'/g' Makefile
++sed -i -e 's/@pe_executable_name@/'"$PE_EXECUTABLE_NAME"'/g' Makefile
++sed -i -e 's/@pe_framework_libs@/'"$PE_FRAMEWORK_LIBS"'/g' Makefile
++sed -i -e 's/@pe_crt_section@/'"$PE_CRT_SECTION"'/g' Makefile
++sed -i -e 's/@pe_cygwin_fork_support@/'"$PE_CYGWIN_FORK_SUPPORT"'/g' Makefile
+
+#PE custom import library support
+if [ -f peimplib.h ]; then
@@ -330,20 +334,21 @@ diff -ru --new-file a/ld/emultempl/pep.em b/ld/emultempl/pep.em
/* Note: If adding more formats to this table, make sure to check to
diff -ru --new-file a/ld/configure.tgt b/ld/configure.tgt
--- a/ld/configure.tgt 2014-07-03 01:37:48.000000000 -0400
-+++ b/ld/configure.tgt 2015-03-11 20:09:20.564772519 -0400
-@@ -319,6 +319,11 @@
++++ b/ld/configure.tgt 2019-08-15 06:52:04.192983142 -0400
+@@ -319,6 +319,12 @@
test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
i[3-7]86-*-mingw32*) targ_emul=i386pe ;
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+i[3-7]86-*-midipix*) targ_emul=i386pe ;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;
++ PE_FRAMEWORK_LIBS="-lperk -lmdso" ;
+ PE_EXECUTABLE_NAME=a.out ;
+ PE_CRT_SECTION=no ;
+ PE_CYGWIN_FORK_SUPPORT=no ;;
x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ;
targ_extra_emuls=i386pe ;
targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;;
-@@ -329,7 +333,13 @@
+@@ -329,7 +335,14 @@
x86_64-*-mingw*) targ_emul=i386pep ;
targ_extra_emuls=i386pe
targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;;
@@ -351,6 +356,7 @@ diff -ru --new-file a/ld/configure.tgt b/ld/configure.tgt
+x86_64-*-midipix*) targ_emul=i386pep ;
+ targ_extra_emuls=i386pe ;
+ targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;
++ PE_FRAMEWORK_LIBS="-lperk -lmdso" ;
+ PE_EXECUTABLE_NAME=a.out ;
+ PE_CRT_SECTION=no ;
+ PE_CYGWIN_FORK_SUPPORT=no ;;
@@ -358,7 +364,7 @@ diff -ru --new-file a/ld/configure.tgt b/ld/configure.tgt
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-beospe*) targ_emul=i386beos ;;
i[3-7]86-*-beos*) targ_emul=elf_i386_be ;;
-@@ -825,6 +836,10 @@
+@@ -825,6 +838,10 @@
*-*-linux*)
;;
@@ -371,26 +377,57 @@ diff -ru --new-file a/ld/configure.tgt b/ld/configure.tgt
diff -ru --new-file a/ld/Makefile.in b/ld/Makefile.in
--- a/ld/Makefile.in 2014-07-03 01:37:48.000000000 -0400
-+++ b/ld/Makefile.in 2015-03-11 20:09:38.972773108 -0400
-@@ -54,6 +54,9 @@
++++ b/ld/Makefile.in 2019-08-15 05:53:23.807970635 -0400
+@@ -54,6 +54,10 @@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = ld-new$(EXEEXT)
+PE_EXECUTABLE_NAME = @pe_executable_name@
++PE_FRAMEWORK_LIBS = @pe_framework_libs@
+PE_CRT_SECTION = @pe_crt_section@
+PE_CYGWIN_FORK_SUPPORT = @pe_cygwin_fork_support@
# Automake 1.9 will only build info files in the objdir if they are
# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
-@@ -831,7 +833,7 @@
+@@ -831,7 +835,7 @@
POTFILES = $(CFILES) $(HFILES) $(EMULATION_FILES)
# These all start with e so 'make clean' can find them.
-GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@
-+GENSCRIPTS = EXECUTABLE_NAME='${PE_EXECUTABLE_NAME}' PE_CRT_SECTION='${PE_CRT_SECTION}' PE_CYGWIN_FORK_SUPPORT='${PE_CYGWIN_FORK_SUPPORT}' LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@
++GENSCRIPTS = EXECUTABLE_NAME='${PE_EXECUTABLE_NAME}' PE_FRAMEWORK_LIBS='${PE_FRAMEWORK_LIBS}' PE_CRT_SECTION='${PE_CRT_SECTION}' PE_CYGWIN_FORK_SUPPORT='${PE_CYGWIN_FORK_SUPPORT}' LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@
GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
ELF_DEPS = $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/scripttempl/DWARF.sc
ELF_GEN_DEPS = $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/emultempl/genelf.em $(srcdir)/scripttempl/DWARF.sc
+@@ -1032,7 +1036,7 @@
+ else :; fi
+ ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES)
+ @rm -f ld-new$(EXEEXT)
+- $(LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS)
++ $(LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS) $(PE_FRAMEWORK_LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -3411,16 +3415,16 @@
+ ld-partial.@OBJEXT@: ld-new$(EXEEXT)
+ ./ld-new$(EXEEXT) $(HOSTING_EMU) -o ld-partial.@OBJEXT@ -r $(OFILES)
+ ld1$(EXEEXT): ld-partial.@OBJEXT@
+- ./ld-new$(EXEEXT) $(HOSTING_EMU) -o ld1$(EXEEXT) $(HOSTING_CRT0) ld-partial.@OBJEXT@ $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS)
++ ./ld-new$(EXEEXT) $(HOSTING_EMU) -o ld1$(EXEEXT) $(HOSTING_CRT0) ld-partial.@OBJEXT@ $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS) $(PE_FRAMEWORK_LIBS)
+
+ ld1-full$(EXEEXT): ld-new
+- ./ld-new$(EXEEXT) $(HOSTING_EMU) -o ld1-full$(EXEEXT) $(HOSTING_CRT0) $(OFILES) $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS)
++ ./ld-new$(EXEEXT) $(HOSTING_EMU) -o ld1-full$(EXEEXT) $(HOSTING_CRT0) $(OFILES) $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS) $(PE_FRAMEWORK_LIBS)
+
+ ld2$(EXEEXT): ld1$(EXEEXT)
+- ./ld1$(EXEEXT) $(HOSTING_EMU) -o ld2$(EXEEXT) $(HOSTING_CRT0) $(OFILES) $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS)
++ ./ld1$(EXEEXT) $(HOSTING_EMU) -o ld2$(EXEEXT) $(HOSTING_CRT0) $(OFILES) $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS) $(PE_FRAMEWORK_LIBS)
+
+ ld3$(EXEEXT): ld2$(EXEEXT)
+- ./ld2$(EXEEXT) $(HOSTING_EMU) -o ld3$(EXEEXT) $(HOSTING_CRT0) $(OFILES) $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS)
++ ./ld2$(EXEEXT) $(HOSTING_EMU) -o ld3$(EXEEXT) $(HOSTING_CRT0) $(OFILES) $(TESTBFDLIB) $(LIBIBERTY) $(HOSTING_LIBS) $(LIBS) $(PE_FRAMEWORK_LIBS)
+
+ bootstrap: ld3$(EXEEXT)
+ cmp ld2$(EXEEXT) ld3$(EXEEXT)
diff -ru --new-file a/ld/scripttempl/pep.sc b/ld/scripttempl/pep.sc
--- a/ld/scripttempl/pep.sc 2014-07-03 01:37:48.000000000 -0400
+++ b/ld/scripttempl/pep.sc 2015-03-11 20:10:05.324773952 -0400