Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Mike Hommey
Hi,

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[1] 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?

Mike

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
 
 Hi,
 
 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
 else
 CONFARGS += --with-arch-32=i586
 endif
 endif
 
 
 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
   77
 
 So all these packages would need setting of the -march flag explicitly.
 
 There are other packages which do require i586, like OpenJDK.
 
 
 



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110515120800.ga10...@glandium.org



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Henrique de Moraes Holschuh
On Sun, 15 May 2011, Mike Hommey wrote:
 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

No.  And unless we got a bug report form an i486 user, our users
probably didn't notice it either.

What are the *exact* differences between code generated for march=i486
to code generated for march=i586?  What CPUs would break?

  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
77
  
  So all these packages would need setting of the -march flag explicitly.
  
  There are other packages which do require i586, like OpenJDK.

We may well consider switching the i386 port to i586.  But lets access
the real impact, first.  And whether we still have enough *active* i486
users (or i586-like CPUs that do not support gcc march=i586 if such a
thing could happen) to care.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110515122805.gc32...@khazad-dum.debian.net



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Ben Hutchings
On Sun, 2011-05-15 at 09:28 -0300, Henrique de Moraes Holschuh wrote:
 On Sun, 15 May 2011, Mike Hommey wrote:
  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
 
 No.  And unless we got a bug report form an i486 user, our users
 probably didn't notice it either.
 
 What are the *exact* differences between code generated for march=i486
 to code generated for march=i586?  What CPUs would break?
[...]

There are a few new instructions on the Pentium that can be used in ring
3: cmpxchg8 and rdtsc.  Linux has separate options for '586' and '586
with TSC', both of which result in -m586, so gcc does not appear to
assume the existence of rdtsc.  I would not expect gcc to generate
cmpxchg8 except through an intrinsic, but I could be wrong.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Henrique de Moraes Holschuh
On Sun, 15 May 2011, Ben Hutchings wrote:
 On Sun, 2011-05-15 at 09:28 -0300, Henrique de Moraes Holschuh wrote:
  On Sun, 15 May 2011, Mike Hommey wrote:
   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
  
  No.  And unless we got a bug report form an i486 user, our users
  probably didn't notice it either.
  
  What are the *exact* differences between code generated for march=i486
  to code generated for march=i586?  What CPUs would break?
 [...]
 
 There are a few new instructions on the Pentium that can be used in ring
 3: cmpxchg8 and rdtsc.  Linux has separate options for '586' and '586
 with TSC', both of which result in -m586, so gcc does not appear to
 assume the existence of rdtsc.  I would not expect gcc to generate
 cmpxchg8 except through an intrinsic, but I could be wrong.

Assuming we can't just do away with i486 support for now, did anyone track
down exactly what was causing breakages that forced the change from
march=486 to march=586?

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110515143922.gb11...@khazad-dum.debian.net



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Julien Cristau
On Sun, May 15, 2011 at 14:08:00 +0200, Mike Hommey wrote:

 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[1] 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?
 
To the best of my knowledge neither the release managers nor the release
notes editors for squeeze were notified of this change.

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110515190558.gy2...@radis.liafa.jussieu.fr



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Raphael Hertzog
On Sun, 15 May 2011, Henrique de Moraes Holschuh wrote:
 On Sun, 15 May 2011, Mike Hommey wrote:
  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
 
 No.  And unless we got a bug report form an i486 user, our users
 probably didn't notice it either.

I used Debian on some embedded computers based on this processor:
http://www.vortex86sx.com

cat /proc/cpuinfo reports 486

But I have not tried Squeeze yet. So it's possible that other users have
not found the problem yet.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
  ▶ http://RaphaelHertzog.fr (Français)



--
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110515194842.gc32...@rivendell.home.ouaza.com



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread David Goodenough
On Sunday 15 May 2011, Raphael Hertzog wrote:
 On Sun, 15 May 2011, Henrique de Moraes Holschuh wrote:
  On Sun, 15 May 2011, Mike Hommey wrote:
   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
  
  No.  And unless we got a bug report form an i486 user, our users
  probably didn't notice it either.
 
 I used Debian on some embedded computers based on this processor:
 http://www.vortex86sx.com
 
 cat /proc/cpuinfo reports 486
 
 But I have not tried Squeeze yet. So it's possible that other users have
 not found the problem yet.
 
 Cheers,
I also run Debian on embedded computers mainly running SC1100 CPUs and
/proc/cpuinfo reports:-

processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 4
model   : 9
model name  : 486 DX/4-WB
stepping: 4

