Re: AVR simulator support

Jacob Bachmeyer <[email protected]> Fri, 14 Aug 2020 16:11:18 -0500
Newsgroups gmane.comp.sysutils.dejagnu.general
Message-ID <[email protected]>
Pip Cet wrote:
> I'm running the GCC testsuite on AVR using the simulator included in
> binutils-gdb, and an avr-sim.exp file, which essentially duplicates
> all the other *-sim.exp files.
>
> Is that the right way, or should I be using generic-sim.exp or multi-sim.exp?
>   

The multi-sim.exp file seems to be for testing multilib targets and the 
generic-sim.exp file seems to be for the Cygnus multi-target simulator.  
As far as I can tell right now, avr-sim.exp should be a separate board file.

> If the right way is to use an avr-sim.exp file, what's the best way of
> adding one to the DejaGNU distribution?

Posting on the mailing list was the first step.  :-)

> I think the changes qualify as
> "tiny", but obviously signing a copyright assignment is not a problem
> if that's the preferred way.
>   

Please contact <[email protected]> to get the forms.

> The only complications are that the AVR simulator needs an extra
> object file to be linked, an extra -mmcu=* flag to be provided during
> compilation, and that a different libc is used.
>
> I'm attaching my avr-sim.exp for reference.
>   

I see a few changes to make on a first glance:
    1.  Beginning with 1.6.3 (to be released soon) and in current Git, 
the "compiler" board_info key is optional and [find_gcc] is evaluated to 
obtain a default value.  If avr-sim.exp needs avr-gcc, using [find_gcc] 
is probably wrong and it should select "avr-gcc" instead.
    2.  There is a comment about the simulator not having arguments or 
signals that should be directly before the "noargs" and "gdb,nosignals" 
lines; if this came from another file in DejaGnu, please tell me which 
file so I can fix it.
    3.  The avr-libc include and link flags should probably be 
overridable using environment variables, instead of hard-coded empty 
strings.


-- Jacob