This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [parisc-linux] [patch] Remove magic constant from gas/tc-hppa.c


Le samedi 21 octobre 2006 Ã 19:38 -0400, John David Anglin a Ãcrit :
>        if (bfd_get_mach (stdoutput) < pa11)
> 
> You missed the above pa11 and a couple of pa20 uses.  It would
> be nice if the duplication present in the definition of the enum
> pa_arch and the bfd_mach_* defines could be eliminated.  However,
> I think using the bfd_mach values in the opcode table would be
> ugly.

Other architectures seem to have the same problem.  They generally seem
to use the bfd_mach_* values in the tc-* files, and some other define in
the opcode headers.

> Ultimately, it would be nice to turn all the TARGET_ARCH_SIZE
> tests into runtime checks.

Sheesh!  Between you, Matthew and Carlos...  =)

So as requested, here it is.  I've gone as far as I can until I finish
the job with bfd.  I have a bit of this work done from the hppa64
hacking I've been doing, but that part isn't ready for submission yet.

Tested on hppa-linux (with the testsuite), hppa64-linux (with my
simpleasm hacks), and a specific extra taste to make sure that %mrp is
handled correctly.

2006-10-21  Jeff Bailey  <jbailey@raspberryginger.com>

        * config/tc-hppa.c: Do not define DEFAULT_LEVEL.
        Add variables for architecture size.
        Add mach member to struct pd_reg and populate pre_defined_registers.
        (need_pa11_opcode): Use bfd_mach_hppa11 instead of pa11 for
        consistency.
        (need_pa11_opcode): Use defines from bfd.h instead of magic numbers.
        (pa_ip): Likewise.
        (pa_level): Likewise.
        (pa_parse_number): Use binutils hash instead of home-brew one.
        (md_begin): Use defines from bfd.h instead of DEFAULT_LEVEL.
        (init_default_arch): New function.
        (hppa_target_format): New function.
        (hppa_print_statistics): New function.
        (reg_name_search): Removed.
        (setup_reg_hash): New function.

        * config/tc-hppa.h: Redefine TARGET_FORMAT as hppa_target_format()
        and in terms of ELF_TARGET_FORMAT and ELF64_TARGET_FORMAT for OBJ_ELF.
        Remove extra definitions of TRUE and FALSE.

        * configure.in: Define DEFAULT_ARCH for hppa.
        * configure: Regenerate.
        * configure.tgt: Specify arch for hppa and hppa64.


--
Jeff Bailey - http://www.raspberryginger.com/jbailey/
Index: configure
===================================================================
RCS file: /cvs/src/src/gas/configure,v
retrieving revision 1.214
diff -u -p -r1.214 configure
--- configure	20 Sep 2006 11:35:10 -0000	1.214
+++ configure	22 Oct 2006 17:14:58 -0000
@@ -970,7 +970,7 @@ esac
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi
-    cd $ac_popdir
+    cd "$ac_popdir"
   done
 fi
 
@@ -1993,8 +1993,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2052,8 +2051,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2169,8 +2167,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2224,8 +2221,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2270,8 +2266,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2315,8 +2310,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2394,8 +2388,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2449,8 +2442,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3866,7 +3858,7 @@ test x"$pic_mode" = xno && libtool_flags
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 3869 "configure"' > conftest.$ac_ext
+  echo '#line 3861 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -3921,7 +3913,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*linux*|x86_64-*mingw64*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -3932,7 +3924,7 @@ x86_64-*linux*|x86_64-*mingw64*|ppc*-*li
     case "`/usr/bin/file conftest.o`" in
     *32-bit*)
       case $host in
-        x86_64-*linux*|x86_64-*mingw64*)
+        x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
         ppc64-*linux*|powerpc64-*linux*)
@@ -3948,7 +3940,7 @@ x86_64-*linux*|x86_64-*mingw64*|ppc*-*li
       ;;
     *64-bit*)
       case $host in
-        x86_64-*linux*|x86_64-*mingw64*)
+        x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
         ppc*-*linux*|powerpc*-*linux*)
@@ -4008,8 +4000,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4287,8 +4278,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4330,8 +4320,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4388,8 +4377,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4799,7 +4787,7 @@ _ACEOF
         using_cgen=yes
 	;;
 
-      i386 | s390 | sparc)
+      i386 | s390 | sparc | hppa)
 	if test $this_target = $target ; then
 
 cat >>confdefs.h <<_ACEOF
@@ -5540,8 +5528,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5599,8 +5586,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5716,8 +5702,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5771,8 +5756,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5817,8 +5801,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5862,8 +5845,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6025,8 +6007,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6092,8 +6073,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6182,8 +6162,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6912,8 +6891,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7083,8 +7061,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7159,8 +7136,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7324,8 +7300,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7406,8 +7381,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7548,8 +7522,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7681,8 +7654,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7795,8 +7767,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7899,8 +7870,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7981,8 +7951,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8043,8 +8012,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8107,8 +8075,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8185,8 +8152,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8279,8 +8245,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8342,8 +8307,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8409,8 +8373,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8476,8 +8439,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8543,8 +8505,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8610,8 +8571,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8677,8 +8637,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8744,8 +8703,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8810,8 +8768,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9795,11 +9752,6 @@ esac
   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
   # Let's still pretend it is `configure' which instantiates (i.e., don't
   # use $as_me), people would be surprised to read:
   #    /* config.h.  Generated by config.status.  */
@@ -9838,6 +9790,12 @@ echo "$as_me: error: cannot find input f
 	 fi;;
       esac
     done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.194
