]> sourceware.org Git - newlib-cygwin.git/commitdiff
Make .data section placement coincide with _fdata symbol
authorFaraz Shahbazker <fshahbazker at wavecomp dot com>
Thu, 2 May 2019 16:16:44 +0000 (16:16 +0000)
committerJeff Johnston <jjohnstn@redhat.com>
Wed, 15 May 2019 19:30:25 +0000 (15:30 -0400)
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.

22 files changed:
libgloss/mips/array.ld
libgloss/mips/cfe.ld
libgloss/mips/ddb-kseg0.ld
libgloss/mips/ddb.ld
libgloss/mips/dve.ld
libgloss/mips/idt.ld
libgloss/mips/idt32.ld
libgloss/mips/idt64.ld
libgloss/mips/idtecoff.ld
libgloss/mips/jmr3904app-java.ld
libgloss/mips/jmr3904app.ld
libgloss/mips/jmr3904dram-java.ld
libgloss/mips/jmr3904dram.ld
libgloss/mips/lsi.ld
libgloss/mips/mti32.ld
libgloss/mips/mti64.ld
libgloss/mips/mti64_64.ld
libgloss/mips/mti64_n32.ld
libgloss/mips/nullmon.ld
libgloss/mips/pmon.ld
libgloss/mips/sde32.ld
libgloss/mips/sde64.ld

index 2bc49c71b4bb149ce0be4ba8dffb25fa7a367f36..0492ae550cdef2ce7d426cdcd17e456653ccd5c4 100644 (file)
@@ -148,6 +148,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 78fb8533fadbed976395af4cfb15d5b2af35c24f..9a0f8d59df2450e34a8b3dc39c04ff81f7124c28 100644 (file)
@@ -104,6 +104,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 74bc1b09c3b2d3ef55210cc962b97e4e40c83afe..8c1f926a147e42fd4c2e017838a83227db81f067 100644 (file)
@@ -97,6 +97,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 8fcafd361d7b8dbac49af14dad1f38ce339caaa3..299106fb2dc2600d81bbbb462ec2320146a5f1e3 100644 (file)
@@ -97,6 +97,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index adce60f823beb9cdf060cd8d3900e6483f10d7f0..96abbbe3220b25cc59c91c40ba3ed397ba62e6b2 100644 (file)
@@ -98,6 +98,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 0d69af452115779f1c0e7942d68ea9791fff30a9..b4608bfbc66d1099997ff8f4ca15ce69c5f5ab40 100644 (file)
@@ -105,6 +105,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 175a98b61dc4dff607657199da4cd68babbd001b..5084df7a6e542e77b36a57038c5e36eca5afd734 100644 (file)
@@ -106,6 +106,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index bd217e535441035731e80c6c4a1dd2c2cd5e05d4..a1121c6634d60e2f150b69ed6a5b85b84410b954 100644 (file)
@@ -107,6 +107,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 2788cc8240ee5d1d43aa5b8da9755b0435798564..0297c6095cfa73b952dee13d6dce0728aae1eebf 100644 (file)
@@ -57,6 +57,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 98ce5357c1658ada0747f739363bd3ae5d7284d6..92de26d0665c728dfca85391ff5b97bd85c47250 100644 (file)
@@ -57,6 +57,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index d5b31091819b43287c5a3a7053cef77e93cc4267..367fc471b8e6a2211aea6eff644dda2a5807c9d5 100644 (file)
@@ -96,6 +96,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 71e84032e572baa7ba909df00511df6683eab759..4c0681a4ba8ce3b6b2b0993ff4432d70c45176d0 100644 (file)
@@ -59,6 +59,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index a2cb1eae5f76b7676a38ff8aee8003ea82bcb26c..9e7d255453bd5c33d4c19d77ba4af712576a3e9f 100644 (file)
@@ -56,6 +56,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = fdata;
   .data : {
     *(.data)
     *(.data.*)
index ca64ab92710fe82115dfbb80b12f7f35c9990295..780c31cac3569e6ab960647d3648fe27d6a489a9 100644 (file)
@@ -96,6 +96,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 41592d12a2351512f024a9e4e43f88c79aa126c6..3c8daf6f1346d91aef6b3b702eb3449377cace5f 100644 (file)
@@ -110,6 +110,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 8a47c4760be89ae891173a0c29bba445ce302384..74d778412f2a725b7670e8ab940326d0d4ea363d 100644 (file)
@@ -113,6 +113,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 81704f0654d02a8e5e7f6ed18fb6d4f6ac3bf40c..d33d156b4ec27e512fb6afd258197e05ea830963 100644 (file)
@@ -116,6 +116,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 6c53809349643ee689ab61e4fe909d74c775b1a1..5098a88d0bbb8eabd4a23a0876737424a5291127 100644 (file)
@@ -116,6 +116,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 14b0d0e599c7f4049d10f461c6ad5cc64d7d6899..5ea8b59acdd39f8fe2b78e6955b5258f8416cb02 100644 (file)
@@ -99,6 +99,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 244c1f65b3d132c032d40ea824dc9dcd1a825306..fff6f66964d046324bac7a54939dfd2388b5ae6b 100644 (file)
@@ -99,6 +99,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index 657f5f31b065886486593f2e4ef9b2f214bbc79e..7273107c10d8ddc8bdb91d1055be337a007023f8 100644 (file)
@@ -106,6 +106,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
index e3a0f298b36455603974def0c4f8bb21f4030732..0bcbe98f3b27f9efa64c6d7fe72affc323af8a1d 100644 (file)
@@ -108,6 +108,7 @@ SECTIONS
     *(.gnu.linkonce.r.*)
   }
    _fdata = ALIGN(16);
+  . = _fdata;
   .data : {
     *(.data)
     *(.data.*)
This page took 0.045315 seconds and 5 git commands to generate.