RFE: add versioned symbol support#484
Conversation
8801806 to
1f821c4
Compare
|
Hi @gordonmessmer, thanks for the patch! Considering the patch, it would be helpful to provide a description of the work in the patch's description. We also generally expect a subject prefix, e.g. "build: add versioned symbol support" for patches so it is easier to filter through patches when looking at the output from |
89d0f66 to
fe49ffc
Compare
Versioned symbols add information to the ELF .gnu.version_r section which rtld can use to provide more descriptive information in the case of linking failures, and which dependency generators can use to avoid those failures. Signed-off-by: Gordon Messmer <gmessmer@redhat.com>
fe49ffc to
e1e09ee
Compare
|
Checking in: Please let me know if there are any remaining changes you'd like to see in this PR. |
drakenclimber
left a comment
There was a problem hiding this comment.
The patch looks good to me. I have a couple small change requests, and then I think it's good to go from my end.
Also, I tested this patch against make distcheck and make dist-gzip and unzipped the tar file. Everything worked as expected.
Thanks, @gordonmessmer
| /* Avoid modifying a symbol set after it has been released | ||
| When adding features in a new release, add a new set | ||
| Removing features is a breaking change */ | ||
| LIBSECCOMP_1.0 { |
There was a problem hiding this comment.
I would vote to make this LIBSECCOMP_2.7 since this patchset would be part of that release.
Then the symbol versions would be the same as the library versions. Seems like that would be easier to track
| seccomp_init; | ||
| seccomp_load; | ||
| seccomp_merge; | ||
| seccomp_notify_alloc; |
There was a problem hiding this comment.
Looks like we missed seccomp_notify_addfd()
In order to improve reliable dependency resolution, I would like to add versioned symbols to the libraries that do not include them today.
This change is intended to support Fedora's recommendation that shared libraries provide versioned symbols: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/#_versioned_symbols
Please double-check the symbol files. If any symbols have been added very recently, they might not be in the symbol maps I've generated.