This is the mail archive of the libc-hacker@sourceware.cygnus.com 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]

Re: Damaged PPC_REL24 handling


Geoff,
   Dan forgot to mention that the program which routinely displays this
behavior under linuxppc is mozilla.
                    Jack

On Nov 13,  5:07pm, Daniel Jacobowitz wrote:
> Subject: Damaged PPC_REL24 handling
> From owner-libc-alpha@cygnus.com  Fri Nov 13 18:44:54 1998
> Date: Fri, 13 Nov 1998 17:07:01 -0500
> From: Daniel Jacobowitz <drow+@cs.cmu.edu>
> To: Geoff Keating <geoffk@ozemail.com.au>
> Cc: libc-alpha@gnu.org
> Subject: Damaged PPC_REL24 handling
> Mail-Followup-To: Geoff Keating <geoffk@ozemail.com.au>, libc-alpha@gnu.org
> X-Mailer: Mutt 0.94.12i
> Sender: owner-libc-alpha@cygnus.com
> Precedence: bulk
> 
> Something is wrong with the handling of R_PPC_REL24 relocations.  This
> error keeps getting triggered:
> 
>     case R_PPC_REL24:
>       {
>         Elf32_Sword delta = finaladdr - (Elf32_Word) (char *) reloc_addr;
>         if (delta << 6 >> 6 != delta)
>           {
>             _dl_signal_error(0, map->l_name,
>                              "R_PPC_REL24 relocation out of range");
>           }
>         *reloc_addr = *reloc_addr & 0xfc000003 | delta & 0x3fffffc;
>       }
>       break;
> 
> What the problem is I'm not quite sure - it could be binutils, but I
> think the test is at fault.  From what I can see this should be an
> Elf32_Word, or cast to one for the range check.  This way, if the
> seventh MSB is set (within the valid range), sign extension breaks the
> test.  Am I misunderstanding?
> 
> Dan
> 
>-- End of excerpt from Daniel Jacobowitz



-- 
------------------------------------------------------------------------------
Jack W. Howarth, Ph.D.                                     231 Bethesda Avenue
NMR Facility Director                              Cincinnati, Ohio 45267-0524
Dept. of Molecular Genetics                              phone: (513) 558-4420
Univ. of Cincinnati College of Medicine                    fax: (513) 558-8474


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