Browse Source

Merged revisions 11257,11259 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r11257 | giulio | 2008-06-21 16:06:12 +0200 (sab, 21 giu 2008) | 4 lines

.rodata* sections must end up in .data section on go32v2, since the go32v2 stub
only handles .text, .data and .bss sections.
Solves bug #11509.
........
r11259 | giulio | 2008-06-21 16:32:37 +0200 (sab, 21 giu 2008) | 2 lines

Added comment for 11257
........

git-svn-id: branches/rc_2_2_2@11271 -

giulio 17 năm trước cách đây
mục cha
commit
b8ea1cca03
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      compiler/aggas.pas

+ 7 - 0
compiler/aggas.pas

@@ -312,6 +312,13 @@ implementation
           (target_info.system=system_i386_win32) then
           secname:='.tls';
 
+        { go32v2 stub only loads .text and .data sections, and allocates space for .bss.
+          Thus, data which normally goes into .rodata and .rodata_norel sections must 
+          end up in .data section }
+        if (atype in [sec_rodata,sec_rodata_norel]) and
+          (target_info.system=system_i386_go32v2) then
+          secname:='.data';
+
         { For bss we need to set some flags that are target dependent,
           it is easier to disable it for smartlinking. It doesn't take up
           filespace }