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,
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 [mailto:oak@xxxxxxxxxxxxxx]
> > 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