.note.gnu.build-id section not really used in ARM kernel (and NOTES macro not present in linker cmd file)

Frederic Turgis frederic.turgis at linaro.org
Thu Feb 24 22:04:50 UTC 2011


Hi all,

While testing systemtap v1.4, I encountered an issue in the tool that
had been fixed in the past (and reintroduced recently). I have
investigated with Redhat guys and here is what we have found:
- root cause is that .note.gnu.build-id is mapped at address 0 in
vmlinux (we did a readelf -S on vmlinux)

- (.note.*) sections can be mapped at a specific location through
NOTES macro defined in vmlinux.lds.h. vmlinux.lds.h mentions that
minimal linker scripts has following content
...
*      _edata = .;
*
*      EXCEPTION_TABLE(...)
*      NOTES

- .note.gnu.build-id is mapped at address 0 because NOTES is not used
in ARM linker cmd file. We are wondering if there is any specific
reason with Redhat.
Furthermore, .zImage.cmd contains "arm-linux-gnueabi-objcopy ... -R
.note -R .note.gnu.build-id", where "-R" removes mentioned sections
from the binary. We clearly don't want (.notes.*) sections, which
could have appeared as /sys/kernel/notes

Would there be an interest in mapping "notes" section in linker cmd file ?


Regards
Fred



More information about the linaro-kernel mailing list