Messages in this thread | | | Date | Fri, 30 Jan 2015 20:21:16 +0300 | From | Andrey Ryabinin <> | Subject | Re: [PATCH v10 15/17] kernel: add support for .init_array.* constructors |
| |
On 01/30/2015 02:13 AM, Andrew Morton wrote: > On Thu, 29 Jan 2015 18:11:59 +0300 Andrey Ryabinin <a.ryabinin@samsung.com> wrote: > >> KASan uses constructors for initializing redzones for global >> variables. Actually KASan doesn't need priorities for constructors, >> so they were removed from GCC 5.0, but GCC 4.9.2 still generates >> constructors with priorities. > > I don't understand this changelog either. What's wrong with priorities > and what is the patch doing about it? More details, please. >
Currently kernel ignore constructors with priorities (e.g. .init_array.00099). Kernel understand only constructors with default priority ( .init_array ).
This patch adds support for constructors with priorities.
For kernel image we put pointers to constructors between __ctors_start/__ctors_end and do_ctors() will call them.
For modules - .init_array.* sections merged into .init_array section. Module code properly handles constructors in .init_array section.
| |