[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patches] check-localplt?



Does anyone understand what check-localplt is meant to test?  It dumps
the relocations referred to by the DT_JMPREL entry in libc.so's
dynamic section, and compares them against an expected list.

Is there any reason to restrict the set of jump table relocations in
libc, other than performance?

I noticed that this test fails on IA-32 when EGLIBC is compiled with
-Os.  It seems that -Os causes a number of calls to go through the
PLT that the test suite does not expect.

I'm suspicious of the following in
sysdeps/unix/sysv/linux/sys/sysmacros.h; it looks like the code Sandra
had to change:

# if defined __GNUC__ && __GNUC__ >= 2 && defined __USE_EXTERN_INLINES
__extension__ __extern_inline unsigned int
__NTH (gnu_dev_major (unsigned long long int __dev))
{
  return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}


I'll look into this more tomorrow.