This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: things to do for arch maintainers


Jakub Jelinek wrote:

On Tue, Dec 20, 2005 at 04:05:40PM -0600, Steven Munroe wrote:


Jakub got to the powerpc change before I could finish testing my version. No problem with Jukub's quickness, but I notice that his version does not fill in the

"#if defined NOT_IN_libc && defined IS_IN_rtld"


case. While the X86_64 example does.



Uli did that part already earlier for sysdeps/powerpc/powerpc32/setjmp-common.S:

#if defined NOT_IN_libc && defined IS_IN_rtld
       li   r3,0
       blr
#else
       b BP_SYM (__sigjmp_save@local)
#endif



I was refering to defining the PTR_MANGLE/PTR_DEMANGLE macros for the IS_IN_RTLD case. X86_64 defines:

#if defined NOT_IN_libc && defined IS_IN_rtld
/* We cannot use the thread descriptor because in ld.so we use setjmp
earlier than the descriptor is initialized. */
# ifdef __ASSEMBLER__
# define PTR_MANGLE(reg) xorq __pointer_chk_guard_local(%rip), reg
# define PTR_DEMANGLE(reg) PTR_MANGLE (reg)
# else
# define PTR_MANGLE(reg) asm ("xorq __pointer_chk_guard_local(%%rip), %0"\
: "=r" (reg) : "0" (reg))
# define PTR_DEMANGLE(reg) PTR_MANGLE (reg)
# endif
...


While powerpc and most other arch's leave the macros undefined for the IS_IN_RTLD case.

This may be appropriate because powerpc does not have a pc relative reference to access __pointer_chk_guard_local and access via the .got/.toc will fail if access is attemped before the got/toc are relocated. But I wanted to verify this.

It is not clear what this change is really for, so it is difficult to determine what is intended or required.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]