[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#433172: gcc-4.2: probably different issue



Package: gcc-4.2
Version: 4.2.1-0
Followup-For: Bug #433172

Hi,

while the patch indeed hides the problem, the real issue seems to be
deeper. Being listed in ssp_no_archs has an effect on the build process
of the bootstrap(!) compiler; my guess is that ARM is listed there
because building a cross compiler using a host compiler that doesn't
know about SSP will fail unless you claim that the target isn't capable
of SSP, which will remove the -fno-stack-protector from the
STAGE1_CFLAGS and BOOT_CFLAGS.

I'm not entirely sure that there is any need to compile the bootstrap
compiler without SSP if the system default compiler uses it by default,
as the bootstrap compiler is never used after the bootstrap process
anyway.

In fact, I think the main reason the list of architectures is dependent
on DEB_CROSS is that the person who made the initial change wanted to do
a minimally invasive patch that only affected cross builds; however the
end result is suboptimal as

 a) native builds (i386 -> i386) using older compilers fail, because the
    (old) system compiler is given the -fno-stack-protector flag, and
 b) the resulting cross compiler will not use stack protector, even if
    it would be supported on that architecture.

Unconditionally removing these flags from the STAGE1 and BOOT CFLAGS
seems not to have the desired effect, as the fixincludes binary built by
the stage1 compiler then uses stack protector (as it seems to be
default when compiling on an Ubuntu system), but fixincludes does not
link libssp. This paragraph should be taken with a grain of salt,
however, as this happened in an Ubuntu Dapper chroot running on a Debian
sid box, so the build might just have expected SSP support from the C
library (but that may be another bug in itself).

   Simon

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.21-2-amd64 (SMP w/1 CPU core)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash



Reply to: