[fpc-devel]Issues with GDB on Mac OS X with mixed case file names
Dr. Rolf Jansen
InstantWare at t-online.de
Thu Aug 26 16:43:04 CEST 2004
Am 26.08.2004 um 15:45 schrieb Florian Klaempfl:
> Dr. Rolf Jansen wrote:
>
>> ...<SNIP>
>> The lowercase filename comes into the .stabs of the TestProgram due
>> to the routine TGNUAssembler.WriteFileLineInfo of aggas.pas at line
>> 237 of the fpc compiler. If I change that line from:
>> AsmWriteLn(#9'.stabs "'+lower(FixFileName(infile.name^))+'",'+
>> to
>> AsmWriteLn(#9'.stabs "'+FixFileName(infile.name^)+'",'+
>> and compile fpc first and then again my TestProgram, then GDB happily
>> accepts the mixed case file name for seting breakpoints, and all the
>> features of Xcode can be used to source level debug fpc programs.
>> So, PLEASE, PLEASE, PLEASE, can someone change line 237 in aggas.pas
>> as indicated. It would be OK, to make the change conditional for the
>> target Darwin.
>> Just for my curiosity, how does this work with case sensitive
>> filesystems. My understanding of what´s going on tells me that
>> setting breakpoints in mixed case files e.g. in Linux does´t work
>> even when using lower case letters for the breakpoint, as long as
>> line 237 of aggas.pas is not changed.
>> Best regards
>
> We simply decided for fpc that on case sensitive systems, all source
> names should be lower case else you get case sensitiveness into the
> pascal language when working with units.
>
> MyUnit.pas:
> unit MyUnit;
> ...
> end.
>
> test.pas:
> uses
> MyUnit; <--- case sensitive identifier in pascal; myunit wouldn't be
> found and being case sensitive here would cause a lot of trouble.
>
That is fine. If all file names are lower case anyway, then line 237 of
aggas.pas can safely be changed from:
AsmWriteLn(#9'.stabs "'+lower(FixFileName(infile.name^))+
to:
AsmWriteLn(#9'.stabs "'+FixFileName(infile.name^)+
since, the lower function has nothing to do there.
More information about the fpc-devel
mailing list