2007-04-26 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@redhat.com>
Fri, 27 Apr 2007 04:07:41 +0000 (04:07 +0000)
committerRoland McGrath <roland@redhat.com>
Fri, 27 Apr 2007 04:07:41 +0000 (04:07 +0000)
* run-elflint-self.sh: Run all tests even if one fails.

backends/ChangeLog
backends/alpha_init.c
backends/alpha_symbol.c
tests/ChangeLog
tests/run-allregs.sh
tests/run-elflint-self.sh

index 9bbd6bf..e962de9 100644 (file)
@@ -1,5 +1,8 @@
 2007-04-26  Roland McGrath  <roland@redhat.com>
 
+       * alpha_symbol.c (alpha_machine_section_flag_check): New function.
+       * alpha_init.c (alpha_init): Initialize hook.
+
        * alpha_regs.c: New file.
        * Makefile.am (alpha_SRCS): Add it.
        * alpha_init.c (alpha_init): Initialize register_info hook.
index 3570af7..ba5ca12 100644 (file)
@@ -55,6 +55,7 @@ alpha_init (elf, machine, eh, ehlen)
   HOOK (eh, reloc_simple_type);
   HOOK (eh, return_value_location);
   HOOK (eh, register_info);
+  HOOK (eh, machine_section_flag_check);
   eh->sysvhash_entrysize = sizeof (Elf64_Xword);
 
   return MODVERSION;
index ca93e2a..dc3cce5 100644 (file)
@@ -1,5 +1,5 @@
 /* Alpha specific symbolic name handling.
-   Copyright (C) 2002, 2005 Red Hat, Inc.
+   Copyright (C) 2002, 2005, 2007 Red Hat, Inc.
    This file is part of Red Hat elfutils.
    Written by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -69,3 +69,11 @@ alpha_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
       return ELF_T_NUM;
     }
 }
+
+
+/* Check whether SHF_MASKPROC flags are valid.  */
+bool
+alpha_machine_section_flag_check (GElf_Xword sh_flags)
+{
+  return (sh_flags &~ (SHF_ALPHA_GPREL)) == 0;
+}
index 7d1f82f..89fbab7 100644 (file)
@@ -1,3 +1,9 @@
+2007-04-26  Roland McGrath  <roland@redhat.com>
+
+       * run-elflint-self.sh: Run all tests even if one fails.
+
+       * run-allregs.sh: Add expected output for alpha.
+
 2007-04-24  Roland McGrath  <roland@redhat.com>
 
        * run-strip-test.sh: When we saved the debug info, test unstrip too.
index a12e5c5..af69ac6 100755 (executable)
@@ -2519,4 +2519,75 @@ control registers:
         85: %y (y), unsigned 64 bits
 EOF
 
+regs_test testfile10 <<\EOF
+integer registers:
+         0: $v0 (v0), signed 64 bits
+         1: $t0 (t0), signed 64 bits
+         2: $t1 (t1), signed 64 bits
+         3: $t2 (t2), signed 64 bits
+         4: $t3 (t3), signed 64 bits
+         5: $t4 (t4), signed 64 bits
+         6: $t5 (t5), signed 64 bits
+         7: $t6 (t6), signed 64 bits
+         8: $t7 (t7), signed 64 bits
+         9: $s0 (s0), signed 64 bits
+        10: $s1 (s1), signed 64 bits
+        11: $s2 (s2), signed 64 bits
+        12: $s3 (s3), signed 64 bits
+        13: $s4 (s4), signed 64 bits
+        14: $s5 (s5), signed 64 bits
+        15: $fp (fp), address 64 bits
+        16: $a0 (a0), signed 64 bits
+        17: $a1 (a1), signed 64 bits
+        18: $a2 (a2), signed 64 bits
+        19: $a3 (a3), signed 64 bits
+        20: $a4 (a4), signed 64 bits
+        21: $a5 (a5), signed 64 bits
+        22: $t8 (t8), signed 64 bits
+        23: $t9 (t9), signed 64 bits
+        24: $t10 (t10), signed 64 bits
+        25: $t11 (t11), signed 64 bits
+        26: $ra (ra), address 64 bits
+        27: $t12 (t12), signed 64 bits
+        28: $at (at), signed 64 bits
+        29: $gp (gp), address 64 bits
+        30: $sp (sp), address 64 bits
+        31: $zero (zero), signed 64 bits
+        64: $pc (pc), address 64 bits
+        66: $unique (unique), address 64 bits
+FPU registers:
+        32: $f0 (f0), float 64 bits
+        33: $f1 (f1), float 64 bits
+        34: $f2 (f2), float 64 bits
+        35: $f3 (f3), float 64 bits
+        36: $f4 (f4), float 64 bits
+        37: $f5 (f5), float 64 bits
+        38: $f6 (f6), float 64 bits
+        39: $f7 (f7), float 64 bits
+        40: $f8 (f8), float 64 bits
+        41: $f9 (f9), float 64 bits
+        42: $f10 (f10), float 64 bits
+        43: $f11 (f11), float 64 bits
+        44: $f12 (f12), float 64 bits
+        45: $f13 (f13), float 64 bits
+        46: $f14 (f14), float 64 bits
+        47: $f15 (f15), float 64 bits
+        48: $f16 (f16), float 64 bits
+        49: $f17 (f17), float 64 bits
+        50: $f18 (f18), float 64 bits
+        51: $f19 (f19), float 64 bits
+        52: $f20 (f20), float 64 bits
+        53: $f21 (f21), float 64 bits
+        54: $f22 (f22), float 64 bits
+        55: $f23 (f23), float 64 bits
+        56: $f24 (f24), float 64 bits
+        57: $f25 (f25), float 64 bits
+        58: $f26 (f26), float 64 bits
+        59: $f27 (f27), float 64 bits
+        60: $f28 (f28), float 64 bits
+        61: $f29 (f29), float 64 bits
+        62: $f30 (f30), float 64 bits
+        63: $fpcr (fpcr), unsigned 64 bits
+EOF
+
 exit 0
index 7f7c01e..7da0886 100755 (executable)
 
 . $srcdir/test-subr.sh
 
+status=0
 runtest() {
 # Uncomment for debuging
 #  echo $1
   if [ -f $1 ]; then
     testrun ../src/elflint --quiet --gnu-ld $1 ||
-    (echo "*** failure in $1"; exit 1)
+    { echo "*** failure in $1"; status=1; }
   fi
 }
 
@@ -57,3 +58,5 @@ runtest ../libebl/libebl_ppc64.so
 runtest ../libebl/libebl_sh.so
 runtest ../libebl/libebl_sparc.so
 runtest ../libebl/libebl_x86_64.so
+
+exit $status