On 2/24/20 5:17 AM, Benjamin Herrenschmidt wrote:
On Sat, 2020-02-22 at 18:07 -0600, Segher Boessenkool wrote:
so I don't believe they are ever used by default -- in this case
V_FUNCTION_BEGIN doesn't add to the .opd section with .name, .TOC base,
etc.
Manually setting VDS64_HAS_DESCRIPTORS results in a vdso64.so in which
binutils tools like readelf properly report functions with symbol type
FUNC instead of NOTYPE.
Are there pieces of the build/etc toolchain unprepared for function
descriptors? I'm just trying to figure out why the code defaults to
unsetting them.
Because direct calls are faster than indirect calls? Ben might have a
fuller explanation, cc:ing him.
I don't remember why :-) I think I didn't want to mess with the OPD
fixup in glibc back then.
Does it make sense to just drop the unused VDS64_HAS_DESCRIPTORS code then?
-- Joe