r6560 - glibc-package/branches/glibc-2.21/debian/rules.d
Author: aurel32
Date: 2015-09-10 15:16:30 +0000 (Thu, 10 Sep 2015)
New Revision: 6560
Modified:
glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk
Log:
Use the build id when manually stripping libpthread
This is similar to what dh_strip does. In the long term we should
probably add a special case for libpthread directly in dh_strip.
Modified: glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk
===================================================================
--- glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk 2015-09-10 15:03:30 UTC (rev 6559)
+++ glibc-package/branches/glibc-2.21/debian/rules.d/debhelper.mk 2015-09-10 15:16:30 UTC (rev 6560)
@@ -49,35 +49,21 @@
# debugging library. We keep a full copy of the symbol
# table in libc6-dbg but basic thread debugging should
# work even without that package installed.
-
- # strip *.o files as dh_strip does not (yet?) do it.
- if test "$(NOSTRIP_$(curpass))" != 1; then \
- if test "$(NODEBUG_$(curpass))" != 1; then \
- dh_strip -p$(curpass) -Xlibpthread $(DH_STRIP_DEBUG_PACKAGE); \
- (cd debian/$(curpass); \
- find . -name libpthread-\*.so -exec objcopy \
- --only-keep-debug '{}' ../$(libc)-dbg/usr/lib/debug/'{}' \
- ';' || true; \
- find . -name libpthread-\*.so -exec objcopy \
- --add-gnu-debuglink=../$(libc)-dbg/usr/lib/debug/'{}' \
- '{}' ';' || true); \
- find debian/$(curpass) -name libpthread-\*.so -exec \
- strip --strip-debug --remove-section=.comment \
- --remove-section=.note '{}' ';' || true; \
- \
- (cd debian/$(curpass); \
- find . -name \*crt\*.o -exec objcopy \
- --only-keep-debug '{}' ../$(libc)-dbg/usr/lib/debug/'{}' \
- ';' || true; \
- find . -name \*crt\*.o -exec objcopy \
- --add-gnu-debuglink=../$(libc)-dbg/usr/lib/debug/'{}' \
- '{}' ';' || true); \
- find debian/$(curpass) -name \*crt\*.o -exec \
- strip --strip-debug --remove-section=.comment \
- --remove-section=.note '{}' ';' || true; \
- else \
- dh_strip -p$(curpass) -Xlibpthread; \
- fi \
+ if test "$(NOSTRIP_$(curpass))" != 1; then \
+ if test "$(NODEBUG_$(curpass))" != 1; then \
+ dh_strip -p$(curpass) -Xlibpthread $(DH_STRIP_DEBUG_PACKAGE); \
+ for f in $$(find debian/$(curpass) -name libpthread-\*.so) ; do \
+ dbgfile=$$(LC_ALL=C readelf -n $$f | sed -e '/Build ID:/!d' \
+ -e "s#^.*Build ID: \([0-9a-f]\{2\}\)\([0-9a-f]\+\)#\1/\2.debug#") ; \
+ dbgpath=debian/$(libc)-dbg/usr/lib/debug/.build-id/$$dbgfile ; \
+ mkdir -p $$(dirname $$dbgpath) ; \
+ objcopy --only-keep-debug $$f $$dbgpath ; \
+ objcopy --add-gnu-debuglink=$$dbgpath $$f ; \
+ strip --strip-debug --remove-section=.comment --remove-section=.note $$f ;\
+ done ; \
+ else \
+ dh_strip -p$(curpass) -Xlibpthread; \
+ fi \
fi
endif
Reply to: