--- gcc/config/hp320.h 2018/04/24 17:51:33 1.1 +++ gcc/config/hp320.h 2018/04/24 17:58:58 1.1.1.3 @@ -31,6 +31,13 @@ the Free Software Foundation, 675 Mass A #define SGS /* Uses SGS assembler */ #define SGS_CMP_ORDER /* Takes cmp operands in reverse order */ #define HPUX_ASM + +/* gcc.c should find libgcc.a itself rather than expecting linker to. */ +#define LINK_LIBGCC_SPECIAL +/* The arguments of -L must be a separate argv element. */ +#define SPACE_AFTER_L_OPTION +/* HP/UX doesn't have libg.a. */ +#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" #endif /* Be compatible with system stddef.h. */ @@ -95,9 +102,6 @@ the Free Software Foundation, 675 Mass A #define ASM_SPEC \ "%{m68000:-mc68000}%{mc68000:-mc68000}%{!mc68000:%{!m68000:-mc68020}}" -/* special directory for gnu libs on hp-ux system */ -#define MD_STARTFILE_PREFIX "/usr/local/lib/gnu/" - /* Tell GCC to put a space after -L when generating such options. */ #define SPACE_AFTER_L_OPTION @@ -160,8 +164,8 @@ the Free Software Foundation, 675 Mass A #undef PRINT_OPERAND #undef PRINT_OPERAND_ADDRESS #undef FUNCTION_PROFILER -#undef ASM_GLOBALIZE_LABEL #undef ASM_OUTPUT_INTERNAL_LABEL +#undef GLOBAL_ASM_OP #define TARGET_VERSION fprintf (stderr, " (68k, SGS/hpux syntax)"); @@ -288,7 +292,12 @@ the Free Software Foundation, 675 Mass A #define DATA_SECTION_ASM_OP "data" -#define ASCII_DATA_ASM_OP "\tbyte" +#define ASCII_DATA_ASM_OP "byte" + +/* This is the command to make the user-level label named NAME + defined for reference from other files. */ + +#define GLOBAL_ASM_OP "global" /* This says how to output an assembler line to define a global common symbol. */ @@ -314,12 +323,6 @@ the Free Software Foundation, 675 Mass A ( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 12), \ sprintf ((OUTPUT), "%s___%d", (NAME), (LABELNO))) -/* This is how to output a command to make the user-level label named NAME - defined for reference from other files. */ - -#define ASM_GLOBALIZE_LABEL(FILE,NAME) \ - do { fputs ("\tglobal ", FILE); assemble_name (FILE, NAME); fputs ("\n", FILE);} while (0) - #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ do{ if (PREFIX[0] == 'L' && PREFIX[1] == 'I') \ fprintf(FILE, "\tset %s%d,.+2\n", PREFIX, NUM); \ @@ -381,7 +384,7 @@ do{ if (PREFIX[0] == 'L' && PREFIX[1] = else if (CODE == '-') fprintf (FILE, "-(%%sp)"); \ else if (CODE == '+') fprintf (FILE, "(%%sp)+"); \ else if (CODE == '@') fprintf (FILE, "(%%sp)"); \ - else if (CODE == '!') fprintf (FILE, "%%cc"); \ + else if (CODE == '!') fprintf (FILE, "%%fpcr"); \ else if (CODE == '$') { if (TARGET_68040_ONLY) fprintf (FILE, "s"); } \ else if (CODE == '&') { if (TARGET_68040_ONLY) fprintf (FILE, "d"); } \ else if (GET_CODE (X) == REG) \ @@ -553,7 +556,7 @@ do{ if (PREFIX[0] == 'L' && PREFIX[1] = putc('\n', (f)); \ inside = FALSE; \ } \ - fprintf((f), "%s ", ASCII_DATA_ASM_OP); \ + fprintf((f), "\t%s ", ASCII_DATA_ASM_OP); \ } \ if ((p)[i] < 32 || (p)[i] == '\\' || (p)[i] == '"' || (p)[i] == 127) { \ if (inside) { \