Module Name: src
Committed By: martin
Date: Fri May 22 21:47:47 UTC 2009
Modified Files:
src/libexec/ld.elf_so/arch/sparc64: mdreloc.c
Log Message:
Use the new Elf_SOff (signed offset) type to fix a few signed/unsigned
problems.
To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/libexec/ld.elf_so/arch/sparc64/mdreloc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/libexec/ld.elf_so/arch/sparc64/mdreloc.c
diff -u src/libexec/ld.elf_so/arch/sparc64/mdreloc.c:1.44 src/libexec/ld.elf_so/arch/sparc64/mdreloc.c:1.45
--- src/libexec/ld.elf_so/arch/sparc64/mdreloc.c:1.44 Mon Mar 16 02:46:48 2009
+++ src/libexec/ld.elf_so/arch/sparc64/mdreloc.c Fri May 22 21:47:46 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: mdreloc.c,v 1.44 2009/03/16 02:46:48 lukem Exp $ */
+/* $NetBSD: mdreloc.c,v 1.45 2009/05/22 21:47:46 martin Exp $ */
/*-
* Copyright (c) 2000 Eduardo Horvath.
@@ -32,7 +32,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: mdreloc.c,v 1.44 2009/03/16 02:46:48 lukem Exp $");
+__RCSID("$NetBSD: mdreloc.c,v 1.45 2009/05/22 21:47:46 martin Exp $");
#endif /* not lint */
#include <errno.h>
@@ -560,7 +560,7 @@
*/
ptr[0] += value - (Elf_Addr)obj->pltgot;
- } else if (offset <= (1L<<20) && offset >= -(1L<<20)) {
+ } else if (offset <= (1L<<20) && (Elf_SOff)offset >= -(1L<<20)) {
/*
* We're within 1MB -- we can use a direct branch insn.
*
@@ -578,7 +578,7 @@
*/
where[1] = BAA | ((offset >> 2) &0x3fffff);
__asm volatile("iflush %0+4" : : "r" (where));
- } else if (value >= 0 && value < (1L<<32)) {
+ } else if (value < (1L<<32)) {
/*
* We're within 32-bits of address zero.
*
@@ -599,7 +599,7 @@
__asm volatile("iflush %0+8" : : "r" (where));
__asm volatile("iflush %0+4" : : "r" (where));
- } else if (value <= 0 && value > -(1L<<32)) {
+ } else if ((Elf_SOff)value <= 0 && (Elf_SOff)value > -(1L<<32)) {
/*
* We're within 32-bits of address -1.
*
@@ -622,7 +622,7 @@
__asm volatile("iflush %0+8" : : "r" (where));
__asm volatile("iflush %0+4" : : "r" (where));
- } else if (offset <= (1L<<32) && offset >= -((1L<<32) - 4)) {
+ } else if (offset <= (1L<<32) && (Elf_SOff)offset >= -((1L<<32) - 4)) {
/*
* We're within 32-bits -- we can use a direct call insn
*
@@ -645,7 +645,7 @@
__asm volatile("iflush %0+8" : : "r" (where));
__asm volatile("iflush %0+4" : : "r" (where));
- } else if (offset >= 0 && offset < (1L<<44)) {
+ } else if (offset < (1L<<44)) {
/*
* We're within 44 bits. We can generate this pattern:
*
@@ -670,7 +670,7 @@
__asm volatile("iflush %0+8" : : "r" (where));
__asm volatile("iflush %0+4" : : "r" (where));
- } else if (offset < 0 && offset > -(1L<<44)) {
+ } else if ((Elf_SOff)offset < 0 && (Elf_SOff)offset > -(1L<<44)) {
/*
* We're within 44 bits. We can generate this pattern:
*