On 02/01/2008 05:17 PM, Jan Kratochvil wrote:
On Fri, 01 Feb 2008 22:06:29 +0100, Chuck Ebbert wrote:
...
> And, after fixing that one we get (on ppc):
>
> *** ERROR: same build ID in nonidentical files!
> /usr/lib/debug/lib/modules/2.6.24-14.fc9/vmlinux
> and /boot/vmlinuz-2.6.24-14.fc9
Currently:
vmlinuz-$VER: Not marked as executable and therefore not splitted into
binary + .debug
vmlinux: Copied directly into /usr/lib/debug and therefore its stripped part is
duplicite to the vmlinuz-$VER one
Proposing:
vmlinuz-$VER: Marked as executable, split into a separete vmlinuz-$VER.debug
vmlinux: Just a symlink into vmlinuz-$VER, GDB will load the vmlinuz-$VER.debug
file for it. This symlink could be dropped but some tools may expect
the /lib/modules/$VER/vmlinux file to exist. Still they will now have
to deal with the split binary + .debug file for it.
If you agree I can test if it works well, it takes a lot of time to build it.
Regards,
Jan
------------------------------------------------------------------------
--- kernel.spec 1 Feb 2008 17:45:46 -0000 1.398
+++ kernel.spec 1 Feb 2008 22:10:44 -0000
@@ -1422,8 +1422,14 @@ BuildKernel() {
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
#
%if %{with_debuginfo}
- mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
- cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
+ if [ $KernelImage != vmlinux ]; then
+ mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
+ cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
+ else
+ # mark it executable so that strip-to-file can strip it
+ chmod u+x $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
+ ln -s %{image_install_path}/vmlinuz-$KernelVer
$RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux
+ fi
%endif
find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f
>modnames
Roland is looking into this; I added a cc: for him.