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.