[fpc-devel] Re: dominant short strings in compiler source
Thomas Schatzl
tom_at_work at gmx.at
Thu May 18 20:45:35 CEST 2006
Hello,
> From: Jonas Maebe <jonas.maebe at elis.ugent.be>
> On 17 mei 2006, at 20:19, L505 wrote:
>
>> We wouldn't have to use sysutils yet.. we could make a custom Dos unit
>> which used "longstrings" instead of short strings, but keep the old
>> Dos unit for compatibility..
>
> This still means that someone has to finish and test longstring
> support in the compiler, and create this longstring Dos unit for all
> platforms. That's more work than it may seem, and partly wasteful
> since Dos is only a legacy compatibility unit.
>
>> In fact, not all the shortstrings would have to be changed to long
>> strings. Just some
>> path related ones.
>
> As I've said already many times in this thread: of course only path-
> related stuff has to be changed in the compiler.
>
Also assembler symbols/labels should get extended to strings > 255 in
the future because there is already a bug open in which it is
demonstrated that it is possible to create too long labels which makes a
program uncompilable.
Or some scheme derived which makes sure that labels never get larger
than 255 chars.
(Typed constant within 2 or 3 nested functions)
Additionally even the ppc64 compiler isn't able to cycle when compiled
with -Cg because of the shortstring limitation, a few symbols get
truncated, which makes the assembler fail.
This is because the assembler syntax for declaring a symbol in the GOT
on this platform requires the compiler to add the symbol name twice to
the directive. This effectively limits symbol names to around 120 chars
already. Which is, as mentioned before, already not the case for the
compiler as it is.
Regards,
Thomas
More information about the fpc-devel
mailing list