From 1620514d354c27b4ffecc17f80c7090aa8b25809 Mon Sep 17 00:00:00 2001 From: giulio Date: Tue, 24 Jun 2008 07:46:27 +0000 Subject: 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 --- compiler/aggas.pas | 7 +++++++ 1 file changed, 7 insertions(+) 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 } -- cgit v1.2.1