Message ID | 53310C2A.6030106@linaro.org |
---|---|
State | Accepted |
Headers | show |
On 25 March 2014 04:55, Kugan <kugan.vivekanandarajah@linaro.org> wrote: > gcc/ > > 2014-03-25 Kugan Vivekanandarajah <kuganv@linaro.org> > > PR target/60034 > * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for > section anchor. > > gcc/testsuite/ > > 2014-03-25 Kugan Vivekanandarajah <kuganv@linaro.org> > > PR target/60034 > * gcc.target/aarch64/pr60034.c: New file. Thanks Kugan, leave 24h before committing to give the RM's chance to object. /Marcus
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 57b6645..7d2d10c 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -3193,6 +3193,9 @@ aarch64_classify_address (struct aarch64_address_info *info, } else if (SYMBOL_REF_DECL (sym)) align = DECL_ALIGN (SYMBOL_REF_DECL (sym)); + else if (SYMBOL_REF_HAS_BLOCK_INFO_P (sym) + && SYMBOL_REF_BLOCK (sym) != NULL) + align = SYMBOL_REF_BLOCK (sym)->alignment; else align = BITS_PER_UNIT; diff --git a/gcc/testsuite/gcc.target/aarch64/pr60034.c b/gcc/testsuite/gcc.target/aarch64/pr60034.c index e69de29..ab7e7f4 100644 --- a/gcc/testsuite/gcc.target/aarch64/pr60034.c +++ b/gcc/testsuite/gcc.target/aarch64/pr60034.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-std=gnu99 -O" } */ + +static unsigned long global_max_fast; + +void __libc_mallopt (int param_number, int value) +{ + __asm__ __volatile__ ("# %[_SDT_A21]" :: [_SDT_A21] "nor" ((global_max_fast))); + global_max_fast = 1; +}