--- gcc/config/next.h 2018/04/24 17:51:36 1.1 +++ gcc/config/next.h 2018/04/24 18:05:31 1.1.1.3 @@ -18,6 +18,27 @@ the Free Software Foundation, 675 Mass A #include "m68k.h" +/* Use new NeXT include file search path. */ + +#ifndef CROSS_COMPILE /* In a cross compiler with NeXT as target, don't expect + the host to use Next's directory scheme. */ +#define INCLUDE_DEFAULTS \ + { \ + { GPLUSPLUS_INCLUDE_DIR, 1}, \ + { GCC_INCLUDE_DIR, 0}, \ + { LOCAL_INCLUDE_DIR, 0}, \ + { "/NextDeveloper/Headers", 0}, \ + { "/NextDeveloper/Headers/ansi", 0}, \ + { "/NextDeveloper/Headers/bsd", 0}, \ + { "/LocalDeveloper/Headers", 0}, \ + { "/LocalDeveloper/Headers/ansi", 0}, \ + { "/LocalDeveloper/Headers/bsd", 0}, \ + { "/NextDeveloper/2.0CompatibleHeaders", 0}, \ + { STANDARD_INCLUDE_DIR, 0}, \ + { 0, 0} \ + } +#endif /* CROSS_COMPILE */ + #define EXTRA_FORMAT_FUNCTIONS \ "NXPrintf", FALSE, 2, FALSE, \ "NXScanf", TRUE, 2, FALSE, \ @@ -59,12 +80,14 @@ the Free Software Foundation, 675 Mass A } while (0) /* Wrap new method names in quotes so the assembler doesn't gag. - Make Objective-C internal symbols local. */ + Make Objective-C internal symbols local. */ #undef ASM_OUTPUT_LABELREF #define ASM_OUTPUT_LABELREF(FILE,NAME) \ do { if (NAME[0] == '+' || NAME[0] == '-') fprintf (FILE, "\"%s\"", NAME); \ else if (!strncmp (NAME, "_OBJC_", 6)) fprintf (FILE, "L%s", NAME); \ + else if (!strncmp (NAME, ".objc_class_name_", 17)) \ + fprintf (FILE, "%s", NAME); \ else fprintf (FILE, "_%s", NAME); } while (0) #undef STACK_BOUNDARY @@ -76,6 +99,7 @@ the Free Software Foundation, 675 Mass A #define WORD_SWITCH_TAKES_ARG(STR) \ (!strcmp (STR, "Ttext") ? 1 : \ !strcmp (STR, "Tdata") ? 1 : \ + !strcmp (STR, "Tbss") ? 1 : \ !strcmp (STR, "include") ? 1 : \ !strcmp (STR, "imacros") ? 1 : \ !strcmp (STR, "segalign") ? 1 : \ @@ -87,11 +111,12 @@ the Free Software Foundation, 675 Mass A !strcmp (STR, "sectalign") ? 3 : \ !strcmp (STR, "segcreate") ? 3 : \ !strcmp (STR, "sectorder") ? 3 : \ + !strcmp (STR, "aux-info") ? 1 : \ 0) /* Names to predefine in the preprocessor for this target machine. */ -#define CPP_PREDEFINES "-Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__" +#define CPP_PREDEFINES "-Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__ -D__ARCHITECTURE__=\"m68k\"" /* Machine dependent ccp options. */ @@ -184,6 +209,7 @@ the Free Software Foundation, 675 Mass A ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-")) \ : fprintf (FILE, "#0r%.20g", (VALUE))) +#if 0 /* This is for system verson 3.0, which isn't out yet. */ #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ do { constructor_section (); \ ASM_OUTPUT_ALIGN (FILE, 1); \ @@ -197,6 +223,7 @@ the Free Software Foundation, 675 Mass A fprintf (FILE, "\t.long "); \ assemble_name (FILE, NAME); \ fprintf (FILE, "\n"); } while (0) +#endif /* How to parse #pragma's */ @@ -412,19 +439,19 @@ SECTION_FUNCTION (objc_module_info_secti #undef CASE_VECTOR_PC_RELATIVE /* Don't treat addresses involving labels differently from symbol names. - Previsouly, references to labels generated pc-relative addressing modes + Previously, references to labels generated pc-relative addressing modes while references to symbol names generated absolute addressing modes. */ #undef GO_IF_INDEXABLE_BASE(X, ADDR) #define GO_IF_INDEXABLE_BASE(X, ADDR) \ { if (GET_CODE (X) == REG && REG_OK_FOR_BASE_P (X)) goto ADDR; } -#define ALIGN_ASM_OP "\t.align" +#define ALIGN_ASM_OP ".align" #undef ASM_OUTPUT_ALIGN #define ASM_OUTPUT_ALIGN(FILE,LOG) \ if ((LOG) != 0) \ - fprintf (FILE, "%s %d\n", ALIGN_ASM_OP, (LOG)) + fprintf (FILE, "\t%s %d\n", ALIGN_ASM_OP, (LOG)) /* The maximum alignment which the object file format can support. For NeXT's Mach-O format, this is 2^15. */