From 8fa0c55d2c355bf9cbae7d66a42a01ade6df3d79 Mon Sep 17 00:00:00 2001 From: nickc Date: Thu, 28 Oct 1999 09:28:04 +0000 Subject: [PATCH] Allow netbsd target to also set structure size boundary git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30234 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/config/arm/arm.c | 2 +- gcc/config/arm/arm.h | 20 +++++++++++++------- gcc/config/arm/netbsd.h | 4 ++-- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fefd38df337..f0e27274e03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +Thu Oct 28 10:00:48 1999 Nick Clifton + + * config/arm/arm.c: Initialise arm_structure_size_boundary to + DEFAULT_STRUCTURE_SIZE_BOUNDARY. + * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define + to the value 32 if it has not already been defined. + * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): + Override definition in arm.h with a value of 8. + Thu Oct 28 03:12:02 1999 David Starner * c-pragma.c (push_alignment): Don't check the return value diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 01f4175c017..1bc1c0cd438 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -96,7 +96,7 @@ const char * target_fp_name = NULL; /* Used to parse -mstructure_size_boundary command line option. */ const char * structure_size_string = NULL; -int arm_structure_size_boundary = 32; /* Used to be 8 */ +int arm_structure_size_boundary = DEFAULT_STRUCTURE_SIZE_BOUNDARY; /* Bit values used to identify processor capabilities. */ #define FL_CO_PROC (1 << 0) /* Has external co-processor bus */ diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index d64f5906260..0c8c697bfbb 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -615,15 +615,21 @@ extern int arm_is_6_or_7; (TREE_CODE (EXP) == STRING_CST \ && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN)) -/* Setting this to 32 produces more efficient code, but the value set in - previous versions of this toolchain was 8, which produces more compact - structures. The command line option -mstructure_size_boundary= can - be used to change this value, for compatability with the ARM SDK however - the value should be left at 32. ARM SDT Reference Manual (ARM DUI 0020D) - page 2-20 says "Structures are aligned on word boundaries". */ -#ifndef STRUCTURE_SIZE_BOUNDARY +/* Setting STRUCTURE_SIZE_BOUNDARY to 32 produces more efficient code, but the + value set in previous versions of this toolchain was 8, which produces more + compact structures. The command line option -mstructure_size_boundary= + can be used to change this value. For compatability with the ARM SDK + however the value should be left at 32. ARM SDT Reference Manual (ARM DUI + 0020D) page 2-20 says "Structures are aligned on word boundaries". */ #define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary extern int arm_structure_size_boundary; + +/* This is the value used to initialise arm_structure_size_boundary. If a + particular arm target wants to change the default value it should change + the definition of this macro, not STRUCTRUE_SIZE_BOUNDARY. See netbsd.h + for an example of this. */ +#ifndef DEFAULT_STRUCTURE_SIZE_BOUNDARY +#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 32 #endif /* Used when parsing command line option -mstructure_size_boundary. */ diff --git a/gcc/config/arm/netbsd.h b/gcc/config/arm/netbsd.h index 7b03d4a90ff..4c8ce4094fc 100644 --- a/gcc/config/arm/netbsd.h +++ b/gcc/config/arm/netbsd.h @@ -157,5 +157,5 @@ Boston, MA 02111-1307, USA. */ This modification is not encouraged but with the present state of the NetBSD source tree it is currently the only solution that meets the requirements. */ -#undef STRUCTURE_SIZE_BOUNDARY -#define STRUCTURE_SIZE_BOUNDARY 8 +#undef DEFAULT_STRUCTURE_SIZE_BOUNDARY +#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8 -- 2.11.4.GIT