On Sat, Aug 22, 2020 at 11:23 AM Sedat Dilek <sedat.di...@gmail.com> wrote: > > On Sat, Aug 22, 2020 at 10:42 AM Segher Boessenkool > <seg...@kernel.crashing.org> wrote: > > > > Hi Arvind, > > > > On Fri, Aug 21, 2020 at 11:55:52PM -0400, Arvind Sankar wrote: > > > Cc Segher. > > > > > > Segher, we were looking at gcc PR82602, where IRA could reorder volatile > > > asm's (reported on ARM). The fix was backported to gcc-6. > > > > I know ;-) > > > > > Do you know if > > > there is any reason the problem couldn't occur on x86 on older gcc > > > without the fix? > > > > No, I see no particular reason, at least GCC 5 seems vulnerable. (The > > GCC 5 release branch was closed at the time this bug report was made, > > already). There is no reason I see why it would work on x86 but fail > > elsewhere, either. > > > > [1] says: > > Current Minimal Requirements > ... > ====================== =============== > ======================================== > Program Minimal version Command to check the version > ====================== =============== > ======================================== > GNU C 4.9 gcc --version > > - Sedat - > > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/changes.rst#n32
[ CC Miguel Ojeda (Compiler Attributes maintainer) ] There exist gcc-4.8 and gcc-4.9 for Debian/jessie where EOL was June 30, 2020 (see [1] and [2]). In the latest available version "4.9.2-10+deb8u1" I see no PR82602 was backported (see [3] and [4]). I am asking myself who is using such ancient compilers? Recently, I threw away GCC-8 from my Debian system. If this is a real problem with GCC version <= 5, so can this be moved to a GCC specific include header-file? Thinking of include/linux/compiler-gcc.h or include/linux/compiler_types.h with a GCC-VERSION check? Thoughts? - Sedat - P.S.: Yesterday, I built with dropping __force_order entirely and LLVM toolchain v11.0.0-rc2 on Debian/unstable AMD64 on top of recent Linux v5.9-rc1+. [1] https://packages.debian.org/search?keywords=gcc-4 [2] https://wiki.debian.org/LTS [3] https://sources.debian.org/src/gcc-4.9/ [4] https://sources.debian.org/src/gcc-4.9/4.9.2-10+deb8u1/debian/patches/