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.
kernel@lists.fedoraproject.org