[fpc-devel] mips-linux and mipsel-linux snapshots available
Mark Morgan Lloyd
markMLl.fpc-devel at telemetry.co.uk
Thu Nov 29 22:46:16 CET 2012
Mark Morgan Lloyd wrote:
> Pierre Free Pascal wrote:
>> Hi Mark,
>>
>> do you use my patch for mips to
>> handle stack?
>> Without it, the backtrace doesn't work...
>>
>> The bad thing is that I submitted it to gdb-patches,
>> but it was refused, I was told that $fp should be equal to $sp
>> according to ABI...
>>
>> If you use a stock GDB, try to unpack a recent
>> GDB source tree, apply the one line patch below,
>> and recompile GDB.
>>
>> Can you tell us if the backtrace looks better after this?
>
> Thanks Pierre, I'll work on it between other things.
I think I got that patch into the sources from Debian, although it had
moved somewhat: I I read things correctly it went into the first of two
similar blocks.
Running the program using the modified GDB, I get the same as before:
0 1>markMLl at pye-dev-07d:~$ which gdb
/usr/local/bin/gdb
0 1>markMLl at pye-dev-07d:~$ gdb /usr/local/bin/ppcmips
GNU gdb (GDB) 7.0.1-debian
..
(gdb) set arg -h
(gdb) run
Starting program: /usr/local/bin/ppcmips -h
Program received signal SIGBUS, Bus error.
0x0043eb88 in SYSUTILS_$$_UNIXTOWINAGE$LONGINT$$LONGINT ()
(gdb) bt
#0 0x0043eb88 in SYSUTILS_$$_UNIXTOWINAGE$LONGINT$$LONGINT ()
#1 0x0043fa6c in
SYSUTILS_$$_FINDGETFILEINFO$ANSISTRING$TSEARCHREC$$BOOLEAN ()
#2 0x0043fdc4 in SYSUTILS_$$_FINDNEXT$TSEARCHREC$$LONGINT ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
A curious thing is that when I first ran it from the build directory
without "make install" I appeared to get more info:
Program received signal SIGBUS, Bus error.
0x0043eb88 in SYSUTILS_$$_UNIXTOWINAGE$LONGINT$$LONGINT ()
(gdb) bt
#0 0x0043eb88 in SYSUTILS_$$_UNIXTOWINAGE$LONGINT$$LONGINT ()
#1 0x0043fa6c in
SYSUTILS_$$_FINDGETFILEINFO$ANSISTRING$TSEARCHREC$$BOOLEAN ()
#2 0x0043fdc4 in SYSUTILS_$$_FINDNEXT$TSEARCHREC$$LONGINT ()
#3 0x00440074 in
SYSUTILS_$$_FINDFIRST$ANSISTRING$LONGINT$TSEARCHREC$$LONGINT ()
During symbol reading, couldn't parse type; debugger out of date?.
#4 0x00453428 in TCACHEDDIRECTORY__RELOAD (this=<error reading
variable>) at cfileutl.pas:277
#5 0x00453050 in TCACHEDDIRECTORY__FORCEUSECACHE (this=<error reading
variable>) at cfileutl.pas:234
#6 0x00452fd8 in TCACHEDDIRECTORY__TRYUSECACHE (this=<error reading
variable>) at cfileutl.pas:223
#7 0x00453ad8 in TCACHEDDIRECTORY__DIRECTORYEXISTS (ANAME=0x2aaa880c
'mipseb-linux',
this=<error reading variable>) at cfileutl.pas:357
#8 0x00454244 in TDIRECTORYCACHE__DIRECTORYEXISTS (
ANAME=0x2aac822c '/usr/local/lib/fpc/2.7.1/units/mipseb-linux',
this=<error reading variable>)
at cfileutl.pas:433
#9 0x004555b8 in PATHEXISTS (F=0x2aac826c
'/usr/local/lib/fpc/2.7.1/units/mipseb-linux/', ALLOWCACHE=true)
at cfileutl.pas:687
#10 0x00457e40 in TSEARCHPATHLIST__ADDPATH (SRCPATH=0x0, S=0x0,
ADDFIRST=true,
this=<error reading variable>) at cfileutl.pas:1131
#11 0x00456b88 in TSEARCHPATHLIST__ADDPATH (S=0x2aac816c
'/usr/local/lib/fpc/2.7.1/units/mipseb-linux',
ADDFIRST=true, this=<error reading variable>) at cfileutl.pas:986
#12 0x0063bf64 in TOPTION__INTERPRET_OPTION (
OPT=0x2aab910c
'-Fu/usr/local/lib/fpc/$fpcversion/units/$fpctarget', ISPARA=false,
this=<error reading variable>) at options.pas:1146
#13 0x00641724 in TOPTION__INTERPRET_FILE (FILENAME=0x2aaa87ac
'/etc/fpc.cfg',
this=<error reading variable>) at options.pas:2237
#14 0x00644358 in READ_ARGUMENTS (CMD=0x0) at options.pas:2932
#15 0x00427f90 in INITCOMPILER (CMD=0x0) at compiler.pas:190
#16 0x004280c0 in COMPILE (CMD=0x0) at compiler.pas:237
#17 0x0040043c in main () at pp.pas:233
(gdb) quit
However I don't entirely trust this since there could be some unholy mix
of modified and unmodified libraries.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the fpc-devel
mailing list