diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-11-04 10:16:08 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-11-04 10:19:20 +0000 |
commit | 26a7caea7e40a8bcda903705376cc9209dced9fa (patch) | |
tree | ae0f49d5c6750a8841ab75a30cf4ad67e3b01aa2 /app-emulation/dosemu | |
parent | sys-process/vixie-cron: stable 4.1-r15 for hppa/sparc, bug #635868 (thanks to... (diff) | |
download | gentoo-26a7caea7e40a8bcda903705376cc9209dced9fa.tar.gz gentoo-26a7caea7e40a8bcda903705376cc9209dced9fa.tar.bz2 gentoo-26a7caea7e40a8bcda903705376cc9209dced9fa.zip |
app-emulation/dosemu: unbreak misaligned .sys files, bug #631190
In bug #618366 I've added -no-pie LDFLAGS propagation to 16-bit targets
but did not notice dosemu has different varying base addresses for
different .com files (and I've overlooked 0-based .sys rules).
Specifying wrong base address caused incorrect jump offsets
into the final binary. That caused crash and hangup of cdrom.sys
driver.
This change restores original base addresses.
Reported-by: Tom
Reported-by: Robert Gill
Bug: https://bugs.gentoo.org/631190
Package-Manager: Portage-2.3.13, Repoman-2.3.4
RepoMan-Options: --force
Diffstat (limited to 'app-emulation/dosemu')
-rw-r--r-- | app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild (renamed from app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild) | 0 | ||||
-rw-r--r-- | app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-ia16-ldflags.patch | 11 |
2 files changed, 5 insertions, 6 deletions
diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild index 8b5fcdc0a693..8b5fcdc0a693 100644 --- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild +++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild 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 index 0e2393cc2741..f8c05622571c 100644 --- 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 @@ -7,10 +7,9 @@ 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} +@@ -55,2 +55,3 @@ 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@ ++IA16_LDFLAGS_EXTRA:=@IA16_LDFLAGS_EXTRA@ LIBS:=@LIBS@ diff --git a/configure.ac b/configure.ac index 0f06f57..a86208e 100644 @@ -27,12 +26,12 @@ index 3139b85..c5c4607 100644 @@ -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 $@ $< ++ $(LD) $(ALL_LDFLAGS) -Wl,-Ttext,0,-e,_start16,--oformat,binary -nostdlib -s $(IA16_LDFLAGS_EXTRA) -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 $@ $< ++ $(LD) $(ALL_LDFLAGS) -Wl,-Ttext,100,-e,_start16,--oformat,binary -nostdlib -s $(IA16_LDFLAGS_EXTRA) -o $@ $< chmod -x $@ diff --git a/src/plugin/commands/Makefile b/src/plugin/commands/Makefile index 48f49d5..d3a5667 100644 @@ -41,5 +40,5 @@ index 48f49d5..d3a5667 100644 @@ -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 $@ $< ++ $(LD) $(ALL_LDFLAGS) -Wl,-Ttext,0x100,-e,_start16,--oformat,binary -nostdlib -s $(IA16_LDFLAGS_EXTRA) -o $@ $< chmod -x $@ |