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 Tue, May 8, 2012 at 3:55 PM, Roland McGrath <roland@hack.frob.com> wrote: >> https://sites.google.com/site/x32abi/documents >> >> most of relocations in x32 are applied to 32bit fields. > > OK. > >> > Then it can be just: >> > >> > ? ? ? ?*reloc_addr = (Elf64_Sxword) (Elf32_Sword) value; >> >> Not all relocations use this computation. ?I don't think we >> should compute a value which is only used by a few relocations. > > Sorry I was not clear. ?I just meant a local temporary in those cases to > avoid having the same calculation on both forks of the #if, not anything > superfluous. > >> > But it needs a comment saying why this particular reloc type gets sign >> > extension when all the others get zero extension. >> > >> >> Here is the updated patch with comments. ?OK for trunk? > > Never say "64bit", always "64-bit" if an adjective. > > The comments are too terse. ?Say something like: > > This relocation type computes a signed offset that is usually negative. > The symbol and addend values are 32 bits but the GOT entry is 64 bits wide > and the whole 64-bit entry is used as a signed quantity, so we need to > sign-extend the computed value to 64 bits. > Here is the updated patch. Since there already are /* We know the offset of the object the symbol is contained in. It is a negative value which will be added to the thread pointer. */ I didn't repeat the negative offset in the second comment. OK to install? Thanks. -- H.J.
Attachment:
libc-x32-tls-2.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |