Debian x86 32-bits built for i586 !?
I just found out that gcc is compiled with --with-arch-32=i586, which
effectively means it builds with -march=i586 by default (and that it
still claims an i486-linux-gnu target).
I'm wondering. Is the project at large aware that we're not building for
i486, but for i586 ? That even the maintainer doesn't know why for
sure and that no changelog entry documents when or why that happened?
(nothing in debian/changelog, and the corresponding svn commit says
"Update to SVN 20100625 (r161383) from the gcc-4_5-branch.")
And that as far as I can see, this hasn't been discussed or documented
in the released notes?
1. See the following message from bug 609690:
On Tue, Jan 11, 2011 at 05:20:32PM +0100, Matthias Klose wrote:
> On 11.01.2011 16:38, Petr Salinger wrote:
> >Package: gcc-4.4
> >Version: 4.4.5-8
> >the current gcc-4.4 uses (tested on i386/4.4.5-6 and kfreebsd-i386/4.4.5-8)
> >as a default arch i586.
> >COLLECT_GCC_OPTIONS='-v' '-dD' '-E' '-mtune=generic' '-march=i586'
> >echo "" | gcc-4.4 -dD -x c -E - | grep 86
> >#define __DBL_MAX__ 1.7976931348623157e+308
> >#define __i386 1
> >#define __i386__ 1
> >#define i386 1
> >#define __i586 1
> >#define __i586__ 1
> >It is due to debian/rules2:
> >ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 kfreebsd-i386 kfreebsd-amd64))
> >#CONFARGS += --with-arch-32=i486
> >ifeq ($(distribution),Ubuntu)
> >CONFARGS += --with-arch-32=i686
> >CONFARGS += --with-arch-32=i586
> >I believe, that even plain i486 have to be supported,
> >also changelog claims that default should still be i486.
> yes, I think I did change that to avoid libgomp failures, which
> requires i586, and not just i486. Not sure what to do about that
> for squeeze.
> $ apt-cache rdepends libgomp1 | wc -l
> So all these packages would need setting of the -march flag explicitly.
> There are other packages which do require i586, like OpenJDK.