[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