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