[Bug target/97143] aarch64-none-elf Code generated for array after another array within a global structure marked volatile is broken.
simon.willcocks at gmx dot de
gcc-bugzilla@gcc.gnu.org
Mon Sep 21 14:44:45 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97143
Simon Willcocks <simon.willcocks at gmx dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|aarch64-elf |aarch64-elf, arm-eabi
--- Comment #1 from Simon Willcocks <simon.willcocks at gmx dot de> ---
The same bug is present in 8.4 aarch64-elf AND arm-none-eabi 6.3.1
$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-none-eabi/6.3.1/lto-wrapper
Target: arm-none-eabi
Configured with: ../src/configure --build=x86_64-linux-gnu --prefix=/usr
--includedir='/usr/lib/include' --mandir='/usr/lib/share/man'
--infodir='/usr/lib/share/info' --sysconfdir=/etc --localstatedir=/var
--disable-silent-rules --libdir='/usr/lib/lib/x86_64-linux-gnu'
--libexecdir='/usr/lib/lib/x86_64-linux-gnu' --disable-maintainer-mode
--disable-dependency-tracking --mandir=/usr/share/man
--enable-languages=c,c++,lto --enable-multilib --disable-decimal-float
--disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath
--disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared
--disable-threads --disable-tls --build=x86_64-linux-gnu --target=arm-none-eabi
--with-system-zlib --with-gnu-as --with-gnu-ld
--with-pkgversion=15:6.3.1+svn253039-1build1 --without-included-gettext
--prefix=/usr/lib --infodir=/usr/share/doc/gcc-arm-none-eabi/info
--htmldir=/usr/share/doc/gcc-arm-none-eabi/html
--pdfdir=/usr/share/doc/gcc-arm-none-eabi/pdf --bindir=/usr/bin
--libexecdir=/usr/lib --libdir=/usr/lib --disable-libstdc++-v3
--host=x86_64-linux-gnu --with-headers=no --without-newlib
--with-multilib-list=rmprofile CFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' CPPFLAGS='-Wdate-time -D_FORTIFY_SOURCE=2'
CXXFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' FCFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' FFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' GCJFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' LDFLAGS='-Wl,-Bsymbolic-functions -Wl,-z,relro'
OBJCFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' OBJCXXFLAGS='-g -O2
-fdebug-prefix-map=/build/gcc-arm-none-eabi-iopiMw/gcc-arm-none-eabi-6.3.1+svn253039=.
-fstack-protector-strong' INHIBIT_LIBC_CFLAGS=-DUSE_TM_CLONE_REGISTRY=0
AR_FOR_TARGET=arm-none-eabi-ar AS_FOR_TARGET=arm-none-eabi-as
LD_FOR_TARGET=arm-none-eabi-ld NM_FOR_TARGET=arm-none-eabi-nm
OBJDUMP_FOR_TARGET=arm-none-eabi-objdump RANLIB_FOR_TARGET=arm-none-eabi-ranlib
READELF_FOR_TARGET=arm-none-eabi-readelf STRIP_FOR_TARGET=arm-none-eabi-strip
Thread model: single
gcc version 6.3.1 20170620 (15:6.3.1+svn253039-1build1)
00000000 <this_function_is_broken>:
0: e59f3008 ldr r3, [pc, #8] ; 10
<this_function_is_broken+0x10>
4: e2800088 add r0, r0, #136 ; 0x88
8: e7930100 ldr r0, [r3, r0, lsl #2]
c: e12fff1e bx lr
c: R_ARM_V4BX *ABS*
10: 00000000 andeq r0, r0, r0
10: R_ARM_ABS32 device_pages
00000014 <this_function_works>:
14: e59f3004 ldr r3, [pc, #4] ; 20 <this_function_works+0xc>
18: e7930100 ldr r0, [r3, r0, lsl #2]
1c: e12fff1e bx lr
1c: R_ARM_V4BX *ABS*
20: 00000220 andeq r0, r0, r0, lsr #4
20: R_ARM_ABS32 device_pages
More information about the Gcc-bugs
mailing list