On 11/14/2016 06:10 AM, Siddhesh Poyarekar wrote:
On Friday 11 November 2016 12:46 AM, Florian Weimer wrote:
We currently call /usr/lib/rpm/brp-strip-static-archive from
%__os_install_post.  This removes debugging symbols from static (.a)
libraries.

Is this really a good idea?  Due to this, glibc copies libc.a to
glibc-debuginfo, so that you can get a link with debugging symbols by
specifying “-static -L/usr/lib/debug/usr/lib64“ (potentially with
unintended side effects).  I would like to get this to work by default.

If developers does not want debugging symbols and static libraries have
them, they can link with -s, or strip the linked object.

What happens if a program built without -g is linked to the libc.a with
debug symbols?  If it does the right thing by not including debug
symbols then I think your suggestion is the right way forward.

By default, ld seems to include all available debugging information.

Do you suggest that gcc should invoke ld with -S, unless gcc was invoked with some -g flags or -s?

Otherwise we need to fix the linker to not include debug symbols first.

Is this really necessary?  It's not the way ld currently works.

I think specifying -s if you want a binary without debugging information is an acceptable workaround.

Florian
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to