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

Bug#380028: mkvmlinuz requires -fno-stack-protector with gcc-4.1



Subject: mkvmlinuz requires -fno-stack-protector with gcc-4.1
Package: mkvmlinuz
Version: 23ubuntu1
Severity: critical
Justification: breaks the whole system

mkvmlinuz requires0 to be compiled with the -fno-stack-protector flags
with gcc-4.1 since it seems gcc-4.1 enables -fstack-protector by
default. mkvmlinuz fails to create the kernel otherwise.

Output from running mkvmlinuz on my machine:

kozz@peggy:0 > mkvmlinuz -v
=== Building for sub-architecture chrp.
=== Using kernel image file /boot/vmlinux-2.6.17-4-powerpc.
=== Using initrd image file /boot/initrd.img-2.6.17-4-powerpc.
=== Release version seems to be 2.6.17-4-powerpc.
=== Using object files from /usr/lib/mkvmlinuz.
=== Building a bootable compressed kernel image in
/boot/vmlinuz-2.6.17-4-powerpc.
=== Doing build in /tmp/tmp.XaoBL10568.
=== Creating compressed initrd image initrd.gz...
cp -p /boot/initrd.img-2.6.17-4-powerpc /tmp/tmp.XaoBL10568/initrd.gz
=== Creating compressed kernel image vmlinux.gz...
strip -s -R .comment /boot/vmlinux-2.6.17-4-powerpc -o
/tmp/tmp.XaoBL10568/vmlinux
gzip --force --best /tmp/tmp.XaoBL10568/vmlinux
=== Putting everything into ELF image file image.o...
objcopy /usr/lib/mkvmlinuz/mkvmlinuz-kernel-vmlinux.strip.o
/tmp/tmp.XaoBL10568/dummy_kernel.o
--add-section=.kernel:vmlinux.strip=/tmp/tmp.XaoBL10568/vmlinux.gz
--set-section-flags=.kernel:vmlinux.strip=contents,alloc,load,readonly,data
objcopy /usr/lib/mkvmlinuz/mkvmlinuz-kernel-initrd.o
/tmp/tmp.XaoBL10568/dummy_initrd.o
--add-section=.kernel:initrd=/tmp/tmp.XaoBL10568/initrd.gz
--set-section-flags=.kernel:initrd=contents,alloc,load,readonly,data
=== Creating bootable kernel image file vmlinuz.chrp...
ld -m elf32ppc -T /usr/lib/mkvmlinuz/zImage.lds -o
/tmp/tmp.XaoBL10568/vmlinuz.chrp /usr/lib/mkvmlinuz/crt0.o
/usr/lib/mkvmlinuz/string.o /usr/lib/mkvmlinuz/prom.o
/usr/lib/mkvmlinuz/stdio.o /usr/lib/mkvmlinuz/main.o
/usr/lib/mkvmlinuz/div64.o /usr/lib/mkvmlinuz/infblock.o
/usr/lib/mkvmlinuz/infcodes.o /usr/lib/mkvmlinuz/inffast.o
/usr/lib/mkvmlinuz/inflate.o /usr/lib/mkvmlinuz/inftrees.o
/usr/lib/mkvmlinuz/infutil.o /tmp/tmp.XaoBL10568/dummy_kernel.o
/tmp/tmp.XaoBL10568/dummy_initrd.o
/usr/lib/mkvmlinuz/prom.o: In function `claim':
prom.c:(.text+0x764): undefined reference to `__stack_chk_fail'
/usr/lib/mkvmlinuz/stdio.o: In function `number':
stdio.c:(.text+0x480): undefined reference to `__stack_chk_fail'
/usr/lib/mkvmlinuz/addnote /tmp/tmp.XaoBL10568/vmlinuz.chrp
/tmp/tmp.XaoBL10568/vmlinuz.chrp: No such file or directory
=== Cleaning up...

I then tried to compile mkvmlinuz with the -fno-stack-protector flag and
it worked just fine to create the new kernel.

-- System Information:
Debian Release: testing/unstable
  APT prefers edgy-updates
  APT policy: (500, 'edgy-updates'), (500, 'edgy-security'), 
(500, 'edgy-backports'), (500, 'edgy')
Architecture: powerpc (ppc)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.17-4-powerpc
Locale: LANG=sv_SE.ISO-8859-15, LC_CTYPE=sv_SE.ISO-8859-15 
(charmap=ISO-8859-15)

Versions of packages mkvmlinuz depends on:
ii  bash                       3.1-5ubuntu1  The GNU Bourne Again SHell
ii  binutils                   2.17-1ubuntu1 The GNU assembler, linker and 
bina
ii  debconf [debconf-2.0]      1.5.2ubuntu2  Debian configuration management 
sy

mkvmlinuz recommends no packages.

-- debconf information:
  mkvmlinuz/bootloaders: mkvmlinuz



Reply to: