Sfoglia il codice sorgente

* Internal ELF linker: for MIPS targets, place .got section after .data. This corresponds to behavior of ld, and reduces amount of processing when adding GOT slots for local symbols (which requires re-doing layout for all sections that come after .got)

git-svn-id: trunk@25154 -
sergei 12 anni fa
parent
commit
dddc78514d
1 ha cambiato i file con 7 aggiunte e 0 eliminazioni
  1. 7 0
      compiler/systems/t_linux.pas

+ 7 - 0
compiler/systems/t_linux.pas

@@ -1461,12 +1461,14 @@ begin
       Concat('EXESECTION .dynamic');
       Concat('  OBJSECTION .dynamic');
       Concat('ENDEXESECTION');
+{$ifndef mips}
       Concat('EXESECTION .got');
 {$ifdef arm}
       Concat('  OBJSECTION .got.plt');
 {$endif arm}
       Concat('  OBJSECTION .got');
       Concat('ENDEXESECTION');
+{$endif mips}
 {$ifndef arm}
       Concat('EXESECTION .got.plt');
       Concat('  OBJSECTION .got.plt');
@@ -1479,6 +1481,11 @@ begin
       Concat('  PROVIDE _edata');
       Concat('  PROVIDE edata');
       Concat('ENDEXESECTION');
+{$ifdef mips}
+      Concat('EXESECTION .got');
+      Concat('  OBJSECTION .got');
+      Concat('ENDEXESECTION');
+{$endif mips}
       Concat('EXESECTION .bss');
       Concat('  OBJSECTION .dynbss');
       Concat('  OBJSECTION .bss*');