From d407b27dc1d160b62421b4fd3c94d8d822c97c42 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Fri, 13 Oct 2006 16:01:38 +0000 Subject: [PATCH] elfos.h (MAX_OFILE_ALIGNMENT): Default to largest alignment supported by 32-bit ELF. gcc/ 2006-10-13 Carlos O'Donell * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest alignment supported by 32-bit ELF. From-SVN: r117697 --- gcc/ChangeLog | 5 +++++ gcc/config/elfos.h | 17 +++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d62801bdbba..ff9a8412e5a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-10-13 Carlos O'Donell + + * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest + alignment supported by 32-bit ELF. + 2006-10-13 Paolo Bonzini PR c/29092 diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h index a2bd49f909a..f685293cd9b 100644 --- a/gcc/config/elfos.h +++ b/gcc/config/elfos.h @@ -40,12 +40,17 @@ Boston, MA 02110-1301, USA. */ #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" -/* Biggest alignment supported by the object file format of this - machine. Use this macro to limit the alignment which can be - specified using the `__attribute__ ((aligned (N)))' construct. If - not defined, the default value is `BIGGEST_ALIGNMENT'. */ -#ifndef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT (32768 * 8) +/* The biggest alignment supported by ELF. 32-bit ELF supports + section alignment up to (0x80000000 * 8), while 64-bit ELF + supports (0x8000000000000000 * 8). If this macro is not + defined, the default is the largest alignment supported by + 32-bit ELF. Use this macro to limit the alignment which can + be specified using the `__attribute__ ((aligned (N)))' + construct. */ +#if (HOST_BITS_PER_WIDEST_INT >= 64) +#define MAX_OFILE_ALIGNMENT (((unsigned HOST_WIDEST_INT) 1 << 31) * 8) +#else +#define MAX_OFILE_ALIGNMENT (((unsigned HOST_WIDEST_INT) 1 << 28) * 8) #endif /* Use periods rather than dollar signs in special g++ assembler names. */ -- 2.30.2