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,

"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/