Message ID | 20140822135607.GA15255@sepie.suse.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Aug 22, 2014 at 03:56:07PM +0200, Michal Marek wrote: > On Mon, Aug 18, 2014 at 10:49:28PM -0700, Darrick J. Wong wrote: > > Since the conversion of objtree to use relative pathnames (commit > > 7e1c04779e, "kbuild: Use relative path for $(objtree)"), the debug > > info files have been ending up in /debian/dbgtmp/ in the regular > > linux-image package instead of the debug files package. Fix up the > > paths so that the debug files end up in the -dbg package. > > > > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> > > --- > > scripts/package/builddeb | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/scripts/package/builddeb b/scripts/package/builddeb > > index 5707466..0456322 100644 > > --- a/scripts/package/builddeb > > +++ b/scripts/package/builddeb > > @@ -153,15 +153,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then > > fi > > if [ -n "$BUILD_DEBUG" ] ; then > > ( > > + old_dir="$(pwd)" > > cd $tmpdir > > Can you try the patch below? I'd rather get rid of the directory change, > if possible. > > Michal > > diff --git a/scripts/package/builddeb b/scripts/package/builddeb > index 35d5a58..dcfdbda 100755 > --- a/scripts/package/builddeb > +++ b/scripts/package/builddeb > @@ -152,18 +152,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then > rmdir "$tmpdir/lib/modules/$version" > fi > if [ -n "$BUILD_DEBUG" ] ; then > - ( > - cd $tmpdir > - for module in $(find lib/modules/ -name *.ko); do > - mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) > - # only keep debug symbols in the debug file > - $OBJCOPY --only-keep-debug $module $dbg_dir/usr/lib/debug/$module > - # strip original module from debug symbols > - $OBJCOPY --strip-debug $module > - # then add a link to those > - $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module > - done > - ) > + for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do > + module=lib/modules/$module > + mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) > + # only keep debug symbols in the debug file > + $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module > + # strip original module from debug symbols > + $OBJCOPY --strip-debug $tmpdir/$module > + # then add a link to those > + $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module This should read: $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $tmpdir/$module (The last argument needs "$tmpdir/".) but otherwise it's ok, so you can add: Tested-by: Darrick J. Wong <darrick.wong@oracle.com> --D -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2014-08-22 19:10, Darrick J. Wong wrote: > On Fri, Aug 22, 2014 at 03:56:07PM +0200, Michal Marek wrote: >> On Mon, Aug 18, 2014 at 10:49:28PM -0700, Darrick J. Wong wrote: >>> Since the conversion of objtree to use relative pathnames (commit >>> 7e1c04779e, "kbuild: Use relative path for $(objtree)"), the debug >>> info files have been ending up in /debian/dbgtmp/ in the regular >>> linux-image package instead of the debug files package. Fix up the >>> paths so that the debug files end up in the -dbg package. >>> >>> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> >>> --- >>> scripts/package/builddeb | 7 ++++--- >>> 1 file changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/scripts/package/builddeb b/scripts/package/builddeb >>> index 5707466..0456322 100644 >>> --- a/scripts/package/builddeb >>> +++ b/scripts/package/builddeb >>> @@ -153,15 +153,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then >>> fi >>> if [ -n "$BUILD_DEBUG" ] ; then >>> ( >>> + old_dir="$(pwd)" >>> cd $tmpdir >> >> Can you try the patch below? I'd rather get rid of the directory change, >> if possible. >> >> Michal >> >> diff --git a/scripts/package/builddeb b/scripts/package/builddeb >> index 35d5a58..dcfdbda 100755 >> --- a/scripts/package/builddeb >> +++ b/scripts/package/builddeb >> @@ -152,18 +152,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then >> rmdir "$tmpdir/lib/modules/$version" >> fi >> if [ -n "$BUILD_DEBUG" ] ; then >> - ( >> - cd $tmpdir >> - for module in $(find lib/modules/ -name *.ko); do >> - mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) >> - # only keep debug symbols in the debug file >> - $OBJCOPY --only-keep-debug $module $dbg_dir/usr/lib/debug/$module >> - # strip original module from debug symbols >> - $OBJCOPY --strip-debug $module >> - # then add a link to those >> - $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module >> - done >> - ) >> + for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do >> + module=lib/modules/$module >> + mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) >> + # only keep debug symbols in the debug file >> + $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module >> + # strip original module from debug symbols >> + $OBJCOPY --strip-debug $tmpdir/$module >> + # then add a link to those >> + $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module > > This should read: > > $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $tmpdir/$module > > (The last argument needs "$tmpdir/".) Oops, you are right. > but otherwise it's ok, so you can add: > Tested-by: Darrick J. Wong <darrick.wong@oracle.com> Thanks! Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 35d5a58..dcfdbda 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -152,18 +152,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then rmdir "$tmpdir/lib/modules/$version" fi if [ -n "$BUILD_DEBUG" ] ; then - ( - cd $tmpdir - for module in $(find lib/modules/ -name *.ko); do - mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) - # only keep debug symbols in the debug file - $OBJCOPY --only-keep-debug $module $dbg_dir/usr/lib/debug/$module - # strip original module from debug symbols - $OBJCOPY --strip-debug $module - # then add a link to those - $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module - done - ) + for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do + module=lib/modules/$module + mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) + # only keep debug symbols in the debug file + $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module + # strip original module from debug symbols + $OBJCOPY --strip-debug $tmpdir/$module + # then add a link to those + $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module + done fi fi