RFR: 8214796: Create a jlink plugin for stripping debug info symbols from native libraries
sgehwolf at redhat.com
Wed Feb 13 09:04:29 UTC 2019
On Tue, 2019-02-12 at 15:29 -0800, Mandy Chung wrote:
> On 2/12/19 11:52 AM, Severin Gehwolf wrote:
> > Hi Mandy, Alan,
> > Please find the proposal for CLI option of --strip-native-debug-symbols
> > below.
> > The current implementation here has the following options:
> > http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8214796/05/webrev/
> > [i] --strip-native-debug-symbols defaults
> > [ii] --strip-native-debug-symbols options:objcopy-cmd=<path/to/objcopycmd>
> > [iii] --strip-native-debug-symbols options:debuginfo-file-ext=<ext>
> > [iv] --strip-native-debug-symbols options:include-debug-syms=true
> > The first option is a work-around for JDK-8218761. AFAIUI, fixing it
> > will need rework of the Plugin interface and probably of the options
> > parsing. Hence, I'd like to defer this post integration of the initial
> > version of --strip-native-debug-symbols plugin.
> > Cases [iii] and [iv] can be folded into one as suggested by Mandy with:
> > --strip-native-debug-symbols keep-debuginfo
> > --strip-native-debug-symbols keep-debuginfo=<ext>
> > Case [ii] would become:
> > --strip-native-debug-symbols objcopy=<path/to/objcopy>
> we could relax this to a command that can contain arguments.
OK. I'll explore that.
> > So in summary I'd propose these, where a) and b) may be combined, c)
> > and a) or c) and b) combined would be an error:
> > [a] --strip-native-debug-symbols keep-debuginfo[=<ext>]
> > [b] --strip-native-debug-symbols objcopy=<path/to/objcopy>
> > [c] --strip-native-debug-symbols defaults
> This is a good compromise. When JDK-8218761 is implemented,
> [c] can become `--strip-native-debug-symbols`
> "defaults" is unclear to what it does. What about
> --strip-native-debug-symbols no-keep-debuginfo
Makes sense. How about this?
It would avoid using negation.
> > As a follow-up to an initial implementation of the above, I'd propose
> > to hook it up with the current --strip-debug by a follow-up patch. It
> > would first rename --strip-debug to --strip-debug-attribute or perhaps
> > --strip-java-debug-symbols, and then let --strip-debug perform java and
> > native debug symbols stripping as Alan suggested.
> The renaming can be done separately. I would prefer changing
> --strip-debug to invoke --strip-native-debug-symbols, if present,
> at the same time with this new strip native debug symbols plugin
> to ensure that they all go in the same release.
> In other words, the renaming should be done before this new plugin.
> That's my opinion.
Sure. I've filed JDK-8218913 for doing this first. Would a name of --
strip-java-debug-symbols be acceptable? My thinking is that it would
have nice symmetry with --strip-native-debug-symbols. Thoughts?
> > Does that sound reasonable to you?
> > Thanks,
> > Severin
More information about the build-dev