freebsd-skq/contrib/gcc/config/i386/i386iscgas.h

68 lines
2.5 KiB
C
Raw Normal View History

/* Definitions for Intel 386 running Interactive Unix System V,
producing stabs-in-coff output (using a slightly modified gas).
Specifically, this is for recent versions that support POSIX;
for version 2.0.2, use configuration option i386-sysv instead. */
/* Underscores are not used on ISC systems (probably not on any COFF
system), despite the comments in i386/gas.h. If this is not defined,
enquire (for example) will fail to link. --karl@cs.umb.edu */
#define NO_UNDERSCORES
/* Mostly like other gas-using systems. */
#include "i386/gas.h"
/* But with ISC-specific additions. */
#include "i386/isc.h"
/* We do not want to output SDB debugging information. */
#undef SDB_DEBUGGING_INFO
/* We want to output DBX debugging information. */
#define DBX_DEBUGGING_INFO
/* The function `dbxout_init' in dbxout.c omits the first character of
`ltext_label_name' when outputting the main source directory and main
source filename. I don't understand why, but rather than making a
system-independent change there, I override dbxout.c's defaults.
Perhaps it would be better to use ".Ltext0" instead of
`ltext_label_name', but we've already generated the label, so we just
use it here. --karl@cs.umb.edu */
#define DBX_OUTPUT_MAIN_SOURCE_DIRECTORY(asmfile, cwd) \
do { fprintf (asmfile, "%s ", ASM_STABS_OP); \
output_quoted_string (asmfile, cwd); \
fprintf (asmfile, ",%d,0,0,%s\n", N_SO, ltext_label_name); \
} while (0)
#define DBX_OUTPUT_MAIN_SOURCE_FILENAME(asmfile, input_file_name) \
fprintf (asmfile, "%s ", ASM_STABS_OP); \
output_quoted_string (input_file_name); \
fprintf (asmfile, ",%d,0,0,%s\n", N_SO, ltext_label_name); \
text_section (); \
ASM_OUTPUT_INTERNAL_LABEL (asmfile, "Ltext", 0)
/* Because we don't include `svr3.h', we haven't yet defined SIZE_TYPE
and PTRDIFF_TYPE. ISC's definitions don't match GCC's defaults, so: */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
/* But we can't use crtbegin.o and crtend.o, because gas 1.38.1 doesn't
grok .section. The definitions here are otherwise identical to those
in i386/isc.h. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
"%{!shlib:%{posix:%{pg:mcrtp1.o%s}%{!pg:%{p:mcrtp1.o%s}%{!p:crtp1.o%s}}}\
%{!posix:%{pg:mcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}\
%{p:-L/lib/libp} %{pg:-L/lib/libp}}}\
%{shlib:%{posix:crtp1.o%s}%{!posix:crt1.o%s}}"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtn.o%s"