diff options
author | giulio <giulio@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-06-24 07:46:27 +0000 |
---|---|---|
committer | giulio <giulio@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-06-24 07:46:27 +0000 |
commit | 1620514d354c27b4ffecc17f80c7090aa8b25809 (patch) | |
tree | 430e7c91a450134ba1ef8617b54fcf795e1be596 | |
parent | 92892c25ebc21a50b9d554d306ad5cc427376966 (diff) | |
download | fpc-1620514d354c27b4ffecc17f80c7090aa8b25809.tar.gz |
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: http://svn.freepascal.org/svn/fpc/branches/rc_2_2_2@11271 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/aggas.pas | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/aggas.pas b/compiler/aggas.pas index 2a19709a99..efacba7100 100644 --- a/compiler/aggas.pas +++ b/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 } |