lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 13 Jan 2009 14:04:17 +0800
From:	Wenji Huang <wenji.huang@...cle.com>
To:	Sam Ravnborg <sam@...nborg.org>
CC:	linux-kbuild@...r.kernel.org, lkml <linux-kernel@...r.kernel.org>
Subject: Re: Building error of 2.6.29-rc1 using old binutils

Wenji Huang wrote:
> Hi,
> 
> Sorry, resend it in terms of correct subject.
> 
> I got the following building error for 2.6.29-rc1.
> # make
>   CHK     include/linux/version.h
>   CHK     include/linux/utsrelease.h
>   SYMLINK include/asm -> include/asm-x86
>   CALL    scripts/checksyscalls.sh
>   CHK     include/linux/compile.h
>   IHEX    firmware/e100/d101m_ucode.bin
>   AS      firmware/e100/d101m_ucode.bin.gen.o
>   IHEX    firmware/e100/d101s_ucode.bin
>   AS      firmware/e100/d101s_ucode.bin.gen.o
>   IHEX    firmware/e100/d102e_ucode.bin
>   AS      firmware/e100/d102e_ucode.bin.gen.o
>   LD      firmware/built-in.o
>   LD      vmlinux.o
>   MODPOST vmlinux.o
>   GEN     .version
>   CHK     include/linux/compile.h
>   UPD     include/linux/compile.h
>   CC      init/version.o
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
>   STRIP   .tmp_vmlinux1.stripped
> objcopy: unrecognized option `--strip-unneeded-symbols'
> 
> # objcopy --version
> GNU objcopy 2.15.92.0.2 20040927
> Copyright 2004 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms 
> of the GNU General Public License.  This program has absolutely no 
> warranty.
> 
> 
> The option --strip-unneeded-symbols is only available on higher version, 
> but not exists on binutils-2.15.
> 
> Seems to keep Makefile compatible on all kinds of circumstances. Like,
> 
> quiet_cmd_kstrip = STRIP   $@
>       cmd_kstrip = $(OBJCOPY) --wildcard $(addprefix --strip-symbols 
> ,$(filter %/scripts/strip-symbols,$^)) $< $@
> 
> 
> Regards,
> Wenji
> 
When I upgraded binutils to 2.18 and enabled CONFIG_RELOCATABLE, there 
are still mismatched symbols between kernel and debuginfo.

For example, to verify buildid (bytes from __start_notes to 
__stop_notes) will get failed. The __stop_notes of running kernel 
doesn't match the one in debuginfo.

$ uname -r
2.6.29-rc1
$ cat /proc/kallsyms |grep __stop_notes
c0543610 T __stop_notes
$ readelf -s /lib/modules/2.6.29-rc1/build/vmlinux |grep __stop_notes
  48985: c1343610     0 NOTYPE  GLOBAL DEFAULT    5 __stop_notes
$ cat /lib/modules/2.6.29-rc1/build/.config|grep CONFIG_RELOCATABLE
CONFIG_RELOCATABLE=y
$ gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info --enable-shared --enable-threads=posix 
--disable-checking --with-system-zlib --enable-__cxa_atexit 
--disable-libunwind-exceptions --enable-java-awt=gtk 
--host=i386-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-9.0.1)
$ ld -v
GNU ld (GNU Binutils) 2.18
$ objcopy --version
GNU objcopy (GNU Binutils) 2.18
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms 
of the GNU General Public License version 3 or (at your option) any 
later version.
This program has absolutely no warranty.

Regards,
Wenji
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