Hi Ian, On Sat, Apr 16, 2022 at 7:59 AM Ian Rogers <irogers@xxxxxxxxxx> wrote: > > On Fri, Apr 15, 2022 at 8:40 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote: > > > > The symbol fixup is necessary for symbols in kallsyms since they don't > > have size info. So we use the next symbol's address to calculate the > > size. Now it's also used for user binaries because sometimes they > > miss size for hand-written asm functions. > > > > There's a arch-specific function to handle kallsyms differently but > > currently it cannot distinguish kallsyms from others. Pass this > > information explicitly to handle it properly. Note that those arch > > functions will be moved to the generic function so I didn't added it > > to the arch-functions. > > Thanks Namhyung, in: > https://lore.kernel.org/linux-perf-users/20220412154817.2728324-3-irogers@xxxxxxxxxx/ > I used "dso->kernel != DSO_SPACE__USER" in symbol-elf to make this > more than just kallsyms as presumably kernel code is the issue. Do we > know elf kernel code has correctly sized symbols? Yeah, IIUC the whole point of the symbol end fixup is because the kallsyms doesn't have the symbol size info. Every ELF binaries should have the size except for some hand-written asm functions which missed adding it manually. I guess that's the reason it was added to other DSO loading paths. Also considering "[" (and "]") in the symbol name is specific to kallsyms which has both kernel and module symbols together. Thanks, Namhyung