diff -u -p -r1.194 configure.in
--- configure.in	20 Sep 2006 11:35:11 -0000	1.194
+++ configure.in	22 Oct 2006 17:14:58 -0000
@@ -325,7 +325,7 @@ changequote([,])dnl
         using_cgen=yes
 	;;
 
-      i386 | s390 | sparc)
+      i386 | s390 | sparc | hppa)
 	if test $this_target = $target ; then
 	  AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
 	fi
Index: configure.tgt
===================================================================
RCS file: /cvs/src/src/gas/configure.tgt,v
retrieving revision 1.29
diff -u -p -r1.29 configure.tgt
--- configure.tgt	20 Sep 2006 11:35:11 -0000	1.29
+++ configure.tgt	22 Oct 2006 17:14:58 -0000
@@ -37,7 +37,8 @@ case ${cpu} in
   c4x*)			cpu_type=tic4x ;;
   crisv32)		cpu_type=cris arch=crisv32 ;;
   crx*)			cpu_type=crx endian=little ;;
-  hppa*)		cpu_type=hppa ;;
+  hppa)			cpu_type=hppa arch=hppa;;
+  hppa64)		cpu_type=hppa arch=hppa64;;
   i[3-7]86)		cpu_type=i386 arch=i386;;
   ia64)			cpu_type=ia64 ;;
   ip2k)			cpu_type=ip2k endian=big ;; 
Index: config/tc-hppa.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-hppa.c,v
retrieving revision 1.132
diff -u -p -r1.132 tc-hppa.c
--- config/tc-hppa.c	7 Jun 2006 11:27:57 -0000	1.132
+++ config/tc-hppa.c	22 Oct 2006 17:14:58 -0000
@@ -44,6 +44,18 @@ error only one of OBJ_ELF and OBJ_SOM ca
 /* A "convenient" place to put object file dependencies which do
    not need to be seen outside of tc-hppa.c.  */
 
+/* Either 32 or 64, selects file format. */
+static int hppa_arch_size;
+
+/* Store the BFD machine type */
+static unsigned long bfd_mach;
+
+/* The default architecture */
+#ifndef DEFAULT_ARCH
+#define DEFAULT_ARCH "hppa"
+#endif
+static char *default_arch = DEFAULT_ARCH;
+
 /* Object file formats specify relocation types.  */
 typedef enum elf_hppa_reloc_type reloc_type;
 
@@ -52,14 +64,9 @@ typedef elf_symbol_type obj_symbol_type;
 #define symbol_arg_reloc_info(sym)\
   (((obj_symbol_type *) symbol_get_bfdsym (sym))->tc_data.hppa_arg_reloc)
 
-#if TARGET_ARCH_SIZE == 64
-/* How to generate a relocation.  */
-#define hppa_gen_reloc_type _bfd_elf64_hppa_gen_reloc_type
-#define elf_hppa_reloc_final_type elf64_hppa_reloc_final_type
-#else
-#define hppa_gen_reloc_type _bfd_elf32_hppa_gen_reloc_type
-#define elf_hppa_reloc_final_type elf32_hppa_reloc_final_type
-#endif
+/* Function pointer to tell us how to generate a relocation.  */
+elf_hppa_reloc_type** (*hppa_gen_reloc_type)(bfd*, elf_hppa_reloc_type, int, unsigned int, int, asymbol*);
+elf_hppa_reloc_type (*elf_hppa_reloc_final_type)(bfd*, elf_hppa_reloc_type, int, unsigned int);
 
 /* ELF objects can have versions, but apparently do not have anywhere
    to store a copyright string.  */
@@ -105,12 +112,6 @@ typedef som_symbol_type obj_symbol_type;
 #endif
 #endif /* OBJ_SOM */
 
-#if TARGET_ARCH_SIZE == 64
-#define DEFAULT_LEVEL 25
-#else
-#define DEFAULT_LEVEL 10
-#endif
-
 /* Various structures and types used internally in tc-hppa.c.  */
 
 /* Unwind table and descriptor.  FIXME: Sync this with GDB version.  */
@@ -466,6 +467,7 @@ struct hppa_fix_struct
 struct pd_reg
   {
     char *name;
+    unsigned long mach;
     int value;
   };
 
@@ -485,6 +487,12 @@ struct selector_entry
     int field_selector;
   };
 
+/* Setup architecture information for 32 or 64 bit */
+static void init_default_arch (void);
+
+/* Setup register hash, called from init_default_arch */
+static void setup_reg_hash (void);
+
 /* Prototypes for functions local to tc-hppa.c.  */
 
 #ifdef OBJ_SOM
@@ -661,226 +669,229 @@ static int print_errors = 1;
    Almost every control register has a synonym; they are not listed
    here for brevity.
 
