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

Reply via email to