summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-07-05 22:36:33 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2017-07-05 22:37:01 +0100
commit60c042fa6d30842870a81da6090fc39960304a27 (patch)
tree09536f0ee61b6e707b16bb2b7470c586565bfcc7 /app-emulation/dosemu/files
parentkde-apps/kgpg: Drop 16.12.3 (diff)
downloadgentoo-60c042fa6d30842870a81da6090fc39960304a27.tar.gz
gentoo-60c042fa6d30842870a81da6090fc39960304a27.tar.bz2
gentoo-60c042fa6d30842870a81da6090fc39960304a27.zip
app-emulation/dosemu: workaround ld.gold linking bug #618366
Reported-by: Martin Väth Bug: https://bugs.gentoo.org/618366 Bug: https://sourceware.org/PR21518 Package-Manager: Portage-2.3.6, Repoman-2.3.2
Diffstat (limited to 'app-emulation/dosemu/files')
-rw-r--r--app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fix-inline.patch14
-rw-r--r--app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-ia16-ldflags.patch45
2 files changed, 59 insertions, 0 deletions
diff --git a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fix-inline.patch b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fix-inline.patch
new file mode 100644
index 000000000000..9a515941b812
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fix-inline.patch
@@ -0,0 +1,14 @@
+diff --git a/src/dosext/sound/sound.c b/src/dosext/sound/sound.c
+index f33f78f..f429362 100644
+--- a/src/dosext/sound/sound.c
++++ b/src/dosext/sound/sound.c
+@@ -173,3 +173,3 @@ void sb_cms_write (ioport_t port, Bit8u value);
+
+-inline void sb_mixer_register_write (Bit8u value);
++static inline void sb_mixer_register_write (Bit8u value);
+ void sb_mixer_data_write (Bit8u value);
+@@ -840,3 +840,3 @@ void sb_cms_write (ioport_t port, Bit8u value)
+
+-inline void sb_mixer_register_write (Bit8u value)
++static inline void sb_mixer_register_write (Bit8u value)
+ {
diff --git a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-ia16-ldflags.patch b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-ia16-ldflags.patch
new file mode 100644
index 000000000000..0e2393cc2741
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-ia16-ldflags.patch
@@ -0,0 +1,45 @@
+Add a @IA16_LDFLAGS_EXTRA@ environment variable
+to be able to pass through -no-pie.
+
+It's a workaround for binutils ld.gold bug:
+https://bugs.gentoo.org/618366
+diff --git a/Makefile.conf.in b/Makefile.conf.in
+index cd4b34d..cc29931 100644
+--- a/Makefile.conf.in
++++ b/Makefile.conf.in
+@@ -55,2 +55,4 @@ ALL_LDFLAGS:=@DOSEMU_LDFLAGS@ ${LDFLAGS}
+ DOSBIN_LDFLAGS:=@DOSBIN_LDFLAGS@
++# flags to "link" 16-bit .com files
++IA16_LDFLAGS:=-Wl,-Ttext,0x100,-e,_start16,--oformat,binary -nostdlib -s @IA16_LDFLAGS_EXTRA@
+ LIBS:=@LIBS@
+diff --git a/configure.ac b/configure.ac
+index 0f06f57..a86208e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -604,2 +604,3 @@ AC_SUBST(X_LIBS)
+ AC_SUBST(X_CFLAGS)
++AC_SUBST(IA16_LDFLAGS_EXTRA)
+
+diff --git a/src/commands/Makefile b/src/commands/Makefile
+index 3139b85..c5c4607 100644
+--- a/src/commands/Makefile
++++ b/src/commands/Makefile
+@@ -56,3 +56,3 @@ dosbin: $(COM1) $(COM2) $(SYS)
+ $(D)/%.sys: %.o
+- $(LD) $(ALL_LDFLAGS) -Wl,-Ttext,0,-e,_start16,--oformat,binary -nostdlib -s -o $@ $<
++ $(LD) $(ALL_LDFLAGS) $(IA16_LDFLAGS) -o $@ $<
+ chmod -x $@
+@@ -60,3 +60,3 @@ $(D)/%.sys: %.o
+ $(D)/%.com: %.o
+- $(LD) $(ALL_LDFLAGS) -Wl,-Ttext,100,-e,_start16,--oformat,binary -nostdlib -s -o $@ $<
++ $(LD) $(ALL_LDFLAGS) $(IA16_LDFLAGS) -o $@ $<
+ chmod -x $@
+diff --git a/src/plugin/commands/Makefile b/src/plugin/commands/Makefile
+index 48f49d5..d3a5667 100644
+--- a/src/plugin/commands/Makefile
++++ b/src/plugin/commands/Makefile
+@@ -57,3 +57,3 @@ $(STUBFULL): $(D)/generic.com ./mkcomstub
+ $(D)/%.com: %.o
+- $(LD) $(ALL_LDFLAGS) -Wl,-Ttext,0x100,-e,_start16,--oformat,binary -nostdlib -s -o $@ $<
++ $(LD) $(ALL_LDFLAGS) $(IA16_LDFLAGS) -o $@ $<
+ chmod -x $@