Am Sonntag, den 16.12.2018, 09:13 -0700 schrieb Jeff Law:

> It's also important to remember that not every target which uses
> function descriptors uses the LSB.  On some targets the LSB may switch
> between modes (arm vs thumb for example).  So on those targets the use
> of descriptors may imply an even larger minimum alignment.

There is a similar mechanism for pointer-to-member-functions
used by C++. Is this correct on aarch64?

/* By default, the C++ compiler will use the lowest bit of the pointer
   to function to indicate a pointer-to-member-function points to a
   virtual member function.  However, if FUNCTION_BOUNDARY indicates
   function addresses aren't always even, the lowest bit of the delta
   field will be used.  */
#ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION
#define TARGET_PTRMEMFUNC_VBIT_LOCATION \
  (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \
   ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta)
#endif


Best,
Martin

Reply via email to