Re: [hatari-devel] Is it me or the symbols prg option is broken ?

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

Ok, so it's a Windows issue.  Somebody with Windows needs to check whether 
the fix I suggested fixes the issue (I don't have Windows).


	- Eero

On perjantai 01 toukokuu 2015, Konador, Cyprian wrote:
> Hi Eero,
> 
> Actually I tried with and without "symbols prg" and te result is the
> same. Attached you can find output for "symbols prg" in wait.ini
> 
> 
> Regards
> Cyprian
> 
> > -----Original Message-----
> > From: Eero Tamminen
> > Sent: 1 May 2015 01:02
> > To: hatari-devel@xxxxxxxxxxxxxxxxxxx
> > Subject: Re: [hatari-devel] Is it me or the symbols prg option is
> > broken ?
> > 
> > Hi,
> > 
> > On keskiviikko 29 huhtikuu 2015, Konador, Cyprian wrote:
> > > Files sent,
> > 
> > By adding "symbols prg" as first line to "wait.ini" file [1],
> > everything works fine for me, with all of the binaries you provided.
> > 
> > Btw. I also like to trace GEMDOS operations to see how things process:
> > ------- wait.ini --------
> > symbols prg
> > trace gemdos
> > b PC = mainloop :once :trace :file trace.ini
> > -------------------------
> > 
> > Because in your case there's a crash before next VBL and program
> > terminates before breakpoint for the VBL, there aren't anymore:
> > - valid debug symbols when profile is saved (they're removed at Pterm)
> > - profile doesn't include program TEXT section address, so that you
> > could give debug symbols to profile post-processor
> > 
> > => I would recommend setting profile save breakpoint also for Pterm:
> > ----- trace.ini ---------
> > profile on
> > b VBL = "VBL+1" :trace :file disable.ini
> > # save profile also on crash & Pterm
> > b GemdosOpcode = 0x4C :trace :file disable.ini
> > -------------------------
> > 
> > Attached is graph of:
> > 	# get the profile
> > 	hatari --parse break.ini bt4pc_dx.prg
> > 	
> > 	# get symbols for profile post-processing
> > 	gst2ascii bt4pc_dx.prg > symbols.txt
> > 	
> > 	# post-process profile, output top-lists & callgraphs
> > 	hatari_profile.py -stpg -r symbols.txt --compact myprofile.txt
> > 	
> > 	# convert callgraph to SVG
> > 	dot -Tsvg myprofile-2.dot  > myprofile-cycles.svg
> > 
> > Attached SVG file can be viewed with Browser.
> > 
> > (And as I stated, program crashes before next VBL, so it's not full
> > frame.)
> > 
> > 	- Eero
> > 
> > [1] symbols are loaded automatically only when Hatari drops you to
> > debugger prompt, but that doesn't happen with breakpoints having
> > ":trace" option. With them you need to tell debugger to load the
> > symbols.
> > 
> > > Thanks for help
> > > 
> > > Regards
> > > Cyprian
> > > 
> > > > -----Original Message-----
> > > > From: Eero Tamminen
> > > > Sent: 29 April 2015 22:21
> > > > To: hatari-devel@xxxxxxxxxxxxxxxxxxx
> > > > Subject: Re: [hatari-devel] Is it me or the symbols prg option is
> > > > broken ?
> > > > 
> > > > Hi,
> > > > 
> > > > On keskiviikko 29 huhtikuu 2015, Konador, Cyprian wrote:
> > > > > Hmm, I'm a bit confused.
> > > > > They works fine from desktop, they have 0x601A in the header and
> > > > > also valid debug symbols (normal or extended as I described
> > > > > below).
> > > > 
> > > > Maybe it's a Windows issue.  Could you try changing fopen() "r"
> > > > argument to "rb" in src/debug/symbols.c?
> > > > 
> > > > If that doesn't help, could you send the binary to me, so that I
> > > > can check it?
> > > > 
> > > > 	- Eero
> > > > 	
> > > > > Thanks
> > > > > 
> > > > > Regards
> > > > > Cyprian
> > > > > 
> > > > > > -----Original Message-----
> > > > > > From: Eero Tamminen,
> > > > > > Sent: 29 April 2015 19:07
> > > > > > To: hatari-devel@xxxxxxxxxxxxxxxxxxx
> > > > > > Subject: Re: [hatari-devel] Is it me or the symbols prg option
> > > > > > is broken ?
> > > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > "ASCII symbols" message means that the program header at the
> > > > > > start of your binary doesn't contain the magic word (0x601A)
> > > > > > that identifies it as Atari program.
> > > > > > 
> > > > > > 	- Eero
> > > > > > 
> > > > > > On keskiviikko 29 huhtikuu 2015, Konador, Cyprian wrote:
> > > > > > > I'm trying to analyze some of code. Below you can find a
> > > > > > > complete content of my parser files.
> > > > > > > 
> > > > > > > Thanks
> > > > > > > 
> > > > > > > Regards
> > > > > > > Cyprian
> > > > > > > 
> > > > > > > 
> > > > > > > TRACE.BAT
> > > > > > > 
> > > > > > > 	hatari.exe -c cfgSTE.cfg --parse break.ini BT4PC_Dx.PRG
> > > > > > > 
> > > > > > > BREAK.INI
> > > > > > > 
> > > > > > > 	b GemdosOpcode = 0x3D :trace :once :file program.ini
> > > > > > > 
> > > > > > > PROGRAM.INI
> > > > > > > 
> > > > > > > 	b pc = TEXT :trace :once :file wait.ini
> > > > > > > 
> > > > > > > WAIT.INI
> > > > > > > 
> > > > > > > 	b PC = mainloop :once :trace :file trace.ini
> > > > > > > 
> > > > > > > TRACE.INI
> > > > > > > 
> > > > > > > 	profile on
> > > > > > > 	b VBL = "VBL+1" :trace :file disable.ini
> > > > > > > 
> > > > > > > DISABLE.INI
> > > > > > > 
> > > > > > > 	trace none
> > > > > > > 	b all
> > > > > > > 	profile save myprofile.txt
> > > > > > > 	q
> > > > > > > 	
> > > > > > > > -----Original Message-----
> > > > > > > > From: Eero Tamminen
> > > > > > > > Sent: 28 April 2015 20:44
> > > > > > > > To: hatari-devel@xxxxxxxxxxxxxxxxxxx
> > > > > > > > Subject: Re: [hatari-devel] Is it me or the symbols prg
> > > > > > > > option is broken ?
> > > > > > > > 
> > > > > > > > Hi,
> > > > > > > > 
> > > > > > > > What exactly you're doing?
> > > > > > > > 
> > > > > > > > (binaries should be read as binary with debug symbols, not
> > > > > > > > as ASCII symbol files)
> > > > > > > > 
> > > > > > > > 	- Eero
> > > > > > > > 
> > > > > > > > On tiistai 28 huhtikuu 2015, Konador, Cyprian wrote:
> > > > > > > > > Hi All,
> > > > > > > > > 
> > > > > > > > > I've just face an issue with symbols in Hatari 1.8.
> > > > > > > > > I compiled test program with VASM and Devpac as described
> > > > > > > > > below:
> > > > > > > > > 
> > > > > > > > > Devpac-3
> > > > > > > > > 
> > > > > > > > > 	BT4PC_Dn.PRG	Debug symbol Normal
> > > > > > > > > 	BT4PC_Dx.PRG	Debug symbol Extended
> > > > > > > > > 
> > > > > > > > > VASM
> > > > > > > > > 
> > > > > > > > > 	BT4PC_Dx.TOS	OPT D+,X+
> > > > > > > > > 
> > > > > > > > > All tests show me following error message:
> > > > > > > > > --
> > > > > > > > > Reading 'nm' style ASCII symbols from 'BT4PC_D.TOS'...
> > > > > > > > > ERROR: no symbols.
> > > > > > > > > ERROR: reading symbols from 'BT4PC_D.TOS' failed!
> > > > > > > > > --
> > > > > > > > > Reading 'nm' style ASCII symbols from 'BT4PC_Dn.PRG'...
> > > > > > > > > ERROR: no symbols.
> > > > > > > > > ERROR: reading symbols from 'BT4PC_Dn.PRG' failed!
> > > > > > > > > --
> > > > > > > > > Reading 'nm' style ASCII symbols from 'BT4PC_Dx.PRG'...
> > > > > > > > > ERROR: no symbols.
> > > > > > > > > ERROR: reading symbols from 'BT4PC_Dx.PRG' failed!
> > > > > > > > > --
> > > > > > > > > 
> > > > > > > > > 'PC = mainloop'
> > > > > > > > > 
> > > > > > > > >       ^-invalid variable/register/symbol name
> > > > > > > > > 
> > > > > > > > > Regards
> > > > > > > > > Cyprian
> > > > > > > > > 
> > > > > > > > > > -----Original Message-----
> > > > > > > > > > From: Eero Tamminen
> > > > > > > > > > Sent: 13 June 2014 22:26
> > > > > > > > > > To: hatari-devel@xxxxxxxxxxxxxxxxxxx
> > > > > > > > > > Subject: Re: [hatari-devel] Is it me or the symbols prg
> > > > > > > > > > option is broken ?
> > > > > > > > > > 
> > > > > > > > > > Hi,
> > > > > > > > > > 
> > > > > > > > > > On perjantai 13 kesäkuu 2014, Laurent Sallafranque 
wrote:
> > > > > > > > > > >  > Does symbol loading work now? Le 12/06/2014 23:44,
> > > > > > > > > > >  > Eero Tamminen
> > > > > > > > 
> > > > > > > > a
> > > > > > > > 
> > > > > > > > > > > écrit :
> > > > > > > > > > > 
> > > > > > > > > > > Yes it works again. Great job Eero.
> > > > > > > > > > 
> > > > > > > > > > Ok, good.
> > > > > > > > > > 
> > > > > > > > > > I added the same fallback also for gst2ascii tool (it
> > > > > > > > > > already had that, but it used it only if it detected
> > > > > > > > > > program to be VBCC compiled).
> > > > > > > > > > 
> > > > > > > > > > > What is fun is that now, I don't have to enter
> > > > > > > > > > > "symbols prg", when I break the program, hatari
> > > > > > > > > > > debugger immediatly loads the symbol table by
> > > > > > > > > > > itself.
> > > > > > > > > > 
> > > > > > > > > > Yes, I think it quite handy too.  :-)
> > > > > > > > > > 
> > > > > > > > > > 	- Eero
> > > > > > > > > > 	
> > > > > > > > > > > Laurent
> > > > > > > > > > > 
> > > > > > > > > > > > Hi,
> > > > > > > > > > > > 
> > > > > > > > > > > > On torstai 12 kesäkuu 2014, Laurent Sallafranque 
wrote:
> > > > > > > > > > > >> Here is what I get :
> > > > > > > > > > > >>   > symbols prg
> > > > > > > > > > > >> 
> > > > > > > > > > > >> Reading symbols from program
> > 
> > '/media/Win_NTFS/Jeux/Atari/DiskDur.FAL/Thadoss/RACER/RACER/RACER.P
> > 
> > > > > > > > > > RG'
> > > > > > > > > > 
> > > > > > > > > > > >> symbol table...
> > > > > > > > > > > >> 0x7 program flags, reloc=0, TOS executable, DRI /
> > > > > > > > > > > >> GST symbol table. Trying to load symbol table at
> > > > > > > > > > > >> offset 0x8cee0... WARNING: ignoring symbol 'DTA'
> > > > > > > > > > > >> of B type in slot 1 with invalid offset 0x183b40
> > > > > > > > > > > >> (>= 0xf6cab). WARNING: ignoring symbol 'MAXY' of
> > > > > > > > > > > >> D type in slot 6 with invalid offset 0x104114 (>=
> > > > > > > > > > > >> 0xe8e4b). ERROR: too many invalid offsets,
> > > > > > > > > > > >> skipping rest of symbols!
> > > > > > > > > > > > 
> > > > > > > > > > > > Hm.  Devpac could be using TEXT-relative symbol
> > > > > > > > > > > > offsets in its symbol table.  Whereas e.g. GCC
> > > > > > > > > > > > uses offsets that are relative to the section
> > > > > > > > > > > > where those symbols are, and so do some other
> > > > > > > > > > > > things (for which I fixed Hatari a while ago).
> > > > > > > > > > > > 
> > > > > > > > > > > > I added code to Hatari to try to load the DATA &
> > > > > > > > > > > > BSS symbols as TEXT relative if loading them as
> > > > > > > > > > > > relative to their own section fails (i.e. offsets
> > > > > > > > > > > > would be outside of that section).
> > > > > > > > > > > > 
> > > > > > > > > > > > Does symbol loading work now?
> > > > > > > > > > > > 
> > > > > > > > > > > > If not, please provide Hatari "info basepage"
> > > > > > > > > > > > output for your program and Atari "nm" tool ouput
> > > > > > > > > > > > for your binary symbol table.
> > > > > > > > > > > > 
> > > > > > > > > > > > 	- Eero
> > > > > > > > > > > > 
> > > > > > > > > > > > PS. If somebody knows a flag in program header or
> > > > > > > > > > > > DRI symbols which tells to what the offsets are
> > > > > > > > > > > > supposed to be relative to, I would appreciate it.
> > > > > > > > > > > > 
> > > > > > > > > > > >> ERROR: reading symbols from
> > 
> > '/media/Win_NTFS/Jeux/Atari/DiskDur.FAL/Thadoss/RACER/RACER/RACER.P
> > 
> > > > > > > > > > RG'
> > > > > > > > > > 
> > > > > > > > > > > >> failed!
> > > > > > > > > > > >> 'symbols' - load CPU symbols & their addresses
> > > > > > > > > > > >> Usage:  symbols <filename|prg|addr|name|free> [<T
> > > > 
> > > > offset>
> > > > 
> > > > > > [<D
> > > > > > 
> > > > > > > > > > offset>
> > > > > > > > > > 
> > > > > > > > > > > >> <B offset>]]
> > > > > > > > > > > >> 
> > > > > > > > > > > >>       Loads symbol names and their addresses from
> > > > > > > > > > > >>       the given file. If there were previously
> > > > > > > > > > > >>       loaded symbols, they're replaced.
> > > > > > > > > > > >>       
> > > > > > > > > > > >>       Giving 'prg' instead of a file name, loads
> > > > > > > > > > > >>       DRI/GST symbol table from the last program
> > > > > > > > > > > >>       executed through the GEMDOS HD emulation.
> > > > > > > > > > > >>       
> > > > > > > > > > > >>       Giving either 'name' or 'addr' instead of a
> > > > > > > > > > > >>       file name, will list the currently loaded
> > > > > > > > > > > >>       symbols. Giving 'free' will remove the
> > > > > > > > > > > >>       loaded symbols.
> > > > > > > > > > > >>       
> > > > > > > > > > > >>       If one base address/offset is given, its
> > > > > > > > > > > >>       added to all addresses. If three offsets
> > > > > > > > > > > >>       are given (and non-zero), they're applied
> > > > > > > > > > > >>       to text (T), data (D) and BSS (B) symbols.
> > > > > > > > > > > >>       Given offsets are used only when loading
> > > > > > > > > > > >>       ASCII symbol files.
> > > > > > > > > > > >> 
> > > > > > > > > > > >> Laurent
> > > > > > > > > > > >> 
> > > > > > > > > > > >> Le 12/06/2014 20:24, Eero Tamminen a écrit :
> > > > > > > > > > > >>> Hi,
> > > > > > > > > > > >>> 
> > > > > > > > > > > >>> On torstai 12 kesäkuu 2014, Laurent Sallafranque
> > 
> > wrote:
> > > > > > > > > > > >>>> I compile Racer with the following options as I
> > > > > > > > > > > >>>> always did before:
> > > > > > > > > > > >>>> 
> > > > > > > > > > > >>>> opt    p=68030/68882,NOCASE,D+,X+
> > > > > > > > > > > >>>> 
> > > > > > > > > > > >>>> Then, I run Racer and break it in the main menu,
> > > > > > > > > > > >>>> but I get the following
> > > > > > > > > > > >>>> 
> > > > > > > > > > > >>>> error message:
> > > > > > > > > > > >>>>    > symbols prg
> > > > > > > > > > > >>>> 
> > > > > > > > > > > >>>> ERROR: no program loaded (through GEMDOS HD
> > 
> > emu)!
> > 
> > > > > > > > > > > >>> Because autoloading of the symbols failed, Hatari
> > > > > > > > > > > >>> removed
> > > > > > > > > > 
> > > > > > > > > > information
> > > > > > > > > > 
> > > > > > > > > > > >>> about the program path from debug symbol code.
> > > > > > > > > > > >>> That's why you get this strange error on
> > > > > > > > > > > >>> following "symbols prg" commands.  I commited an
> > > > > > > > > > > >>> improvement which allows you
> > > > > > 
> > > > > > seeing
> > > > > > 
> > > > > > > > > > > >>> the errors again.
> > > > > > > > > > > >>> 
> > > > > > > > > > > >>> What error you get from symbols autoloading?
> > > > > > > > > > > >>> 
> > > > > > > > > > > >>> 	- Eero
> > > > > > > > > > > >>> 	
> > > > > > > > > > > >>>> Laurent
> > > > > > > > > > > >>>> 
> > > > > > > > > > > >>>> Le 11/06/2014 23:09, Eero Tamminen a écrit :
> > > > > > > > > > > >>>>> Hi,
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>> On keskiviikko 11 kesäkuu 2014, Laurent
> > > > > > > > > > > >>>>> Sallafranque
> > > > 
> > > > wrote:
> > > > > > > > > > > >>>>>> I can't use symbols prg with the latest
> > > > > > > > > > > >>>>>> release.
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>> What this means?
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>>> Is it me or something is broken here ?
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>> Nowadays Hatari nowadays loads symbols
> > > > > > > > > > > >>>>> automatically
> > > > 
> > > > if
> > > > 
> > > > > > > > program
> > > > > > > > 
> > > > > > > > > > has
> > > > > > > > > > 
> > > > > > > > > > > >>>>> them.
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>> Note that:
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>> * with GCC you need to ask linker to generate
> > > > > > > > > > > >>>>> old style (DRI) symbols.
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>>      More detailed a.out format symbols you
> > > > > > > > > > > >>>>>      need to output with nm and read as
> > > > > > > > > > > >>>>>      separate ASCII symbols file.
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>> * if you're using VBCC, make sure that you use
> > > > > > > > > > > >>>>> a version with fixed linker.
> > > > > > > > > > > >>>>> 
> > > > > > > > > > > >>>>>      Older VBCC linker used broken data/bss
> > > > > > > > > > > >>>>>      symbol offsets. For those you need to use
> > > > > > > > > > > >>>>>      gst2ascii program and load symbols as
> > > > > > > > > > > >>>>>      ASCII.
> > > > > > > > > > > >>>>> 	
> > > > > > > > > > > >>>>> 	- Eero




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/