You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Building the Linux kernel with -fsanitize=thread produces unwanted .eh_frame and .init_array.0 sections, even with -fno-unwind-tables and -fno-asynchronous-unwind-tables.
The text was updated successfully, but these errors were encountered:
For .init_array.0, -fsanitize={address,memory,thread,...} instrumentations create a module constructor which is placed in .init_array.0 .
For memory/thread, the module constructor just calls an init function which is really small.
For address, the module constructor needs to register global variables (even under -fsanitize=kernel-address), which cannot be simply ignored.
It is likely that the kernel doesn't need .init_array.0 for memory/thread, but introducing a new option seems overkill to me.
Ignoring it with the current /DISCARD/ : { ... (.init_array.) } works quite well.
Extended Description
Building the Linux kernel with -fsanitize=thread produces unwanted .eh_frame and .init_array.0 sections, even with -fno-unwind-tables and -fno-asynchronous-unwind-tables.
The text was updated successfully, but these errors were encountered: