Jonas Maebe schreef:

On 19 Mar 2006, at 10:07, Koenraad Lelong wrote:

This program is buggy - '@' is used as the comment character for  ARM, so
everything after that is ignored.  The assembler therefore sees:

    .type operatingsystem_result,

which is garbage. The GNU assembler targetted for ARM accepts '#' or '%' here, not '@'.
</quote>
Is there anyone who can give a hint where to look to fix this ?


Remove "tf_needs_symbol_type" from system_arm_linux_info in compiler/ systems/i_linux.pas

Or alternatively have a look at the output of gcc -S and if it does generate some sort of symbol type information, change compiler/ aggas.pas:590 based on "if (target_info.system <> system_arm_linux) then ... else ..."


Jonas
Thanks,
Enclosed you will find a diff that allows me to get past that error, but I have another one. Actually two, this morning I had an 'internal error', but I (stupidly) did another svn-update and now I'm having an offset too large in sysutils : /home/koenraad/fpc-devel/fpc/compiler/ppcrossarm -Ur -XParm-linux- -Xc -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -Fi../unix -Fiarm -FE. -FU/home/koenraad/fpc-devel/fpc/rtl/units/arm-linux -darm -dRELEASE ../objpas/sysconst.pp /home/koenraad/fpc-devel/fpc/compiler/ppcrossarm -Ur -XParm-linux- -Xc -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -Fi../unix -Fiarm -FE. -FU/home/koenraad/fpc-devel/fpc/rtl/units/arm-linux -darm -dRELEASE -Fi../objpas/sysutils ../unix/sysutils.pp /home/koenraad/fpc-devel/fpc/rtl/units/arm-linux/sysutils.s: Assembler messages: /home/koenraad/fpc-devel/fpc/rtl/units/arm-linux/sysutils.s:11815: Error: offset too large -- `sfm f4,1,[r11,#-1152]' /home/koenraad/fpc-devel/fpc/rtl/units/arm-linux/sysutils.s:11862: Error: offset too large -- `lfm f4,1,[r11,#-1152]'
sysutils.pp(551,20) Error: Error while assembling exitcode 1
sysutils.pp(551,20) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
make[5]: *** [sysutils.ppu] Fout 1
make[5]: Leaving directory `/home/koenraad/fpc-devel/fpc/rtl/linux'
make[4]: *** [linux_all] Fout 2
make[4]: Leaving directory `/home/koenraad/fpc-devel/fpc/rtl'
make[3]: *** [rtl] Fout 2
make[3]: Leaving directory `/home/koenraad/fpc-devel/fpc/compiler'
make[2]: *** [cycle] Fout 2
make[2]: Leaving directory `/home/koenraad/fpc-devel/fpc/compiler'
make[1]: *** [compiler_cycle] Fout 2
make[1]: Leaving directory `/home/koenraad/fpc-devel/fpc'
make: *** [build-stamp.arm-linux] Fout 2
I'm going to look at this.
Regards,
Koenraad Lelong.
Index: fpc/compiler/aggas.pas
===================================================================
--- fpc/compiler/aggas.pas      (revision 2969)
+++ fpc/compiler/aggas.pas      (working copy)
@@ -587,7 +587,10 @@
                        asmwriteln(Tai_datablock(hp).sym.name);
                      end;
                    if (tf_needs_symbol_type in target_info.flags) then
-                     asmwriteln(#9'.type 
'+Tai_datablock(hp).sym.name+',@object');
+                    if (target_info.system<>system_arm_linux) then
+                     asmwriteln(#9'.type 
'+Tai_datablock(hp).sym.name+',@object')
+                    else
+                     asmwriteln(#9'.type 
'+Tai_datablock(hp).sym.name+',%object');
                    if (tf_needs_symbol_size in target_info.flags) and 
(tai_datablock(hp).size > 0) then
                      asmwriteln(#9'.size 
'+Tai_datablock(hp).sym.name+','+tostr(Tai_datablock(hp).size));
                    asmwrite(Tai_datablock(hp).sym.name);
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to