Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/i386/openbsdelf.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 /* Configuration for an OpenBSD i386 target. | 1 /* Configuration for an OpenBSD i386 target. |
2 | 2 |
3 Copyright (C) 2005-2017 Free Software Foundation, Inc. | 3 Copyright (C) 2005-2018 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify | 7 GCC is free software; you can redistribute it and/or modify |
8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
61 #undef ASM_APP_OFF | 61 #undef ASM_APP_OFF |
62 #define ASM_APP_OFF "#NO_APP\n" | 62 #define ASM_APP_OFF "#NO_APP\n" |
63 | 63 |
64 /* A C statement to output to the stdio stream FILE an assembler | 64 /* A C statement to output to the stdio stream FILE an assembler |
65 command to advance the location counter to a multiple of 1<<LOG | 65 command to advance the location counter to a multiple of 1<<LOG |
66 bytes if it is within MAX_SKIP bytes. | 66 bytes if it is within MAX_SKIP bytes. */ |
67 | 67 |
68 This is used to align code labels according to Intel recommendations. */ | 68 #define SUBALIGN_LOG 3 |
69 | 69 |
70 #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN | 70 #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN |
71 #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ | 71 #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ |
72 do { \ | 72 do { \ |
73 if ((LOG) != 0) { \ | 73 if ((LOG) != 0) { \ |
74 if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ | 74 if ((MAX_SKIP) == 0 || (MAX_SKIP) >= (1 << (LOG)) - 1) \ |
75 else { \ | 75 fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ |
76 else \ | |
76 fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ | 77 fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ |
77 /* Make sure that we have at least 8 byte alignment if > 8 byte \ | |
78 alignment is preferred. */ \ | |
79 if ((LOG) > 3 \ | |
80 && (1 << (LOG)) > ((MAX_SKIP) + 1) \ | |
81 && (MAX_SKIP) >= 7) \ | |
82 fputs ("\t.p2align 3\n", (FILE)); \ | |
83 } \ | |
84 } \ | 78 } \ |
85 } while (0) | 79 } while (0) |
86 #endif | 80 #endif |
87 | 81 |
88 /* OpenBSD's profiler recovers all information from the stack pointer. | 82 /* OpenBSD's profiler recovers all information from the stack pointer. |