Line 61... |
Line 61... |
|
|
/* Override previous definitions (linux.h). Newlib doesn't have a profiling
|
/* Override previous definitions (linux.h). Newlib doesn't have a profiling
|
version of the library, but it does have a debugging version (libg.a) */
|
version of the library, but it does have a debugging version (libg.a) */
|
#undef LIB_SPEC
|
#undef LIB_SPEC
|
#define LIB_SPEC "%{!mor32-newlib*:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}} \
|
#define LIB_SPEC "%{!mor32-newlib*:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}} \
|
%{mor32-newlib:%{!g:-lc -lor32 -u _free -lc} \
|
%{mor32-newlib:%{!g:-lc -lor32 -u free -lc} \
|
%{g:-lg -lor32 -u _free -lg}} \
|
%{g:-lg -lor32 -u free -lg}} \
|
%{mor32-newlib-uart:%{!g:-lc -lor32uart -u _free -lc} \
|
%{mor32-newlib-uart:%{!g:-lc -lor32uart -u free -lc} \
|
%{g:-lg -lor32uart -u _free -lg}}"
|
%{g:-lg -lor32uart -u free -lg}}"
|
|
|
/* Old definition of LIB_SPEC, not longer used. */
|
/* Old definition of LIB_SPEC, not longer used. */
|
/* 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 1011... |
Line 1011... |
|
|
/* SIMON */
|
/* SIMON */
|
/*#define ASM_OUTPUT_LABELREF(stream,name) \
|
/*#define ASM_OUTPUT_LABELREF(stream,name) \
|
{ fputc('_',stream); fputs(name,stream); }
|
{ fputc('_',stream); fputs(name,stream); }
|
*/
|
*/
|
#define ASM_OUTPUT_LABELREF(stream,name) \
|
/* JPB. We need to implement this, otherwise we get a leading underscore added
|
{if(name[0] == '*') \
|
by default. Not sure where that default implementation is coming from
|
fputs(name,stream); \
|
yet... */
|
else { \
|
/* #define ASM_OUTPUT_LABELREF(stream, name) fputs (name, stream) */
|
fputc('_',stream); fputs(name,stream); \
|
|
}}
|
|
#endif
|
#endif
|
|
|
/* The prefix to add to user-visible assembler symbols. */
|
/* The prefix to add to user-visible assembler symbols. */
|
|
|
/* Remove any previous definition (elfos.h). */
|
/* Remove any previous definition (elfos.h). */
|
/* We use -fno-leading-underscore to remove it, when necessary. */
|
/* We use -fno-leading-underscore to remove it, when necessary. */
|
|
/* JPB: No prefix for global symbols */
|
#undef USER_LABEL_PREFIX
|
#undef USER_LABEL_PREFIX
|
#define USER_LABEL_PREFIX "_"
|
#define USER_LABEL_PREFIX ""
|
|
|
/* Remove any previous definition (elfos.h). */
|
/* Remove any previous definition (elfos.h). */
|
#ifndef ASM_GENERATE_INTERNAL_LABEL
|
#ifndef ASM_GENERATE_INTERNAL_LABEL
|
#define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \
|
#define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \
|
sprintf (LABEL, "*%s%d", PREFIX, NUM)
|
sprintf (LABEL, "*%s%d", PREFIX, NUM)
|
Line 1123... |
Line 1122... |
#define ASM_OUTPUT_ASCII(STREAM, PTR, LEN) \
|
#define ASM_OUTPUT_ASCII(STREAM, PTR, LEN) \
|
output_ascii_pseudo_op (STREAM, (const unsigned char *) (PTR), LEN)
|
output_ascii_pseudo_op (STREAM, (const unsigned char *) (PTR), LEN)
|
|
|
/* Invoked just before function output. */
|
/* Invoked just before function output. */
|
#define ASM_OUTPUT_FUNCTION_PREFIX(stream, fnname) \
|
#define ASM_OUTPUT_FUNCTION_PREFIX(stream, fnname) \
|
fputs(".proc ",stream); assemble_name(stream,fnname); \
|
fputs("\t.proc\t",stream); assemble_name(stream,fnname); \
|
fputs("\n",stream);
|
fputs("\n",stream);
|
|
|
/* This says how to output an assembler line
|
/* This says how to output an assembler line
|
to define a global common symbol. */
|
to define a global common symbol. */
|
#define ASM_OUTPUT_COMMON(stream,name,size,rounded) \
|
#define ASM_OUTPUT_COMMON(stream,name,size,rounded) \
|