ia64: makecontext: fix signed warnings
authorMike Frysinger <vapier@gentoo.org>
Sun, 10 Mar 2013 22:53:15 +0000 (22:53 +0000)
committerMike Frysinger <vapier@gentoo.org>
Mon, 11 Mar 2013 02:18:28 +0000 (22:18 -0400)
The ia64_rse_is_rnat_slot func expects an unsigned pointer, but we're
passing in a signed pointer.  The signness doesn't matter here, so
convert it to unsigned.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
ports/ChangeLog.ia64
ports/sysdeps/unix/sysv/linux/ia64/makecontext.c

index 46e2dd9..685ce1b 100644 (file)
@@ -1,5 +1,10 @@
 2013-03-10  Mike Frysinger  <vapier@gentoo.org>
 
+       * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Change
+       type of rbs to unsigned.  Change stack_start cast to unsigned.
+
+2013-03-10  Mike Frysinger  <vapier@gentoo.org>
+
        * sysdeps/unix/sysv/linux/ia64/nptl/dl-sysdep.h:
        Change multiple inclusion guard to _LINUX_IA64_DL_SYSDEP_H.
        Use #include_next.
index 79fa05a..a512c94 100644 (file)
@@ -48,7 +48,7 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
   extern void __start_context (ucontext_t *link, long gp, ...);
   unsigned long stack_start, stack_end;
   va_list ap;
-  long *rbs;
+  unsigned long *rbs;
   int i;
 
   stack_start = (long) sc->sc_stack.ss_sp;
@@ -72,7 +72,7 @@ makecontext: does not know how to handle more than 8 arguments\n"));
   /* set up the call frame: */
   sc->sc_ar_pfs = ((sc->sc_ar_pfs & ~0x3fffffffffUL)
                   | (argc + 2) | ((argc + 2) << 7));
-  rbs = (long *) stack_start;
+  rbs = (unsigned long *) stack_start;
   PUSH((long) ucp->uc_link);
   PUSH(((struct fdesc *) &__start_context)->gp);
   va_start (ap, argc);