From 6661a67747c14cfa7ac91458914037ee296fcd1e Mon Sep 17 00:00:00 2001 From: Faraz Shahbazker Date: Tue, 30 Jul 2019 00:00:25 +0000 Subject: [PATCH] Align _end symbol to at least 4 in all MIPS scripts Left-over part of commit 84b2a020daa17d8ee5c9ec979c3d56f95e69573b The _end marker must be aligned to 4-bytes to ensure that the last element written does not reach beyond the address of _end. This is also necessary as the termination condition is an equality test instead of an ordered test so (_end - _fbss) must be a multiple of 4-bytes. The alignment is already correct for mti*.ld files, fix it for all remaining MIPS scripts that don't already align to at least 4. --- libgloss/mips/array.ld | 1 + libgloss/mips/ddb-kseg0.ld | 1 + libgloss/mips/ddb.ld | 1 + libgloss/mips/dve.ld | 1 + libgloss/mips/idt.ld | 1 + libgloss/mips/idt32.ld | 1 + libgloss/mips/idt64.ld | 1 + libgloss/mips/idtecoff.ld | 1 + libgloss/mips/jmr3904app-java.ld | 1 + libgloss/mips/jmr3904app.ld | 1 + libgloss/mips/jmr3904dram-java.ld | 1 + libgloss/mips/jmr3904dram.ld | 1 + libgloss/mips/lsi.ld | 1 + libgloss/mips/pmon.ld | 1 + libgloss/mips/sde32.ld | 1 + libgloss/mips/sde64.ld | 1 + 16 files changed, 16 insertions(+) diff --git a/libgloss/mips/array.ld b/libgloss/mips/array.ld index 0492ae550..5cdcf4009 100644 --- a/libgloss/mips/array.ld +++ b/libgloss/mips/array.ld @@ -182,6 +182,7 @@ SECTIONS *(.gnu.linkonce.b.*) *(COMMON) } + . = ALIGN(4); end = .; _end = .; } diff --git a/libgloss/mips/ddb-kseg0.ld b/libgloss/mips/ddb-kseg0.ld index 8c1f926a1..a8643fd7d 100644 --- a/libgloss/mips/ddb-kseg0.ld +++ b/libgloss/mips/ddb-kseg0.ld @@ -135,6 +135,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/ddb.ld b/libgloss/mips/ddb.ld index 299106fb2..7b899d42f 100644 --- a/libgloss/mips/ddb.ld +++ b/libgloss/mips/ddb.ld @@ -135,6 +135,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/dve.ld b/libgloss/mips/dve.ld index 96abbbe32..e28c9c23f 100644 --- a/libgloss/mips/dve.ld +++ b/libgloss/mips/dve.ld @@ -137,6 +137,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/idt.ld b/libgloss/mips/idt.ld index b4608bfbc..a779569e7 100644 --- a/libgloss/mips/idt.ld +++ b/libgloss/mips/idt.ld @@ -143,6 +143,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); PROVIDE (end = .); _end = .; diff --git a/libgloss/mips/idt32.ld b/libgloss/mips/idt32.ld index 5084df7a6..8d4e4d67a 100644 --- a/libgloss/mips/idt32.ld +++ b/libgloss/mips/idt32.ld @@ -144,6 +144,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); PROVIDE (end = .); _end = .; diff --git a/libgloss/mips/idt64.ld b/libgloss/mips/idt64.ld index a1121c663..8d996bc32 100644 --- a/libgloss/mips/idt64.ld +++ b/libgloss/mips/idt64.ld @@ -145,6 +145,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); PROVIDE (end = .); _end = .; diff --git a/libgloss/mips/idtecoff.ld b/libgloss/mips/idtecoff.ld index 0297c6095..57111e139 100644 --- a/libgloss/mips/idtecoff.ld +++ b/libgloss/mips/idtecoff.ld @@ -95,6 +95,7 @@ SECTIONS *(.gnu.linkonce.b.*) *(COMMON) } + . = ALIGN(4); end = .; _end = .; } diff --git a/libgloss/mips/jmr3904app-java.ld b/libgloss/mips/jmr3904app-java.ld index 92de26d06..c9539fde7 100644 --- a/libgloss/mips/jmr3904app-java.ld +++ b/libgloss/mips/jmr3904app-java.ld @@ -99,6 +99,7 @@ SECTIONS . = __stack ; } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/jmr3904app.ld b/libgloss/mips/jmr3904app.ld index 367fc471b..35c2fec87 100644 --- a/libgloss/mips/jmr3904app.ld +++ b/libgloss/mips/jmr3904app.ld @@ -137,6 +137,7 @@ SECTIONS . = __stack ; } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/jmr3904dram-java.ld b/libgloss/mips/jmr3904dram-java.ld index 4c0681a4b..aedd4340b 100644 --- a/libgloss/mips/jmr3904dram-java.ld +++ b/libgloss/mips/jmr3904dram-java.ld @@ -98,6 +98,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/jmr3904dram.ld b/libgloss/mips/jmr3904dram.ld index 9e7d25545..168c31867 100644 --- a/libgloss/mips/jmr3904dram.ld +++ b/libgloss/mips/jmr3904dram.ld @@ -95,6 +95,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/lsi.ld b/libgloss/mips/lsi.ld index 780c31cac..e350419e7 100644 --- a/libgloss/mips/lsi.ld +++ b/libgloss/mips/lsi.ld @@ -133,6 +133,7 @@ SECTIONS *(.gnu.linkonce.b.*) *(COMMON) } + . = ALIGN(4); end = .; _end = .; } diff --git a/libgloss/mips/pmon.ld b/libgloss/mips/pmon.ld index fff6f6696..1608cd936 100644 --- a/libgloss/mips/pmon.ld +++ b/libgloss/mips/pmon.ld @@ -137,6 +137,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); end = .; _end = .; diff --git a/libgloss/mips/sde32.ld b/libgloss/mips/sde32.ld index 7273107c1..4ef3b692e 100644 --- a/libgloss/mips/sde32.ld +++ b/libgloss/mips/sde32.ld @@ -144,6 +144,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); PROVIDE (end = .); _end = .; diff --git a/libgloss/mips/sde64.ld b/libgloss/mips/sde64.ld index 0bcbe98f3..40338a1da 100644 --- a/libgloss/mips/sde64.ld +++ b/libgloss/mips/sde64.ld @@ -146,6 +146,7 @@ SECTIONS *(COMMON) } + . = ALIGN(4); PROVIDE (end = .); _end = .;