Mercurial > hg > CbC > CbC_gcc
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 |