[PATCH] Implement a command line switch to prevent section GC from removing exported symbols
Alan Modra
amodra@gmail.com
Thu Dec 15 03:26:00 GMT 2016
More information about the Binutils mailing list
Thu Dec 15 03:26:00 GMT 2016
- Previous message (by thread): [PATCH] Implement a command line switch to prevent section GC from removing exported symbols
- Next message (by thread): [PATCH] Implement a command line switch to prevent section GC from removing exported symbols
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Dec 14, 2016 at 05:25:38PM +0100, fincs fincs wrote: > On Wed, Dec 14, 2016 at 4:45 AM, Alan Modra <amodra@gmail.com> wrote: > > > > Why doesn't --export-dynamic work for you? > > > > Thank you for your suggestion. But first, let me better explain my > current situation. I am building a program for an embedded device that > runs directly on bare metal and I am not targeting an OS (my toolchain > is aarch64-none-elf). However I'd like to process the ELF executable > before being converted to raw binary format with a custom tool to save > the values of all default-visibility (i.e. exported) symbols for use > by several other additional components that will also run on bare > metal (but they aren't immediately loaded in). Using --export-dynamic > indeed makes sure that all default-visibility symbols stay in the > executable even if they are not referenced, however it also outputs a > full ELF .dynamic section with many other ancillary sections. Since > there is no dynamic linker under the hood nor anything else that may > need to use those sections, I'd prefer not to include them in the > final binary since they take up unnecessary space (also part of the > reason why I'm using --gc-sections). The alternatives that currently > exist involve explicitly listing all symbols to keep, which seems > inelegant and unmaintainable to me, especially in the cases where > there may be hundreds of symbols to export. Thanks for the explanation. That all makes sense, and the patch looks reasonable. It just lacks a ChangeLog and ld.texinfo documentation. The documentaion should mention that the option is for executables and that it keeps default and protected visibility defined global symbols and their sections. -- Alan Modra Australia Development Lab, IBM
- Previous message (by thread): [PATCH] Implement a command line switch to prevent section GC from removing exported symbols
- Next message (by thread): [PATCH] Implement a command line switch to prevent section GC from removing exported symbols
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list