aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-09-14 18:08:36 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-09-14 18:08:36 -0700
commit558c6e46f24018f2be0ff45008533bc2dfbf3983 (patch)
tree8bd4e81e9e315c582edf0d5b19327bdbd106eb6f
parentf66f2fe95713568c0ea22d9c391a364272d71c0e (diff)
parent0efb825f01aa57fbc0100908ceaff9adbbc298b1 (diff)
downloadlwip-558c6e46f24018f2be0ff45008533bc2dfbf3983.tar.gz
lwip-558c6e46f24018f2be0ff45008533bc2dfbf3983.tar.xz
lwip-558c6e46f24018f2be0ff45008533bc2dfbf3983.zip
Merge commit 'origin/elflink' into lwip
-rw-r--r--core/Makefile2
-rw-r--r--core/layout.inc4
-rw-r--r--core/syslinux.ld10
3 files changed, 6 insertions, 10 deletions
diff --git a/core/Makefile b/core/Makefile
index d2ca8c04..7ea31931 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -83,7 +83,7 @@ kwdhash.gen: keywords genhash.pl
.PRECIOUS: %.elf
%.raw: %.elf
- $(OBJCOPY) -O binary -R .rel.dyn $< $(@:.bin=.raw)
+ $(OBJCOPY) -O binary $< $(@:.bin=.raw)
%.bin: %.raw $(PREPCORE)
$(PREPCORE) $< $@
diff --git a/core/layout.inc b/core/layout.inc
index c67105ad..69ea9ce8 100644
--- a/core/layout.inc
+++ b/core/layout.inc
@@ -39,6 +39,7 @@ LATEBSS_START equ 0B800h
section .config write progbits align=4
section .replacestub exec write progbits align=16
section .gentextnr exec write nobits align=16
+ section .stack16 write nobits align=16
; Use .bss16 for things that doesn't have to be in low memory;
; .earlybss should be used for things that absolutely have
@@ -69,6 +70,9 @@ RBFG_brainfuck: resb 2048 ; Bigger than an Ethernet packet...
; the spillover from the last fractional sector load.
section .uibss write nobits align=16
+ ; Put this here to get the appropriate flags on .stack
+ section .stack write nobits align=16
+
; Symbols from linker script
%macro SECINFO 1
extern __%1_start, __%1_lma, __%1_end
diff --git a/core/syslinux.ld b/core/syslinux.ld
index cb15ca09..63636354 100644
--- a/core/syslinux.ld
+++ b/core/syslinux.ld
@@ -374,17 +374,9 @@ SECTIONS
. = ALIGN(65536);
free_high_memory = .;
- /*
- * We don't need .rel.dyn so put it here where we can simply
- * remove it. Putting it in /DISCARD/ doesn't work because it
- * is linker-generated.
- */
- .rel.dyn : {
- *(.rel.dyn)
- }
-
/* Stuff we don't need... */
/DISCARD/ : {
+ *(.rel.*) /* Input sections to .rel.dyn */
*(.interp)
*(.eh_frame)
}