The kit may be over 8 years old, but it runs just fine and has been running
Debian stock kernels all its life.  I would like to keep it that way.

David



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/201105152245.43104.david.goodeno...@btconnect.com



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Ben Hutchings
On Sun, 2011-05-15 at 21:48 +0200, Raphael Hertzog wrote:
 On Sun, 15 May 2011, Henrique de Moraes Holschuh wrote:
  On Sun, 15 May 2011, Mike Hommey wrote:
   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
  
  No.  And unless we got a bug report form an i486 user, our users
  probably didn't notice it either.
 
 I used Debian on some embedded computers based on this processor:
 http://www.vortex86sx.com
 
 cat /proc/cpuinfo reports 486
 
 But I have not tried Squeeze yet. So it's possible that other users have
 not found the problem yet.

The kernel in 'lenny' was broken on 486 for 6 months after release
(#515982).

I think any claim that Debian supports 486-class processors is more of
an aspiration.  What maintainer has the time to test on such antiques
regularly?

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#626869: gcc-4.6: undefined reference to `_q_add' with -mabi=ieeelongdouble

2011-05-15 Thread Vincent Lefevre
Package: gcc-4.6
Version: 4.6.0-2
Severity: normal

I get the following error:

ay:~ gcc-4.4 tst.c -o tst -mabi=ieeelongdouble
cc1: warning: Using IEEE extended precision long double
/tmp/cceTQS0o.o: In function `main':
tst.c:(.text+0x84): undefined reference to `_q_add'
collect2: ld returned 1 exit status
zsh: exit 1 gcc-4.4 tst.c -o tst -mabi=ieeelongdouble

tst.c is:

int main (void)
{
  volatile long double x = 1, y;
  y = x + x;
  return 0;
}

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (900, 'stable'), (500, 'oldstable'), (200, 
'unstable')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.26-1-powerpc
Locale: LANG=POSIX, LC_CTYPE=en_US.ISO8859-1 (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash

Versions of packages gcc-4.6 depends on:
ii  binutils   2.21.0.20110327-3 The GNU assembler, linker and bina
ii  cpp-4.64.6.0-2   The GNU C preprocessor
ii  gcc-4.6-base   4.6.0-2   The GNU Compiler Collection (base 
ii  libc6  2.11.2-7  Embedded GNU C Library: Shared lib
ii  libcloog-ppl0  0.15.9-3  the Chunky Loop Generator (runtime
ii  libgcc11:4.6.0-2 GCC support library
ii  libgmp10   2:5.0.1+dfsg-7Multiprecision arithmetic library
ii  libgmpxx4ldbl  2:5.0.1+dfsg-7Multiprecision arithmetic library 
ii  libgomp1   4.6.0-2   GCC OpenMP (GOMP) support library
ii  libmpc20.9-3 multiple precision complex floatin
ii  libmpfr4   3.0.0-9   multiple precision floating-point 
ii  libppl-c4  0.11.2-3  Parma Polyhedra Library (C interfa
ii  libppl90.11.2-3  Parma Polyhedra Library (runtime l
ii  zlib1g 1:1.2.3.4.dfsg-3  compression library - runtime

Versions of packages gcc-4.6 recommends:
ii  libc6-dev 2.11.2-7   Embedded GNU C Library: Developmen

Versions of packages gcc-4.6 suggests:
pn  binutils-gold none (no description available)
pn  gcc-4.6-doc   none (no description available)
pn  gcc-4.6-locales   none (no description available)
pn  gcc-4.6-multilib  none (no description available)
pn  libgcc1-dbg   none (no description available)
pn  libgomp1-dbg  none (no description available)
pn  libmudflap0-4.6-dev   none (no description available)
pn  libmudflap0-dbg   none (no description available)
pn  libquadmath-dbg   none (no description available)

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110516020321.ga25...@ay.vinc17.org



Bug#609690: Debian x86 32-bits built for i586 !?

2011-05-15 Thread Henrique de Moraes Holschuh
On Mon, 16 May 2011, Ben Hutchings wrote:
 I think any claim that Debian supports 486-class processors is more of
 an aspiration.  What maintainer has the time to test on such antiques
 regularly?

Well, nobody is running regular kernel regression testing on 486-class
hardware AFAIK, and that includes the kernel upstream.  I'd doubt even i586
is getting any serious testing...

So yes, it will break every so often, and the situation is not going to get
any better.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh



-- 
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110516023637.gb9...@khazad-dum.debian.net