--- djgpp.h~1 2005-05-28 19:19:02.000000000 +0000 +++ djgpp.h 2005-05-28 20:17:00.000000000 +0000 @@ -22,6 +22,11 @@ /* Support generation of DWARF2 debugging info. */ #define DWARF2_DEBUGGING_INFO 1 +/* Use DWARF2 debugging info by default: comment out following */ +/* 2 lines to default to COFF debugging info */ +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG + /* Don't assume anything about the header files. */ #define NO_IMPLICIT_EXTERN_C @@ -65,6 +70,8 @@ #undef STANDARD_INCLUDE_DIR #define STANDARD_INCLUDE_DIR "/dev/env/DJDIR/include/" +#undef PREFIX_INCLUDE_DIR + /* Search for as.exe and ld.exe in DJGPP's binary directory. */ #undef MD_EXEC_PREFIX #define MD_EXEC_PREFIX "/dev/env/DJDIR/bin/" @@ -73,16 +80,16 @@ #undef MD_STARTFILE_PREFIX #define MD_STARTFILE_PREFIX "/dev/env/DJDIR/lib/" -/* Correctly handle absolute filename detection in cp/xref.c */ -#define FILE_NAME_ABSOLUTE_P(NAME) \ - (((NAME)[0] == '/') || ((NAME)[0] == '\\') || \ - (((NAME)[0] >= 'A') && ((NAME)[0] <= 'z') && ((NAME)[1] == ':'))) - #define TARGET_OS_CPP_BUILTINS() \ do \ { \ + if (!flag_iso) \ + builtin_define_with_int_value ("DJGPP",2); \ + builtin_define_with_int_value ("__DJGPP",2); \ + builtin_define_with_int_value ("__DJGPP__",2); \ builtin_define_std ("MSDOS"); \ builtin_define_std ("GO32"); \ + builtin_define_std ("unix"); \ builtin_assert ("system=msdos"); \ } \ while (0) @@ -90,7 +97,7 @@ /* Include so __DJGPP__ and __DJGPP_MINOR__ are defined. */ #undef CPP_SPEC #define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \ - -imacros %s../include/sys/version.h" + %{!nostdinc:-imacros %sdjgpp.ver}" /* We need to override link_command_spec in gcc.c so support -Tdjgpp.djl. This cannot be done in LINK_SPECS as that LINK_SPECS is processed @@ -100,15 +107,14 @@ */ #undef LINK_COMMAND_SPEC -#define LINK_COMMAND_SPEC \ -"%{!fsyntax-only: \ -%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \ -\t%{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\ -\t%{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ -\t%{static:} %{L*} %D %o\ -\t%{!nostdlib:%{!nodefaultlibs:%G %L %G}}\ -\t%{!A:%{!nostdlib:%{!nostartfiles:%E}}}\ -\t-Tdjgpp.djl %{T*}}}}}}}\n\ +#define LINK_COMMAND_SPEC "\ +%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ + %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ + %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ + %{static:} %{L*} %(mfwrap) %(link_libgcc) %o %(mflib)\ + %{fprofile-arcs|fprofile-generate|coverage:-lgcov}\ + %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}\ + %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}\n\ %{!c:%{!M:%{!MM:%{!E:%{!S:stubify %{v} %{o*:%*} %{!o*:a.out} }}}}}" /* Always just link in 'libc.a'. */ @@ -166,23 +172,20 @@ #undef PTRDIFF_TYPE #define PTRDIFF_TYPE "int" -/* Used to be defined in xm-djgpp.h, but moved here for cross-compilers. */ -#define LIBSTDCXX "-lstdcxx" - #define TARGET_VERSION fprintf (stderr, " (80386, MS-DOS DJGPP)"); -/* Warn that -mbnu210 is now obsolete. */ -#undef SUBTARGET_OVERRIDE_OPTIONS -#define SUBTARGET_OVERRIDE_OPTIONS \ -do \ - { \ - if (TARGET_BNU210) \ - { \ - warning (0, "-mbnu210 is ignored (option is obsolete)"); \ - } \ - } \ -while (0) - /* Support for C++ templates. */ #undef MAKE_DECL_ONE_ONLY #define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1) + +#undef DBX_REGISTER_NUMBER +#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n] + +/* Default to pcc-struct-return. */ +#define DEFAULT_PCC_STRUCT_RETURN 1 + +/* Copied from gcc/varasm.c. (i386.c uses it) */ +#undef ASM_DECLARE_FUNCTION_NAME +#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ + ASM_OUTPUT_LABEL (FILE, NAME); +