On Thu, Apr 08, 2021 at 06:30:22PM -0500, Madhavan T. Venkataraman wrote: > On 4/8/21 2:30 PM, Madhavan T. Venkataraman wrote: > > 1. Create a common section (I will have to come up with an appropriate name) and put > > all such functions in that one section. > > 2. Create one section for each logical type (exception section, ftrace section and > > kprobe section) or some such. > For now, I will start with idea 2. I will create a special section for each class of > functions (EL1 exception handlers, FTRACE trampolines, KPROBE trampolines). Instead of a > special functions array, I will implement a special_sections array. The rest of the code > should just fall into place. > Let me know if you prefer something different. It might be safer to start off by just putting all SYM_CODE into a section then pulling bits we know to be safe out of the section as needed - we know that anything that's SYM_CODE is doing something non-standard and needs checking to verify that the unwinder will be happy with it and I that should cover most if not all of the cases above as well as anything else we didn't explicitly think of.