Bugs introduced in GCC?

Colin Watson cjwatson at ubuntu.com
Tue Sep 2 17:02:43 UTC 2008

On Sun, Aug 17, 2008 at 06:32:41PM -0400, Richard M. Stallman wrote:
> Are the statements below true?
> Is the Ubuntu patch really 5 MB?

It is, although bear in mind that that includes a large volume of
packaging infrastructure; 1.3 MB of files in the Ubuntu patch have
nothing to do with patching GCC source. Of the remainder, 2.8 MB
consists simply of an SVN update up to 20080329, and a chunk of the rest
is conditionally applied depending on the architecture.

In terms of actual volume of patches against upstream, and excluding SVN
updates, the diff from the base Debian 4.2.3-2 version and Ubuntu 8.04's
4.2.3-2ubuntu7 is about 40 KB.

> If so, what is it meant to change?

Matthias (CCed) should be able to give more information on any
particular patches that are of concern.

> From: John Regehr <regehr at cs.utah.edu>
> ...the default C 
> compiler for Ubuntu [GNU/]Linux 8.04 is a patched gcc-4.2.3 which (on x86) 
> miscompiles this rather simple function:
> int func_1 (void)
> {
>    signed char l_11 = 1;
>    unsigned char l_12 = -1;
>    return (l_11 > l_12);
> }
> The emitted code returns 1 instead of 0.  An unpatched gcc-4.2.3 compiles 
> this correctly.

Confirmed, although this is not the case for the gcc-4.2 package in our
development branch (4.2.4-3ubuntu2). There was already a bug open for
this (https://bugs.launchpad.net/ubuntu/+source/gcc-4.2/+bug/256797) and
I've adjusted its status and given it to Matthias. Since it's fixed in
our development branch, and I've bisected the fix down to a single
version, it should be relatively easy to track down.

As a miscompilation of simple code, I think this would merit an update
to 8.04.


Colin Watson                                       [cjwatson at ubuntu.com]

More information about the Ubuntu-devel-discuss mailing list