Pārlūkot izejas kodu

* fixed writing of local static symbols on AIX
o the order of .lcomm operands was inverted and can't specify an alignment
o the section in which to place them can't be adorned using [RW] access
specifiers (it's always in .bss, which is [RW] by definition)

git-svn-id: trunk@22644 -

Jonas Maebe 12 gadi atpakaļ
vecāks
revīzija
bc35f4b3db
2 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  1. 2 2
      compiler/aggas.pas
  2. 1 1
      compiler/dbgstabx.pas

+ 2 - 2
compiler/aggas.pas

@@ -810,9 +810,9 @@ implementation
                      begin
                      begin
                        asmwrite(#9'.lcomm ');
                        asmwrite(#9'.lcomm ');
                        asmwrite(ReplaceForbiddenAsmSymbolChars(tai_datablock(hp).sym.name));
                        asmwrite(ReplaceForbiddenAsmSymbolChars(tai_datablock(hp).sym.name));
-                       asmwrite(',_data.bss_[RW],');
+                       asmwrite(',');
                        asmwrite(tostr(tai_datablock(hp).size)+',');
                        asmwrite(tostr(tai_datablock(hp).size)+',');
-                       asmwriteln(tostr(last_align));
+                       asmwrite('_data.bss_');
                      end;
                      end;
                  end
                  end
                else
                else

+ 1 - 1
compiler/dbgstabx.pas

@@ -282,7 +282,7 @@ implementation
         if isglobal then
         if isglobal then
           list.concat(tai_stab.Create_ansistr(stabx_bs,'.data[RW]'))
           list.concat(tai_stab.Create_ansistr(stabx_bs,'.data[RW]'))
         else
         else
-          list.concat(tai_stab.Create_ansistr(stabx_bs,'_data.bss_[RW]'));
+          list.concat(tai_stab.Create_ansistr(stabx_bs,'_data.bss_'));
       inherited;
       inherited;
       if ismem then
       if ismem then
         list.concat(tai_stab.Create_ansistr(stabx_es,''));
         list.concat(tai_stab.Create_ansistr(stabx_es,''));