mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
Fix R_X86_64_PC32 overflow detection
This commit is contained in:
parent
356af22323
commit
e39acb1f16
@ -1,3 +1,8 @@
|
||||
2010-03-02 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): R_X86_64_PC32
|
||||
is sign-extending.
|
||||
|
||||
2010-03-03 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/bits/in.h: Add a few more definitions from
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Machine-dependent ELF dynamic relocation inline functions. x86-64 version.
|
||||
Copyright (C) 2001-2005, 2006, 2008, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2006, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Andreas Jaeger <aj@suse.de>.
|
||||
|
||||
@ -419,7 +419,7 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
|
||||
case R_X86_64_PC32:
|
||||
value += reloc->r_addend - (Elf64_Addr) reloc_addr;
|
||||
*(unsigned int *) reloc_addr = value;
|
||||
if (__builtin_expect (value != (unsigned int) value, 0))
|
||||
if (__builtin_expect (value != (int) value, 0))
|
||||
{
|
||||
fmt = "\
|
||||
%s: Symbol `%s' causes overflow in R_X86_64_PC32 relocation\n";
|
||||
|
Loading…
Reference in New Issue
Block a user