-   The table is sorted. Suitable for searching by a binary search.  */
+   The table is sorted, but might have duplicate names if a register
+   is defined differently for different machines.  See mrp for an
+   example.  The more generally supported register definitions must
+   come LAST. */
 
 static const struct pd_reg pre_defined_registers[] =
 {
-  {"%arg0",  26},
-  {"%arg1",  25},
-  {"%arg2",  24},
-  {"%arg3",  23},
-  {"%cr0",    0},
-  {"%cr10",  10},
-  {"%cr11",  11},
-  {"%cr12",  12},
-  {"%cr13",  13},
-  {"%cr14",  14},
-  {"%cr15",  15},
-  {"%cr16",  16},
-  {"%cr17",  17},
-  {"%cr18",  18},
-  {"%cr19",  19},
-  {"%cr20",  20},
-  {"%cr21",  21},
-  {"%cr22",  22},
-  {"%cr23",  23},
-  {"%cr24",  24},
-  {"%cr25",  25},
-  {"%cr26",  26},
-  {"%cr27",  27},
-  {"%cr28",  28},
-  {"%cr29",  29},
-  {"%cr30",  30},
-  {"%cr31",  31},
-  {"%cr8",    8},
-  {"%cr9",    9},
-  {"%dp",    27},
-  {"%eiem",  15},
-  {"%eirr",  23},
-  {"%farg0",  4 + FP_REG_BASE},
-  {"%farg1",  5 + FP_REG_BASE},
-  {"%farg2",  6 + FP_REG_BASE},
-  {"%farg3",  7 + FP_REG_BASE},
-  {"%fr0",    0 + FP_REG_BASE},
-  {"%fr0l",   0 + FP_REG_BASE},
-  {"%fr0r",   0 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr1",    1 + FP_REG_BASE},
-  {"%fr10",  10 + FP_REG_BASE},
-  {"%fr10l", 10 + FP_REG_BASE},
-  {"%fr10r", 10 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr11",  11 + FP_REG_BASE},
-  {"%fr11l", 11 + FP_REG_BASE},
-  {"%fr11r", 11 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr12",  12 + FP_REG_BASE},
-  {"%fr12l", 12 + FP_REG_BASE},
-  {"%fr12r", 12 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr13",  13 + FP_REG_BASE},
-  {"%fr13l", 13 + FP_REG_BASE},
-  {"%fr13r", 13 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr14",  14 + FP_REG_BASE},
-  {"%fr14l", 14 + FP_REG_BASE},
-  {"%fr14r", 14 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr15",  15 + FP_REG_BASE},
-  {"%fr15l", 15 + FP_REG_BASE},
-  {"%fr15r", 15 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr16",  16 + FP_REG_BASE},
-  {"%fr16l", 16 + FP_REG_BASE},
-  {"%fr16r", 16 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr17",  17 + FP_REG_BASE},
-  {"%fr17l", 17 + FP_REG_BASE},
-  {"%fr17r", 17 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr18",  18 + FP_REG_BASE},
-  {"%fr18l", 18 + FP_REG_BASE},
-  {"%fr18r", 18 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr19",  19 + FP_REG_BASE},
-  {"%fr19l", 19 + FP_REG_BASE},
-  {"%fr19r", 19 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr1l",   1 + FP_REG_BASE},
-  {"%fr1r",   1 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr2",    2 + FP_REG_BASE},
-  {"%fr20",  20 + FP_REG_BASE},
-  {"%fr20l", 20 + FP_REG_BASE},
-  {"%fr20r", 20 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr21",  21 + FP_REG_BASE},
-  {"%fr21l", 21 + FP_REG_BASE},
-  {"%fr21r", 21 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr22",  22 + FP_REG_BASE},
-  {"%fr22l", 22 + FP_REG_BASE},
-  {"%fr22r", 22 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr23",  23 + FP_REG_BASE},
-  {"%fr23l", 23 + FP_REG_BASE},
-  {"%fr23r", 23 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr24",  24 + FP_REG_BASE},
-  {"%fr24l", 24 + FP_REG_BASE},
-  {"%fr24r", 24 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr25",  25 + FP_REG_BASE},
-  {"%fr25l", 25 + FP_REG_BASE},
-  {"%fr25r", 25 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr26",  26 + FP_REG_BASE},
-  {"%fr26l", 26 + FP_REG_BASE},
-  {"%fr26r", 26 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr27",  27 + FP_REG_BASE},
-  {"%fr27l", 27 + FP_REG_BASE},
-  {"%fr27r", 27 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr28",  28 + FP_REG_BASE},
-  {"%fr28l", 28 + FP_REG_BASE},
-  {"%fr28r", 28 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr29",  29 + FP_REG_BASE},
-  {"%fr29l", 29 + FP_REG_BASE},
-  {"%fr29r", 29 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr2l",   2 + FP_REG_BASE},
-  {"%fr2r",   2 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr3",    3 + FP_REG_BASE},
-  {"%fr30",  30 + FP_REG_BASE},
-  {"%fr30l", 30 + FP_REG_BASE},
-  {"%fr30r", 30 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr31",  31 + FP_REG_BASE},
-  {"%fr31l", 31 + FP_REG_BASE},
-  {"%fr31r", 31 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr3l",   3 + FP_REG_BASE},
-  {"%fr3r",   3 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr4",    4 + FP_REG_BASE},
-  {"%fr4l",   4 + FP_REG_BASE},
-  {"%fr4r",   4 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr5",    5 + FP_REG_BASE},
-  {"%fr5l",   5 + FP_REG_BASE},
-  {"%fr5r",   5 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr6",    6 + FP_REG_BASE},
-  {"%fr6l",   6 + FP_REG_BASE},
-  {"%fr6r",   6 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr7",    7 + FP_REG_BASE},
-  {"%fr7l",   7 + FP_REG_BASE},
-  {"%fr7r",   7 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr8",    8 + FP_REG_BASE},
-  {"%fr8l",   8 + FP_REG_BASE},
-  {"%fr8r",   8 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fr9",    9 + FP_REG_BASE},
-  {"%fr9l",   9 + FP_REG_BASE},
-  {"%fr9r",   9 + FP_REG_BASE + FP_REG_RSEL},
-  {"%fret",   4},
-  {"%hta",   25},
-  {"%iir",   19},
-  {"%ior",   21},
-  {"%ipsw",  22},
-  {"%isr",   20},
-  {"%itmr",  16},
-  {"%iva",   14},
-#if TARGET_ARCH_SIZE == 64
-  {"%mrp",    2},
-#else
-  {"%mrp",   31},
-#endif
-  {"%pcoq",  18},
-  {"%pcsq",  17},
-  {"%pidr1",  8},
-  {"%pidr2",  9},
-  {"%pidr3", 12},
-  {"%pidr4", 13},
-  {"%ppda",  24},
-  {"%r0",     0},
-  {"%r1",     1},
-  {"%r10",   10},
-  {"%r11",   11},
-  {"%r12",   12},
-  {"%r13",   13},
-  {"%r14",   14},
-  {"%r15",   15},
-  {"%r16",   16},
-  {"%r17",   17},
-  {"%r18",   18},
-  {"%r19",   19},
-  {"%r2",     2},
-  {"%r20",   20},
-  {"%r21",   21},
-  {"%r22",   22},
-  {"%r23",   23},
-  {"%r24",   24},
-  {"%r25",   25},
-  {"%r26",   26},
-  {"%r27",   27},
-  {"%r28",   28},
-  {"%r29",   29},
-  {"%r3",     3},
-  {"%r30",   30},
-  {"%r31",   31},
-  {"%r4",     4},
-  {"%r5",     5},
-  {"%r6",     6},
-  {"%r7",     7},
-  {"%r8",     8},
-  {"%r9",     9},
-  {"%rctr",   0},
-  {"%ret0",  28},
-  {"%ret1",  29},
-  {"%rp",     2},
-  {"%sar",   11},
-  {"%sp",    30},
-  {"%sr0",    0},
-  {"%sr1",    1},
-  {"%sr2",    2},
-  {"%sr3",    3},
-  {"%sr4",    4},
-  {"%sr5",    5},
-  {"%sr6",    6},
-  {"%sr7",    7},
-  {"%t1",    22},
-  {"%t2",    21},
-  {"%t3",    20},
-  {"%t4",    19},
-  {"%tf1",   11},
-  {"%tf2",   10},
-  {"%tf3",    9},
-  {"%tf4",    8},
-  {"%tr0",   24},
-  {"%tr1",   25},
-  {"%tr2",   26},
-  {"%tr3",   27},
-  {"%tr4",   28},
-  {"%tr5",   29},
-  {"%tr6",   30},
-  {"%tr7",   31}
+  {"%arg0",  bfd_mach_hppa10,  26},
+  {"%arg1",  bfd_mach_hppa10,  25},
+  {"%arg2",  bfd_mach_hppa10,  24},
+  {"%arg3",  bfd_mach_hppa10,  23},
+  {"%cr0",   bfd_mach_hppa10,   0},
+  {"%cr10",  bfd_mach_hppa10,  10},
+  {"%cr11",  bfd_mach_hppa10,  11},
+  {"%cr12",  bfd_mach_hppa10,  12},
+  {"%cr13",  bfd_mach_hppa10,  13},
+  {"%cr14",  bfd_mach_hppa10,  14},
+  {"%cr15",  bfd_mach_hppa10,  15},
+  {"%cr16",  bfd_mach_hppa10,  16},
+  {"%cr17",  bfd_mach_hppa10,  17},
+  {"%cr18",  bfd_mach_hppa10,  18},
+  {"%cr19",  bfd_mach_hppa10,  19},
+  {"%cr20",  bfd_mach_hppa10,  20},
+  {"%cr21",  bfd_mach_hppa10,  21},
+  {"%cr22",  bfd_mach_hppa10,  22},
+  {"%cr23",  bfd_mach_hppa10,  23},
+  {"%cr24",  bfd_mach_hppa10,  24},
+  {"%cr25",  bfd_mach_hppa10,  25},
+  {"%cr26",  bfd_mach_hppa10,  26},
+  {"%cr27",  bfd_mach_hppa10,  27},
+  {"%cr28",  bfd_mach_hppa10,  28},
+  {"%cr29",  bfd_mach_hppa10,  29},
+  {"%cr30",  bfd_mach_hppa10,  30},
+  {"%cr31",  bfd_mach_hppa10,  31},
+  {"%cr8",   bfd_mach_hppa10,   8},
+  {"%cr9",   bfd_mach_hppa10,   9},
+  {"%dp",    bfd_mach_hppa10,  27},
+  {"%eiem",  bfd_mach_hppa10,  15},
+  {"%eirr",  bfd_mach_hppa10,  23},
+  {"%farg0", bfd_mach_hppa10,   4 + FP_REG_BASE},
+  {"%farg1", bfd_mach_hppa10,   5 + FP_REG_BASE},
+  {"%farg2", bfd_mach_hppa10,   6 + FP_REG_BASE},
+  {"%farg3", bfd_mach_hppa10,   7 + FP_REG_BASE},
+  {"%fr0",   bfd_mach_hppa10,   0 + FP_REG_BASE},
+  {"%fr0l",  bfd_mach_hppa10,   0 + FP_REG_BASE},
+  {"%fr0r",  bfd_mach_hppa10,   0 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr1",   bfd_mach_hppa10,   1 + FP_REG_BASE},
+  {"%fr10",  bfd_mach_hppa10,  10 + FP_REG_BASE},
+  {"%fr10l", bfd_mach_hppa10,  10 + FP_REG_BASE},
+  {"%fr10r", bfd_mach_hppa10,  10 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr11",  bfd_mach_hppa10,  11 + FP_REG_BASE},
+  {"%fr11l", bfd_mach_hppa10,  11 + FP_REG_BASE},
+  {"%fr11r", bfd_mach_hppa10,  11 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr12",  bfd_mach_hppa10,  12 + FP_REG_BASE},
+  {"%fr12l", bfd_mach_hppa10,  12 + FP_REG_BASE},
+  {"%fr12r", bfd_mach_hppa10,  12 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr13",  bfd_mach_hppa10,  13 + FP_REG_BASE},
+  {"%fr13l", bfd_mach_hppa10,  13 + FP_REG_BASE},
+  {"%fr13r", bfd_mach_hppa10,  13 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr14",  bfd_mach_hppa10,  14 + FP_REG_BASE},
+  {"%fr14l", bfd_mach_hppa10,  14 + FP_REG_BASE},
+  {"%fr14r", bfd_mach_hppa10,  14 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr15",  bfd_mach_hppa10,  15 + FP_REG_BASE},
+  {"%fr15l", bfd_mach_hppa10,  15 + FP_REG_BASE},
+  {"%fr15r", bfd_mach_hppa10,  15 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr16",  bfd_mach_hppa10,  16 + FP_REG_BASE},
+  {"%fr16l", bfd_mach_hppa10,  16 + FP_REG_BASE},
+  {"%fr16r", bfd_mach_hppa10,  16 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr17",  bfd_mach_hppa10,  17 + FP_REG_BASE},
+  {"%fr17l", bfd_mach_hppa10,  17 + FP_REG_BASE},
+  {"%fr17r", bfd_mach_hppa10,  17 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr18",  bfd_mach_hppa10,  18 + FP_REG_BASE},
+  {"%fr18l", bfd_mach_hppa10,  18 + FP_REG_BASE},
+  {"%fr18r", bfd_mach_hppa10,  18 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr19",  bfd_mach_hppa10,  19 + FP_REG_BASE},
+  {"%fr19l", bfd_mach_hppa10,  19 + FP_REG_BASE},
+  {"%fr19r", bfd_mach_hppa10,  19 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr1l",  bfd_mach_hppa10,   1 + FP_REG_BASE},
+  {"%fr1r",  bfd_mach_hppa10,   1 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr2",   bfd_mach_hppa10,   2 + FP_REG_BASE},
+  {"%fr20",  bfd_mach_hppa10,  20 + FP_REG_BASE},
+  {"%fr20l", bfd_mach_hppa10,  20 + FP_REG_BASE},
+  {"%fr20r", bfd_mach_hppa10,  20 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr21",  bfd_mach_hppa10,  21 + FP_REG_BASE},
+  {"%fr21l", bfd_mach_hppa10,  21 + FP_REG_BASE},
+  {"%fr21r", bfd_mach_hppa10,  21 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr22",  bfd_mach_hppa10,  22 + FP_REG_BASE},
+  {"%fr22l", bfd_mach_hppa10,  22 + FP_REG_BASE},
+  {"%fr22r", bfd_mach_hppa10,  22 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr23",  bfd_mach_hppa10,  23 + FP_REG_BASE},
+  {"%fr23l", bfd_mach_hppa10,  23 + FP_REG_BASE},
+  {"%fr23r", bfd_mach_hppa10,  23 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr24",  bfd_mach_hppa10,  24 + FP_REG_BASE},
+  {"%fr24l", bfd_mach_hppa10,  24 + FP_REG_BASE},
+  {"%fr24r", bfd_mach_hppa10,  24 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr25",  bfd_mach_hppa10,  25 + FP_REG_BASE},
+  {"%fr25l", bfd_mach_hppa10,  25 + FP_REG_BASE},
+  {"%fr25r", bfd_mach_hppa10,  25 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr26",  bfd_mach_hppa10,  26 + FP_REG_BASE},
+  {"%fr26l", bfd_mach_hppa10,  26 + FP_REG_BASE},
+  {"%fr26r", bfd_mach_hppa10,  26 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr27",  bfd_mach_hppa10,  27 + FP_REG_BASE},
+  {"%fr27l", bfd_mach_hppa10,  27 + FP_REG_BASE},
+  {"%fr27r", bfd_mach_hppa10,  27 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr28",  bfd_mach_hppa10,  28 + FP_REG_BASE},
+  {"%fr28l", bfd_mach_hppa10,  28 + FP_REG_BASE},
+  {"%fr28r", bfd_mach_hppa10,  28 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr29",  bfd_mach_hppa10,  29 + FP_REG_BASE},
+  {"%fr29l", bfd_mach_hppa10,  29 + FP_REG_BASE},
+  {"%fr29r", bfd_mach_hppa10,  29 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr2l",  bfd_mach_hppa10,   2 + FP_REG_BASE},
+  {"%fr2r",  bfd_mach_hppa10,   2 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr3",   bfd_mach_hppa10,   3 + FP_REG_BASE},
+  {"%fr30",  bfd_mach_hppa10,  30 + FP_REG_BASE},
+  {"%fr30l", bfd_mach_hppa10,  30 + FP_REG_BASE},
+  {"%fr30r", bfd_mach_hppa10,  30 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr31",  bfd_mach_hppa10,  31 + FP_REG_BASE},
+  {"%fr31l", bfd_mach_hppa10,  31 + FP_REG_BASE},
+  {"%fr31r", bfd_mach_hppa10,  31 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr3l",  bfd_mach_hppa10,   3 + FP_REG_BASE},
+  {"%fr3r",  bfd_mach_hppa10,   3 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr4",   bfd_mach_hppa10,   4 + FP_REG_BASE},
+  {"%fr4l",  bfd_mach_hppa10,   4 + FP_REG_BASE},
+  {"%fr4r",  bfd_mach_hppa10,   4 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr5",   bfd_mach_hppa10,   5 + FP_REG_BASE},
+  {"%fr5l",  bfd_mach_hppa10,   5 + FP_REG_BASE},
+  {"%fr5r",  bfd_mach_hppa10,   5 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr6",   bfd_mach_hppa10,   6 + FP_REG_BASE},
+  {"%fr6l",  bfd_mach_hppa10,   6 + FP_REG_BASE},
+  {"%fr6r",  bfd_mach_hppa10,   6 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr7",   bfd_mach_hppa10,   7 + FP_REG_BASE},
+  {"%fr7l",  bfd_mach_hppa10,   7 + FP_REG_BASE},
+  {"%fr7r",  bfd_mach_hppa10,   7 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr8",   bfd_mach_hppa10,   8 + FP_REG_BASE},
+  {"%fr8l",  bfd_mach_hppa10,   8 + FP_REG_BASE},
+  {"%fr8r",  bfd_mach_hppa10,   8 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fr9",   bfd_mach_hppa10,   9 + FP_REG_BASE},
+  {"%fr9l",  bfd_mach_hppa10,   9 + FP_REG_BASE},
+  {"%fr9r",  bfd_mach_hppa10,   9 + FP_REG_BASE + FP_REG_RSEL},
+  {"%fret",  bfd_mach_hppa10,   4},
+  {"%hta",   bfd_mach_hppa10,  25},
+  {"%iir",   bfd_mach_hppa10,  19},
+  {"%ior",   bfd_mach_hppa10,  21},
+  {"%ipsw",  bfd_mach_hppa10,  22},
+  {"%isr",   bfd_mach_hppa10,  20},
+  {"%itmr",  bfd_mach_hppa10,  16},
+  {"%iva",   bfd_mach_hppa10,  14},
+  {"%mrp",   bfd_mach_hppa20w,  2},
+  {"%mrp",   bfd_mach_hppa10,  31},
+  {"%pcoq",  bfd_mach_hppa10,  18},
+  {"%pcsq",  bfd_mach_hppa10,  17},
+  {"%pidr1", bfd_mach_hppa10,   8},
+  {"%pidr2", bfd_mach_hppa10,   9},
+  {"%pidr3", bfd_mach_hppa10,  12},
+  {"%pidr4", bfd_mach_hppa10,  13},
+  {"%ppda",  bfd_mach_hppa10,  24},
+  {"%r0",    bfd_mach_hppa10,   0},
+  {"%r1",    bfd_mach_hppa10,   1},
+  {"%r10",   bfd_mach_hppa10,  10},
+  {"%r11",   bfd_mach_hppa10,  11},
+  {"%r12",   bfd_mach_hppa10,  12},
+  {"%r13",   bfd_mach_hppa10,  13},
+  {"%r14",   bfd_mach_hppa10,  14},
+  {"%r15",   bfd_mach_hppa10,  15},
+  {"%r16",   bfd_mach_hppa10,  16},
+  {"%r17",   bfd_mach_hppa10,  17},
+  {"%r18",   bfd_mach_hppa10,  18},
+  {"%r19",   bfd_mach_hppa10,  19},
+  {"%r2",    bfd_mach_hppa10,   2},
+  {"%r20",   bfd_mach_hppa10,  20},
+  {"%r21",   bfd_mach_hppa10,  21},
+  {"%r22",   bfd_mach_hppa10,  22},
+  {"%r23",   bfd_mach_hppa10,  23},
+  {"%r24",   bfd_mach_hppa10,  24},
+  {"%r25",   bfd_mach_hppa10,  25},
+  {"%r26",   bfd_mach_hppa10,  26},
+  {"%r27",   bfd_mach_hppa10,  27},
+  {"%r28",   bfd_mach_hppa10,  28},
+  {"%r29",   bfd_mach_hppa10,  29},
+  {"%r3",    bfd_mach_hppa10,   3},
+  {"%r30",   bfd_mach_hppa10,  30},
+  {"%r31",   bfd_mach_hppa10,  31},
+  {"%r4",    bfd_mach_hppa10,   4},
+  {"%r5",    bfd_mach_hppa10,   5},
+  {"%r6",    bfd_mach_hppa10,   6},
+  {"%r7",    bfd_mach_hppa10,   7},
+  {"%r8",    bfd_mach_hppa10,   8},
+  {"%r9",    bfd_mach_hppa10,   9},
+  {"%rctr",  bfd_mach_hppa10,   0},
+  {"%ret0",  bfd_mach_hppa10,  28},
+  {"%ret1",  bfd_mach_hppa10,  29},
+  {"%rp",    bfd_mach_hppa10,   2},
+  {"%sar",   bfd_mach_hppa10,  11},
+  {"%sp",    bfd_mach_hppa10,  30},
+  {"%sr0",   bfd_mach_hppa10,   0},
+  {"%sr1",   bfd_mach_hppa10,   1},
+  {"%sr2",   bfd_mach_hppa10,   2},
+  {"%sr3",   bfd_mach_hppa10,   3},
+  {"%sr4",   bfd_mach_hppa10,   4},
+  {"%sr5",   bfd_mach_hppa10,   5},
+  {"%sr6",   bfd_mach_hppa10,   6},
+  {"%sr7",   bfd_mach_hppa10,   7},
+  {"%t1",    bfd_mach_hppa10,  22},
+  {"%t2",    bfd_mach_hppa10,  21},
+  {"%t3",    bfd_mach_hppa10,  20},
+  {"%t4",    bfd_mach_hppa10,  19},
+  {"%tf1",   bfd_mach_hppa10,  11},
+  {"%tf2",   bfd_mach_hppa10,  10},
+  {"%tf3",   bfd_mach_hppa10,   9},
+  {"%tf4",   bfd_mach_hppa10,   8},
+  {"%tr0",   bfd_mach_hppa10,  24},
+  {"%tr1",   bfd_mach_hppa10,  25},
+  {"%tr2",   bfd_mach_hppa10,  26},
+  {"%tr3",   bfd_mach_hppa10,  27},
+  {"%tr4",   bfd_mach_hppa10,  28},
+  {"%tr5",   bfd_mach_hppa10,  29},
+  {"%tr6",   bfd_mach_hppa10,  30},
+  {"%tr7",   bfd_mach_hppa10,  31}
 };
 
+/* Hash table for register lookup. */
+static struct hash_control *reg_hash;
+
 /* This table is sorted by order of the length of the string. This is
    so we check for <> before we check for <. If we had a <> and checked
    for < first, we would get a false match.  */
@@ -2030,34 +2041,6 @@ is_end_of_statement (void)
 
 #define REG_NAME_CNT	(sizeof (pre_defined_registers) / sizeof (struct pd_reg))
 
-/* Given NAME, find the register number associated with that name, return
-   the integer value associated with the given name or -1 on failure.  */
-
-static int
-reg_name_search (char *name)
-{
-  int middle, low, high;
-  int cmp;
-
-  low = 0;
-  high = REG_NAME_CNT - 1;
-
-  do
-    {
-      middle = (low + high) / 2;
-      cmp = strcasecmp (name, pre_defined_registers[middle].name);
-      if (cmp < 0)
-	high = middle - 1;
-      else if (cmp > 0)
-	low = middle + 1;
-      else
-	return pre_defined_registers[middle].value;
-    }
-  while (low <= high);
-
-  return -1;
-}
-
 /* Read a number from S.  The number might come in one of many forms,
    the most common will be a hex or decimal constant, but it could be
    a pre-defined register (Yuk!), or an absolute symbol.
@@ -2080,9 +2063,9 @@ pa_parse_number (char **s, int is_float)
   char *name;
   char c;
   symbolS *sym;
-  int status;
   char *p = *s;
   bfd_boolean have_prefix;
+  const struct pd_reg *r;
 
   /* Skip whitespace before the number.  */
   while (*p == ' ' || *p == '\t')
@@ -2188,9 +2171,9 @@ pa_parse_number (char **s, int is_float)
 	      c = *p;
 	    }
 	  *p = 0;
-	  status = reg_name_search (name);
-	  if (status >= 0)
-	    num = status;
+	  r = (const struct pd_reg *) hash_find (reg_hash, name);
+	  if (r != NULL)
+	    num = r->value;
 	  else
 	    {
 	      if (print_errors)
@@ -2271,9 +2254,9 @@ need_pa11_opcode (void)
     {
       /* If this instruction is specific to a particular architecture,
 	 then set a new architecture.  */
-      if (bfd_get_mach (stdoutput) < pa11)
+      if (bfd_get_mach (stdoutput) < bfd_mach_hppa11)
 	{
-	  if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, pa11))
+	  if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, bfd_mach_hppa11))
 	    as_warn (_("could not update architecture and machine"));
 	}
       return TRUE;
@@ -3283,7 +3266,7 @@ pa_ip (char *str)
 
       the_insn.reloc = R_HPPA_NONE;
 
-      if (insn->arch >= pa20
+      if (insn->arch >= bfd_mach_hppa20
 	  && bfd_get_mach (stdoutput) < insn->arch)
 	goto failed;
 
@@ -4714,7 +4697,7 @@ pa_ip (char *str)
 
 	    /* Handle 14 bit immediate, shifted left three times.  */
 	    case '#':
-	      if (bfd_get_mach (stdoutput) != pa20)
+	      if (bfd_get_mach (stdoutput) != bfd_mach_hppa20)
 		break;
 	      the_insn.field_selector = pa_chk_field_selector (&s);
 	      get_expression (s);
@@ -6834,25 +6817,25 @@ pa_level (int unused ATTRIBUTE_UNUSED)
   if (strncmp (level, "1.0", 3) == 0)
     {
       input_line_pointer += 3;
-      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, 10))
+      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, bfd_mach_hppa10))
 	as_warn (_("could not set architecture and machine"));
     }
   else if (strncmp (level, "1.1", 3) == 0)
     {
       input_line_pointer += 3;
-      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, 11))
+      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, bfd_mach_hppa11))
 	as_warn (_("could not set architecture and machine"));
     }
   else if (strncmp (level, "2.0w", 4) == 0)
     {
       input_line_pointer += 4;
-      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, 25))
+      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, bfd_mach_hppa20w))
 	as_warn (_("could not set architecture and machine"));
     }
   else if (strncmp (level, "2.0", 3) == 0)
     {
       input_line_pointer += 3;
-      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, 20))
+      if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, bfd_mach_hppa20))
 	as_warn (_("could not set architecture and machine"));
     }
   else
@@ -8259,7 +8242,7 @@ md_begin (void)
   call_info_root = NULL;
 
   /* Set the default machine type.  */
-  if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, DEFAULT_LEVEL))
+  if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, bfd_mach))
     as_warn (_("could not set architecture and machine"));
 
   /* Folding of text and data segments fails miserably on the PA.
@@ -8580,6 +8563,84 @@ pa_vtable_entry (int ignore ATTRIBUTE_UN
 }
 
 static void
+init_default_arch ()
+{
+/* Cannot make both available until bfd is merged */
+#if TARGET_ARCH_SIZE == 64
+  if (strcmp (default_arch, "hppa64") == 0)
+    {
+      /* How to generate a relocation.  */
+      hppa_gen_reloc_type = _bfd_elf64_hppa_gen_reloc_type;
+      elf_hppa_reloc_final_type = elf64_hppa_reloc_final_type;
+      hppa_arch_size = 64;
+      bfd_mach = bfd_mach_hppa20w;
+    } else
+#else
+  if (strcmp (default_arch, "hppa") == 0)
+    {
+      /* How to generate a relocation.  */
+      hppa_gen_reloc_type = _bfd_elf32_hppa_gen_reloc_type;
+      elf_hppa_reloc_final_type = elf32_hppa_reloc_final_type;
+      hppa_arch_size = 32;
+      bfd_mach = bfd_mach_hppa10;
+    } else
+#endif
+    as_fatal ("Invalid default architecture, broken assembler.");
+
+  setup_reg_hash();
+}
+
+static void
+setup_reg_hash()
+{
+  /* Initialize reg_hash hash table */
+  reg_hash = hash_new ();
+
+  const struct pd_reg *reg_entry;
+
+  for (reg_entry = pre_defined_registers;
+       reg_entry < pre_defined_registers + REG_NAME_CNT;
+       reg_entry++)
+    {
+      if (reg_entry->mach > bfd_mach)
+        continue;
+
+      /* We intentionally don't check the return status here.  Because
+         with one exception, the hppa64 and hppa32 sets are the same,
+	 we make sure that we will see the hppa64 ops first if we're
+	 willing to take them, and just fault on the second insert. */
+      hash_insert (reg_hash, reg_entry->name, (PTR) reg_entry);
+    }
+}
+
+void
+hppa_print_statistics (FILE *file)
+{
+  hash_print_statistics (file, "hppa opcode", op_hash);
+  hash_print_statistics (file, "hppa register", reg_hash);
+}
+
+/* Called by TARGET_FORMAT */
+const char *
+hppa_target_format ()
+{
+  /* We don't get a chance to initialize anything before we're called,
+     so handle that now.  */
+
+  init_default_arch ();
+
+#ifdef OBJ_ELF
+  return hppa_arch_size == 64 ? ELF64_TARGET_FORMAT : ELF_TARGET_FORMAT;
+#endif
+
+#ifdef OBJ_SOM
+  return "som";
+#endif
+
+  abort ();
+}
+
+static void
 pa_vtable_inherit (int ignore ATTRIBUTE_UNUSED)
 {
   struct fix *new_fix;
Index: config/tc-hppa.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-hppa.h,v
retrieving revision 1.31
diff -u -p -r1.31 tc-hppa.h
--- config/tc-hppa.h	24 May 2006 11:05:42 -0000	1.31
+++ config/tc-hppa.h	22 Oct 2006 17:14:58 -0000
@@ -46,32 +46,43 @@
 #define WORKING_DOT_WORD
 
 #ifdef OBJ_ELF
-#if TARGET_ARCH_SIZE == 64
-#include "bfd/elf64-hppa.h"
-#if defined (TE_LINUX) || defined (TE_NetBSD)
-#define TARGET_FORMAT "elf64-hppa-linux"
-#else
-#define TARGET_FORMAT "elf64-hppa"
-#endif
-#else /* TARGET_ARCH_SIZE == 32 */
-#include "bfd/elf32-hppa.h"
-#if defined (TE_LINUX)
-#define TARGET_FORMAT "elf32-hppa-linux"
-#else
-#if defined (TE_NetBSD)
-#define TARGET_FORMAT "elf32-hppa-netbsd"
-#else
-#define TARGET_FORMAT "elf32-hppa"
-#endif
-#endif
-#endif
-#endif
+/* Cannot make this runtime selectable until bfd is merged */
+#  if TARGET_ARCH_SIZE == 64
+#  include "bfd/elf64-hppa.h"
+#  else 
+#  include "bfd/elf32-hppa.h"
+#  endif
+
+#  ifdef TE_LINUX
+#  define ELF_TARGET_FORMAT       "elf32-hppa-linux"
+#  define ELF64_TARGET_FORMAT     "elf64-hppa-linux"
+#  endif
+
+#  ifdef TE_NetBSD
+#  define ELF_TARGET_FORMAT       "elf32-hppa-netbsd"
+#  define ELF64_TARGET_FORMAT     "elf64-hppa-linux"
+#  endif
+
+#  ifndef ELF_TARGET_FORMAT
+#  define ELF_TARGET_FORMAT       "elf32-hppa"
+#  endif
+
+#  ifndef ELF64_TARGET_FORMAT
+#  define ELF64_TARGET_FORMAT     "elf64-hppa"
+#  endif
+
+#endif /* OBJ_ELF */
 
 #ifdef OBJ_SOM
 #include "bfd/som.h"
-#define TARGET_FORMAT "som"
 #endif
 
+#define TARGET_FORMAT hppa_target_format()
+extern const char *hppa_target_format (void);
+
+void hppa_print_statistics (FILE *);
+#define tc_print_statistics hppa_print_statistics
+
 #if defined(TE_LINUX) || defined(TE_NetBSD)
 /* Define to compile in an extra assembler option, -c, which enables a
    warning (once per file) when a comment is encountered.
@@ -81,12 +92,6 @@
 #define WARN_COMMENTS 1
 #endif
 
-/* FIXME.  Why oh why aren't these defined somewhere globally?  */
-#ifndef FALSE
-#define FALSE   (0)
-#define TRUE    (!FALSE)
-#endif
-
 #define ASEC_NULL (asection *)0
 
 /* pa_define_label gets used outside of tc-hppa.c via tc_frob_label.  */

Attachment: signature.asc
Description: Ceci est une partie de message=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=


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