comparison gcc/config/i386/freebsd.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Definitions for Intel 386 running FreeBSD with ELF format 1 /* Definitions for Intel 386 running FreeBSD with ELF format
2 Copyright (C) 1996-2017 Free Software Foundation, Inc. 2 Copyright (C) 1996-2018 Free Software Foundation, Inc.
3 Contributed by Eric Youngdale. 3 Contributed by Eric Youngdale.
4 Modified for stabs-in-ELF by H.J. Lu. 4 Modified for stabs-in-ELF by H.J. Lu.
5 Adapted from GNU/Linux version by John Polstra. 5 Adapted from GNU/Linux version by John Polstra.
6 Continued development by David O'Brien <obrien@freebsd.org> 6 Continued development by David O'Brien <obrien@freebsd.org>
7 7
90 %{static:-Bstatic}} \ 90 %{static:-Bstatic}} \
91 %{symbolic:-Bsymbolic}" 91 %{symbolic:-Bsymbolic}"
92 92
93 /* A C statement to output to the stdio stream FILE an assembler 93 /* A C statement to output to the stdio stream FILE an assembler
94 command to advance the location counter to a multiple of 1<<LOG 94 command to advance the location counter to a multiple of 1<<LOG
95 bytes if it is within MAX_SKIP bytes. 95 bytes if it is within MAX_SKIP bytes. */
96 96
97 This is used to align code labels according to Intel recommendations. */ 97 #define SUBALIGN_LOG 3
98 98
99 #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN 99 #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
100 #undef ASM_OUTPUT_MAX_SKIP_ALIGN 100 #undef ASM_OUTPUT_MAX_SKIP_ALIGN
101 #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ 101 #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
102 do { \ 102 do { \
103 if ((LOG) != 0) { \ 103 if ((LOG) != 0) { \
104 if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ 104 if ((MAX_SKIP) == 0 || (MAX_SKIP) >= (1 << (LOG)) - 1) \
105 else { \ 105 fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
106 else \
106 fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ 107 fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
107 /* Make sure that we have at least 8 byte alignment if > 8 byte \
108 alignment is preferred. */ \
109 if ((LOG) > 3 \
110 && (1 << (LOG)) > ((MAX_SKIP) + 1) \
111 && (MAX_SKIP) >= 7) \
112 fputs ("\t.p2align 3\n", (FILE)); \
113 } \
114 } \ 108 } \
115 } while (0) 109 } while (0)
116 #endif 110 #endif
117 111
118 /* Don't default to pcc-struct-return, we want to retain compatibility with 112 /* Don't default to pcc-struct-return, we want to retain compatibility with