This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 08/09/2016 03:53 PM, Florian Weimer wrote:
On 08/09/2016 03:34 PM, Stefan Liebler wrote:After the commits __libc_memalign is only called in elf/dl-minimal.c in malloc() function in ld.so and gcc -O2/-O3 leads to R_390_GLOB_DAT instead of R_390_JMP_SLOT. __libc_memalign is called via function-pointer loaded from GOT instead of calling via a plt-stub.Huh. I wonder if this is intended. Surely the malloc implementation in elf/dl-minimal.c should always call the __libc_memalign implementation in the same file? Thanks, Florian
Please have a look at the other localplt.data files, e.g. sysdeps/x86_64/localplt.data:
# The dynamic loader uses __libc_memalign internally to allocate aligned # TLS storage. The other malloc family of functions are expected to allow # user symbol interposition. ld.so: __libc_memalign + RELA R_X86_64_GLOB_DAT All contains the __libc_memalign relocation.On s390x it has also existed before but a plt-stub was used. If you now use the compiler flag -fno-optimize-sibling-calls you'll get the plt-stub as before. With this optimization the relocation is done via a function pointer.
Bye Stefan
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |