Line 33... |
Line 33... |
builtin_assert ("cpu=or32"); \
|
builtin_assert ("cpu=or32"); \
|
builtin_assert ("machine=or32"); \
|
builtin_assert ("machine=or32"); \
|
} \
|
} \
|
while (0)
|
while (0)
|
|
|
|
/* If we are using newlib, then use this version of the library */
|
|
#define LINK_SPEC "%{mor32-newlib:-T ldscripts/or32.ld%s}"
|
|
|
|
/* Finally specify the newlib lirary */
|
|
#define ENDFILE_SPEC "%{mor32-newlib:libor32.a%s -lc -lgcc}"
|
|
|
#if 0
|
#if 0
|
|
|
/* Which library to get. The only difference from the default is to get
|
/* Which library to get. The only difference from the default is to get
|
libsc.a if -sim is given to the driver. Repeat -lc -lsysX
|
libsc.a if -sim is given to the driver. Repeat -lc -lsysX
|
{X=sim,linux}, because libsysX needs (at least) errno from libc, and
|
{X=sim,linux}, because libsysX needs (at least) errno from libc, and
|
Line 645... |
Line 651... |
|
|
/* Output assembler code to FILE to increment profiler label # LABELNO
|
/* Output assembler code to FILE to increment profiler label # LABELNO
|
for profiling a function entry. */
|
for profiling a function entry. */
|
|
|
#define FUNCTION_PROFILER(FILE, LABELNO) \
|
#define FUNCTION_PROFILER(FILE, LABELNO) \
|
fprintf (FILE, "\tl.load32u\tr0,LP%d\n\tcall\tmcount\n", (LABELNO));
|
fprintf (FILE, "\tl.movhi\tr3,hi(.LP%d)\n", (LABELNO)); \
|
|
fprintf (FILE, "\tl.ori\tr3,r3,lo(.LP%d)\n", (LABELNO)); \
|
|
fprintf (FILE, "\tl.j\tmcount\n"); \
|
|
fprintf (FILE, "\tl.nop\n");
|
|
|
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
|
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
|
the stack pointer does not matter. The value is tested only in
|
the stack pointer does not matter. The value is tested only in
|
functions that have frame pointers.
|
functions that have frame pointers.
|
No definition is equivalent to always zero. */
|
No definition is equivalent to always zero. */
|