--- gcc/config/i386/osfrose.h 2018/04/24 18:22:52 1.1.1.3 +++ gcc/config/i386/osfrose.h 2018/04/24 18:30:36 1.1.1.4 @@ -16,7 +16,8 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ #include "halfpic.h" #include "i386/gstabs.h" @@ -94,7 +95,7 @@ the Free Software Foundation, 675 Mass A /* Handle #pragma weak and #pragma pack. */ #define HANDLE_SYSV_PRAGMA -#define HANDLE_PRAGMA_WEAK TARGET_ELF +#define SUPPORTS_WEAK TARGET_ELF /* Change default predefines. */ #undef CPP_PREDEFINES @@ -184,11 +185,9 @@ the Free Software Foundation, 675 Mass A enclosed in `extern "C" {...}'. */ #define NO_IMPLICIT_EXTERN_C -#ifdef NO_LONG_DOUBLE /* Turn off long double being 96 bits. */ #undef LONG_DOUBLE_TYPE_SIZE #define LONG_DOUBLE_TYPE_SIZE 64 -#endif /* This macro generates the assembly code for function entry. FILE is a stdio stream to output the code to. @@ -411,7 +410,7 @@ while (0) #undef ASM_OUTPUT_ALIGN_CODE #define ASM_OUTPUT_ALIGN_CODE(STREAM) \ fprintf (STREAM, "\t.align\t%d\n", \ - (TARGET_486 && TARGET_LARGE_ALIGN) ? 4 : 2) + (!TARGET_LARGE_ALIGN && i386_align_jumps > 2) ? 2 : i386_align_jumps) /* A C expression to output text to align the location counter in the way that is desirable at the beginning of a loop. @@ -422,7 +421,7 @@ while (0) #undef ASM_OUTPUT_LOOP_ALIGN #define ASM_OUTPUT_LOOP_ALIGN(STREAM) \ - fprintf (STREAM, "\t.align\t2\n") + fprintf (STREAM, "\t.align\t%d\n", i386_align_loops) /* A C statement to output to the stdio stream STREAM an assembler command to advance the location counter to a multiple of 2 to the @@ -617,9 +616,14 @@ while (0) #define TYPE_ASM_OP ".type" #define SIZE_ASM_OP ".size" -#define WEAK_ASM_OP ".weak" #define SET_ASM_OP ".set" +/* This is how we tell the assembler that a symbol is weak. */ + +#define ASM_WEAKEN_LABEL(FILE,NAME) \ + do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ + fputc ('\n', FILE); } while (0) + /* The following macro defines the format used to output the second operand of the .type assembler directive. Different svr4 assemblers expect various different forms for this operand. The one given here