summaryrefslogtreecommitdiff
blob: 0e2393cc2741f0deecc87c7fca14fe7252290b51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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 $@