Evening snapshot of gas patch
This version of the patch is not suitable for inclusion, not sending it to the binutils list.
The remaining unaddressed problem (until you guys find more, that is *g*) is that the way I've done the hash table it gets setup once when gas is started. This means that a LEVEL directive comes too late to change the registers table. Nothing brilliant has come to mind yet for a good way to solve this, but I'm back to my work week tomorrow, so hopefully over the next few days something will pop into my head.
2006-10-21 Jeff Bailey <[email protected]>
* 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.
Use elf64-hppa for 64 bit NetBSD.
* configure.in: Define DEFAULT_ARCH for hppa.
* configure.tgt: Specify arch for hppa and hppa64.
--
Jeff Bailey - http://www.raspberryginger.com/jbailey/
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.194
configure.in +1 -1
@@ -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
configure.tgt +2 -1
@@ -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
tc-hppa.c +331 -270
714 lines not on this page · raw message
Index: config/tc-hppa.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-hppa.h,v
retrieving revision 1.31
tc-hppa.h +31 -27
75 lines not on this page · raw message
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux