[PATCH v3] ld: add --package-metadata
Luca Boccassi
bluca@debian.org
Thu May 26 10:46:25 GMT 2022
On Thu, 2022-05-26 at 13:25 +0930, Alan Modra wrote:
> On Wed, May 25, 2022 at 02:41:47PM +0100, luca.boccassi@gmail.com wrote:
> > From: Luca Boccassi <bluca@debian.org>
> >
> > Generate a .note.package FDO package metadata ELF note, following
> > the spec: https://systemd.io/ELF_PACKAGE_METADATA/
> >
> > If the jansson library is available at build time (and it is explicitly
> > enabled), link ld to it, and use it to validate that the input is
> > correct JSON, to avoid writing garbage to the file. The
> > configure option --enable-jansson has to be used to explicitly enable
> > it (error out when not found). This allows bootstrappers (or others who
> > are not interested) to seamlessly skip it without issues.
> > ---
> > v2: fix style issues
> > fix ASAN issue: note storage is rounded up, but that size
> > was used to read the json input, which is fixed
> > add entry to NEWS
> > add note about json validation to docs
> > v3: switch libjansson support to disabled-by-default even if
> > the library is available in the build environment
> > update new test to account for old/new readelf, which
> > might or might not pretty-print the FDO note
> > update bootstrap test to link with jansson if the object
> > files being linked were built with it
> > remove dead code
>
> I'm about to commit this with a few formatting fixes, and with a
> working bootstrap.exp change. That one was obviously not tested. The
> idea was good but ld config.h is not in $srcdir/.., and besides that
> it's on the build machine not the host (*), and plain grep is more
> likely to exist than fgrep.
>
> *) build vs host doesn't matter much in bootstrap.exp since those
> tests are only run when native, but I'd like to get it correct for
> someone doing copy/paste for a future config.h test.
Thanks for fixing it! I did test it, and it was working on my machine,
both with and without the new build flag:
Running /home/bluca/git/binutils-gdb/ld/testsuite/ld-bootstrap/bootstrap.exp ...
Running /home/bluca/git/binutils-gdb/ld/testsuite/ld-bpf/bpf.exp ...
I imagine this is because I was running 'make check' from the ld/
directory? I took '$srcdir' and 'fgrep' from existing scripts in other
tests in ld/testsuite. Anyway, the important thing is that it's all
good now.
Thanks again!
--
Kind regards,
Luca Boccassi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://sourceware.org/pipermail/binutils/attachments/20220526/98ac15a0/attachment.sig>
More information about the Binutils
mailing list