------- Comment #14 from joel at gcc dot gnu dot org 2009-01-19 19:15 -------
(In reply to comment #12)
> How can I reproduce it on Linux/x86-64, assuming I know nothing
> about rtems and sim?
>
You don't have to know much of anything. It should be reproducible with
powerpc-elf but this is the known way to the goal. I configure gdb
6.8 this way using a GCC SVN native compiler.
rm -rf b-gdb && mkdir b-gdb && cd b-gdb && \
../gdb-6.8/configure --target=powerpc-rtems4.10 \
--disable-werror --enable-sim --enable-sim-hardware --enable-timebase \
--enable-sim-trace 2>&1 && \
make
That should give you an executable named "run" in the sim/ppc subdirectory
of the build tree. There are two attachments to this PR:
+ powerpc-ticker-ticker.ralf.bz2
+ psim-4.10
uncompress the ticker executable anywhere.
The psim-4.10 scripts creates a psim device tree and runs the executable
that is $1. Edit to fix the definition of "RUN" to get the "run" executable
in the build tree.
I place the psim-4.10 program in my "gcc-pr38587" and it picks up the
run executable from the build. It assumes you are in the build tree
when run.
../psim-4.10 /home/joel/powerpc-psim-ticker.ralf
It is a hack to make this easier to check since it has been
broken for over a month and I have checked it every few days.
It will print a few lines from tasks TA1, TA2, and TA3 and when it gets to
the end, you get an assertion.
Looking at the code in idecode.c, I suspect a setjmp/longjmp interacting
with the register usage. But who knows.
If you have trouble, I will try to answer quickly. Thanks.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587