diff options
author | Faraz Shahbazker <fshahbazker at wavecomp dot com> | 2019-05-02 19:16:44 +0300 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2019-05-15 22:30:25 +0300 |
commit | a9a0d219a417a8079b878ce967f72997789e328a (patch) | |
tree | 1198f15a8456ad2f6cd5ec6638129e796860bdc2 /libgloss/mips | |
parent | e91bc190ff685bca726024da353f0921660bc863 (diff) |
Make .data section placement coincide with _fdata symbol
The _fdata symbol in MIPS linker scripts is aligned to a 16-byte
boundary. The ALIGN function does not implicitly update current
location counter. If sections positioned after the assignment
do not have the same natural alignment as the ALIGN function then
the start of the section group will not coincide with the value
of the symbol.
Given the linker command sequence:
symbol = ALIGN (NN);
(.section*)
where the idiom implies a desire to mark the beginning of .section
with symbol, there must be an assignment to the location counter
between the assignment to symbol and the .section pattern.
libgloss/
* mips/array.ld: Update the location counter to match _fdata.
* mips/cfe.ld: Likewise.
* mips/ddb-kseg0.ld: Likewise.
* mips/ddb.ld: Likewise.
* mips/dve.ld: Likewise.
* mips/idt.ld: Likewise.
* mips/idt32.ld: Likewise.
* mips/idt64.ld: Likewise.
* mips/idtecoff.ld: Likewise.
* mips/jmr3904app-java.ld: Likewise.
* mips/jmr3904app.ld: Likewise.
* mips/jmr3904dram-java.ld: Likewise.
* mips/jmr3904dram.ld: Likewise.
* mips/lsi.ld: Likewise.
* mips/mti32.ld: Likewise.
* mips/mti64.ld: Likewise.
* mips/mti64_64.ld: Likewise.
* mips/mti64_n32.ld: Likewise.
* mips/nullmon.ld: Likewise.
* mips/pmon.ld: Likewise.
* mips/sde32.ld: Likewise.
* mips/sde64.ld: Likewise.
Diffstat (limited to 'libgloss/mips')
-rw-r--r-- | libgloss/mips/array.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/cfe.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/ddb-kseg0.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/ddb.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/dve.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/idt.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/idt32.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/idt64.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/idtecoff.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/jmr3904app-java.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/jmr3904app.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/jmr3904dram-java.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/jmr3904dram.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/lsi.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/mti32.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/mti64.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/mti64_64.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/mti64_n32.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/nullmon.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/pmon.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/sde32.ld | 1 | ||||
-rw-r--r-- | libgloss/mips/sde64.ld | 1 |
22 files changed, 22 insertions, 0 deletions
diff --git a/libgloss/mips/array.ld b/libgloss/mips/array.ld index 2bc49c71b..0492ae550 100644 --- a/libgloss/mips/array.ld +++ b/libgloss/mips/array.ld @@ -148,6 +148,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/cfe.ld b/libgloss/mips/cfe.ld index 78fb8533f..9a0f8d59d 100644 --- a/libgloss/mips/cfe.ld +++ b/libgloss/mips/cfe.ld @@ -104,6 +104,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/ddb-kseg0.ld b/libgloss/mips/ddb-kseg0.ld index 74bc1b09c..8c1f926a1 100644 --- a/libgloss/mips/ddb-kseg0.ld +++ b/libgloss/mips/ddb-kseg0.ld @@ -97,6 +97,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/ddb.ld b/libgloss/mips/ddb.ld index 8fcafd361..299106fb2 100644 --- a/libgloss/mips/ddb.ld +++ b/libgloss/mips/ddb.ld @@ -97,6 +97,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/dve.ld b/libgloss/mips/dve.ld index adce60f82..96abbbe32 100644 --- a/libgloss/mips/dve.ld +++ b/libgloss/mips/dve.ld @@ -98,6 +98,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/idt.ld b/libgloss/mips/idt.ld index 0d69af452..b4608bfbc 100644 --- a/libgloss/mips/idt.ld +++ b/libgloss/mips/idt.ld @@ -105,6 +105,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/idt32.ld b/libgloss/mips/idt32.ld index 175a98b61..5084df7a6 100644 --- a/libgloss/mips/idt32.ld +++ b/libgloss/mips/idt32.ld @@ -106,6 +106,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/idt64.ld b/libgloss/mips/idt64.ld index bd217e535..a1121c663 100644 --- a/libgloss/mips/idt64.ld +++ b/libgloss/mips/idt64.ld @@ -107,6 +107,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/idtecoff.ld b/libgloss/mips/idtecoff.ld index 2788cc824..0297c6095 100644 --- a/libgloss/mips/idtecoff.ld +++ b/libgloss/mips/idtecoff.ld @@ -57,6 +57,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/jmr3904app-java.ld b/libgloss/mips/jmr3904app-java.ld index 98ce5357c..92de26d06 100644 --- a/libgloss/mips/jmr3904app-java.ld +++ b/libgloss/mips/jmr3904app-java.ld @@ -57,6 +57,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/jmr3904app.ld b/libgloss/mips/jmr3904app.ld index d5b310918..367fc471b 100644 --- a/libgloss/mips/jmr3904app.ld +++ b/libgloss/mips/jmr3904app.ld @@ -96,6 +96,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/jmr3904dram-java.ld b/libgloss/mips/jmr3904dram-java.ld index 71e84032e..4c0681a4b 100644 --- a/libgloss/mips/jmr3904dram-java.ld +++ b/libgloss/mips/jmr3904dram-java.ld @@ -59,6 +59,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/jmr3904dram.ld b/libgloss/mips/jmr3904dram.ld index a2cb1eae5..9e7d25545 100644 --- a/libgloss/mips/jmr3904dram.ld +++ b/libgloss/mips/jmr3904dram.ld @@ -56,6 +56,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/lsi.ld b/libgloss/mips/lsi.ld index ca64ab927..780c31cac 100644 --- a/libgloss/mips/lsi.ld +++ b/libgloss/mips/lsi.ld @@ -96,6 +96,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/mti32.ld b/libgloss/mips/mti32.ld index 41592d12a..3c8daf6f1 100644 --- a/libgloss/mips/mti32.ld +++ b/libgloss/mips/mti32.ld @@ -110,6 +110,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/mti64.ld b/libgloss/mips/mti64.ld index 8a47c4760..74d778412 100644 --- a/libgloss/mips/mti64.ld +++ b/libgloss/mips/mti64.ld @@ -113,6 +113,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/mti64_64.ld b/libgloss/mips/mti64_64.ld index 81704f065..d33d156b4 100644 --- a/libgloss/mips/mti64_64.ld +++ b/libgloss/mips/mti64_64.ld @@ -116,6 +116,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/mti64_n32.ld b/libgloss/mips/mti64_n32.ld index 6c5380934..5098a88d0 100644 --- a/libgloss/mips/mti64_n32.ld +++ b/libgloss/mips/mti64_n32.ld @@ -116,6 +116,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/nullmon.ld b/libgloss/mips/nullmon.ld index 14b0d0e59..5ea8b59ac 100644 --- a/libgloss/mips/nullmon.ld +++ b/libgloss/mips/nullmon.ld @@ -99,6 +99,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/pmon.ld b/libgloss/mips/pmon.ld index 244c1f65b..fff6f6696 100644 --- a/libgloss/mips/pmon.ld +++ b/libgloss/mips/pmon.ld @@ -99,6 +99,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/sde32.ld b/libgloss/mips/sde32.ld index 657f5f31b..7273107c1 100644 --- a/libgloss/mips/sde32.ld +++ b/libgloss/mips/sde32.ld @@ -106,6 +106,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) diff --git a/libgloss/mips/sde64.ld b/libgloss/mips/sde64.ld index e3a0f298b..0bcbe98f3 100644 --- a/libgloss/mips/sde64.ld +++ b/libgloss/mips/sde64.ld @@ -108,6 +108,7 @@ SECTIONS *(.gnu.linkonce.r.*) } _fdata = ALIGN(16); + . = _fdata; .data : { *(.data) *(.data.*) |