From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Buettner To: Alexandre Oliva Cc: gdb-patches@sourceware.cygnus.com Subject: Re: [PATCH RFC] Protoize alpha-tdep.c Date: Tue, 01 Aug 2000 01:28:00 -0000 Message-id: <1000801082753.ZM20945@ocotillo.lan> References: <1000801080333.ZM20883@ocotillo.lan> X-SW-Source: 2000-08/msg00003.html On Aug 1, 5:19am, Alexandre Oliva wrote: > On Aug 1, 2000, Kevin Buettner wrote: > > > I'll wait until 12 midnight GMT of Thursday, July 3rd > ^^^^ > As in last month? Or maybe you mean 2001? :-) Oops. I meant August, but hadn't flipped my Calendar page yet. (I counted the days after 31, then looked at the month which said "July".) Thanks, Kevin >From ac131313@cygnus.com Tue Aug 01 03:30:00 2000 From: Andrew Cagney To: GDB Patches Subject: [patch] Copy comments into gdbarch.h Date: Tue, 01 Aug 2000 03:30:00 -0000 Message-id: <3986A6B4.FC6D086F@cygnus.com> X-SW-Source: 2000-08/msg00004.html Content-length: 14929 FYI, I've checked in the attatched. If you add comments to the gdbarch table, they now appear in the gdbarch.h header file. Andrew Tue Aug 1 17:45:12 2000 Andrew Cagney * gdbarch.sh: Parse and save comments in the function_list. Print them out as part of the header. Convert all function definitions to ISO-C form. * gdbarch.h, gdbarch.c: Regenerate. Index: gdbarch.h =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.h,v retrieving revision 1.26 diff -p -r1.26 gdbarch.h *** gdbarch.h 2000/07/27 04:01:24 1.26 --- gdbarch.h 2000/08/01 10:15:29 *************** extern void set_gdbarch_ptr_bit (struct *** 100,105 **** --- 100,107 ---- #endif #endif + /*v:1:TARGET_CHAR_BIT:int:char_bit::::8 * sizeof (char):0 */ + extern int gdbarch_short_bit (struct gdbarch *gdbarch); extern void set_gdbarch_short_bit (struct gdbarch *gdbarch, int short_bit); #if GDB_MULTI_ARCH *************** extern void set_gdbarch_num_regs (struct *** 231,236 **** --- 233,243 ---- #endif #endif + /* This macro gives the number of pseudo-registers that live in the + register namespace but do not get fetched or stored on the target. + These pseudo-registers may be aliases for other registers, + combinations of other registers, or they may be computed by GDB. */ + /* Default (value) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (NUM_PSEUDO_REGS) #define NUM_PSEUDO_REGS (0) *************** extern void set_gdbarch_register_convert *** 595,600 **** --- 602,611 ---- #endif #endif + /* This function is called when the value of a pseudo-register needs to + be updated. Typically it will be defined on a per-architecture + basis. */ + /* Default (function) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (FETCH_PSEUDO_REGISTER) #define FETCH_PSEUDO_REGISTER(regnum) (internal_error ("FETCH_PSEUDO_REGISTER"), 0) *************** extern void set_gdbarch_fetch_pseudo_reg *** 609,614 **** --- 620,629 ---- #endif #endif + /* This function is called when the value of a pseudo-register needs to + be set or stored. Typically it will be defined on a + per-architecture basis. */ + /* Default (function) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (STORE_PSEUDO_REGISTER) #define STORE_PSEUDO_REGISTER(regnum) (internal_error ("STORE_PSEUDO_REGISTER"), 0) *************** extern void set_gdbarch_pop_frame (struc *** 709,714 **** --- 724,731 ---- #define POP_FRAME (gdbarch_pop_frame (current_gdbarch)) #endif #endif + + /* I wish that these would just go away.... */ /* Default (function) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (D10V_MAKE_DADDR) Index: gdbarch.sh =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.sh,v retrieving revision 1.32 diff -p -r1.32 gdbarch.sh *** gdbarch.sh 2000/07/27 04:01:24 1.32 --- gdbarch.sh 2000/08/01 10:15:34 *************** read="class level macro returntype funct *** 39,84 **** do_read () { ! if eval read $read ! then ! test "${staticdefault}" || staticdefault=0 ! # NOT YET: Breaks BELIEVE_PCC_PROMOTION and confuses non- ! # multi-arch defaults. ! # test "${predefault}" || predefault=0 ! test "${fmt}" || fmt="%ld" ! test "${print}" || print="(long) ${macro}" ! case "${invalid_p}" in ! 0 ) valid_p=1 ;; ! "" ) ! if [ "${predefault}" ] ! then ! #invalid_p="gdbarch->${function} == ${predefault}" ! valid_p="gdbarch->${function} != ${predefault}" ! else ! #invalid_p="gdbarch->${function} == 0" ! valid_p="gdbarch->${function} != 0" ! fi ! ;; ! * ) valid_p="!(${invalid_p})" ! esac ! ! # PREDEFAULT is a valid fallback definition of MEMBER when ! # multi-arch is not enabled. This ensures that the default ! # value, when multi-arch is the same as the default value when ! # not multi-arch. POSTDEFAULT is always a valid definition of ! # MEMBER as this again ensures consistency. ! if [ "${postdefault}" != "" ] then ! fallbackdefault="${postdefault}" ! elif [ "${predefault}" != "" ] then ! fallbackdefault="${predefault}" else ! fallbackdefault="" fi ! #NOT YET: ! # See gdbarch.log for basic verification of database ! : else false fi --- 39,112 ---- do_read () { ! comment="" ! class="" ! while read line ! do ! if test "${line}" = "" ! then ! continue ! elif test "${line}" = "#" -a "${comment}" = "" then ! continue ! elif expr "${line}" : "#" > /dev/null then ! comment="${comment} ! ${line}" else ! OFS="${IFS}" ; IFS=":" ! eval read ${read} <printable_name:TARGET_ARCHITECTURE != NULL # i:2:TARGET_BYTE_ORDER:int:byte_order::::BIG_ENDIAN --- 292,302 ---- esac done function_list () { # See below (DOCO) for description of each field ! cat <printable_name:TARGET_ARCHITECTURE != NULL # i:2:TARGET_BYTE_ORDER:int:byte_order::::BIG_ENDIAN *************** f:1:GET_SAVED_REGISTER:void:get_saved_re *** 338,350 **** f:1:REGISTER_CONVERTIBLE:int:register_convertible:int nr:nr:::generic_register_convertible_not::0 f:2:REGISTER_CONVERT_TO_VIRTUAL:void:register_convert_to_virtual:int regnum, struct type *type, char *from, char *to:regnum, type, from, to:::0::0 f:2:REGISTER_CONVERT_TO_RAW:void:register_convert_to_raw:struct type *type, int regnum, char *from, char *to:type, regnum, from, to:::0::0 ! #This function is called when the value of a pseudo-register needs ! #to be updated. Typically it will be defined on a per-architecture ! #basis. f:2:FETCH_PSEUDO_REGISTER:void:fetch_pseudo_register:int regnum:regnum:::0::0 ! #This function is called when the value of a pseudo-register needs ! #to be set or stored. Typically it will be defined on a per-architecture ! #basis. f:2:STORE_PSEUDO_REGISTER:void:store_pseudo_register:int regnum:regnum:::0::0 # f:2:POINTER_TO_ADDRESS:CORE_ADDR:pointer_to_address:struct type *type, void *buf:type, buf:::unsigned_pointer_to_address::0 --- 365,377 ---- f:1:REGISTER_CONVERTIBLE:int:register_convertible:int nr:nr:::generic_register_convertible_not::0 f:2:REGISTER_CONVERT_TO_VIRTUAL:void:register_convert_to_virtual:int regnum, struct type *type, char *from, char *to:regnum, type, from, to:::0::0 f:2:REGISTER_CONVERT_TO_RAW:void:register_convert_to_raw:struct type *type, int regnum, char *from, char *to:type, regnum, from, to:::0::0 ! # This function is called when the value of a pseudo-register needs to ! # be updated. Typically it will be defined on a per-architecture ! # basis. f:2:FETCH_PSEUDO_REGISTER:void:fetch_pseudo_register:int regnum:regnum:::0::0 ! # This function is called when the value of a pseudo-register needs to ! # be set or stored. Typically it will be defined on a ! # per-architecture basis. f:2:STORE_PSEUDO_REGISTER:void:store_pseudo_register:int regnum:regnum:::0::0 # f:2:POINTER_TO_ADDRESS:CORE_ADDR:pointer_to_address:struct type *type, void *buf:type, buf:::unsigned_pointer_to_address::0 *************** v:2:TARGET_FLOAT_FORMAT:const struct flo *** 402,415 **** v:2:TARGET_DOUBLE_FORMAT:const struct floatformat *:double_format::::::default_double_format (gdbarch) v:2:TARGET_LONG_DOUBLE_FORMAT:const struct floatformat *:long_double_format::::::&floatformat_unknown EOF - grep -v '^#' } # # The .log file # exec > new-gdbarch.log ! function_list | while do_read # eval read $read do cat < new-gdbarch.log ! function_list | while do_read do cat <tdep = tdep; EOF echo "" ! function_list | while do_read # eval read $read do if class_is_info_p then --- 1142,1148 ---- gdbarch->tdep = tdep; EOF echo "" ! function_list | while do_read do if class_is_info_p then *************** do *** 1118,1124 **** done echo "" echo " /* Force the explicit initialization of these. */" ! function_list | while do_read # eval read $read do if class_is_function_p || class_is_variable_p then --- 1151,1157 ---- done echo "" echo " /* Force the explicit initialization of these. */" ! function_list | while do_read do if class_is_function_p || class_is_variable_p then *************** verify_gdbarch (struct gdbarch *gdbarch) *** 1172,1178 **** internal_error ("verify_gdbarch: bfd_arch_info unset"); /* Check those that need to be defined for the given multi-arch level. */ EOF ! function_list | while do_read # eval read $read do if class_is_function_p || class_is_variable_p then --- 1205,1211 ---- internal_error ("verify_gdbarch: bfd_arch_info unset"); /* Check those that need to be defined for the given multi-arch level. */ EOF ! function_list | while do_read do if class_is_function_p || class_is_variable_p then *************** gdbarch_dump (struct gdbarch *gdbarch, s *** 1233,1239 **** EOF function_list | while do_read do ! if [ ${returntype} == "void" ] then echo "#if defined (${macro}) && GDB_MULTI_ARCH" echo " /* Macro might contain \`[{}]' when not multi-arch */" --- 1266,1272 ---- EOF function_list | while do_read do ! if [ "${returntype}" == "void" ] then echo "#if defined (${macro}) && GDB_MULTI_ARCH" echo " /* Macro might contain \`[{}]' when not multi-arch */" *************** gdbarch_tdep (struct gdbarch *gdbarch) *** 1301,1307 **** } EOF echo "" ! function_list | while do_read # eval read $read do if class_is_predicate_p then --- 1334,1340 ---- } EOF echo "" ! function_list | while do_read do if class_is_predicate_p then *************** init_gdbarch_data (struct gdbarch *gdbar *** 1457,1464 **** data-pointer. */ void * ! gdbarch_data (data) ! struct gdbarch_data *data; { if (data->index >= current_gdbarch->nr_data) internal_error ("gdbarch_data: request for non-existant data."); --- 1490,1496 ---- data-pointer. */ void * ! gdbarch_data (struct gdbarch_data *data) { if (data->index >= current_gdbarch->nr_data) internal_error ("gdbarch_data: request for non-existant data."); *************** disassemble_info tm_print_insn_info; *** 1850,1856 **** extern void _initialize_gdbarch (void); void ! _initialize_gdbarch () { struct cmd_list_element *c; --- 1882,1888 ---- extern void _initialize_gdbarch (void); void ! _initialize_gdbarch (void) { struct cmd_list_element *c; >From ac131313@cygnus.com Tue Aug 01 04:12:00 2000 From: Andrew Cagney To: GDB Patches Subject: [MAINT] Updated list of target maintainers Date: Tue, 01 Aug 2000 04:12:00 -0000 Message-id: <3986B0A2.CE0EC6DD@cygnus.com> X-SW-Source: 2000-08/msg00005.html Content-length: 3299 FYI, A few minor tweeks included. ElenaZ is moving from PPC to SH. NickD is picking up the PPC (with KevinB). Also as follow on - StephaneC will be looking after the m68hc11. I'll refine that suggest list of targets over comming days/weeks. enjoy, Andrew Tue Aug 1 21:02:42 2000 Andrew Cagney * MAINTAINERS: Update list of target maintainers. List all targets explicitly. (sh): Elena Zannoni is maintainer. (powerpc): Nick Duffek is a maintainer. Target/Architecture: Generic ISA (Instruction Set Architecture) issues, API variants, CPU variants. *-tdep.c. The Target/Architecture maintainer works with the host maintainer when resolving build issues. The Target/Architecture maintainer works with the native maintainer when resolving API issues. a29k maintenance only (a29k-amd-udi) alpha maintenance only (alpha-dec-osf4.0a) arc maintenance only (arc-elf) arm Fernando Nasser fnasser@cygnus.com Jim Ingham jingham@apple.com Scott Bambrough scottb@netwinder.org convex OBSOLETE d10v Andrew Cagney cagney@cygnus.com d30v David Taylor taylor@cygnus.com djgpp (see native and host) fr30 maintenance only (fr30-elf) h8300 maintenance only (h8300hms) h8500 maintenance only (h8500hms) i386 Mark Kettenis kettenis@gnu.org i960 maintenance only (i960-coff) ia64 Kevin Buettner kevinb@cygnus.com m32r Michael Snyder msnyder@cygnus.com m68hc11 maintenance only (m68hc11-elf) m68k maintenance only (m68k-aout, m68k-coff, m68k-elf) m88k maintenance only (?) mcore maintenance only (?) mips Andrew Cagney cagney@cygnus.com mn10200 maintenance only (mn10200-elf) mn10300 Andrew Cagney cagney@cygnus.com ns32k maintenance only (?) pa Jeff Law law@cygnus.com powerpc Kevin Buettner kevinb@cygnus.com Nick Duffek nsd@cygnus.com pyramid OBSOLETE romp maintenance only (?) rs6000 (see rs6000 native and ppc target) sh Elena Zannoni ezannoni@cygnus.com sparc David Taylor taylor@cygnus.com tahoe OBSOLETE tic80 maintenance only (tic80-coff) v850 maintenance only (v850-elf) vax maintenance only (?) w65 maintenance only (?) z8k maintenance only (?) All maintainers can make arbitrary changes to OBSOLETE targets. All maintainers can make mechanical (params, spelling, indentation, multi-arch, -W..., ....) changes to ``maintenance only'' targets. Please sanity check the change by compiling with one of the listed targets. >From kazu@hxi.com Tue Aug 01 06:57:00 2000 From: Kazu Hirata To: gdb-patches@sources.redhat.com Subject: Added myself to MAINTAINERS Date: Tue, 01 Aug 2000 06:57:00 -0000 Message-id: <9180.965138259.0@NO-ID-FOUND.mhonarc.org> X-SW-Source: 2000-08/msg00006.html Content-length: 783 HI, I committed the following change. I am writing this because approval was not from this mailing list but from personal correspondence with Andrew Cagney. 2000-08-01 Kazu Hirata * MAINTAINERS: Add myself to "Write After Approval" list. Index: MAINTAINERS =================================================================== RCS file: /cvs/src/src/gdb/MAINTAINERS,v retrieving revision 1.40 diff -u -r1.40 MAINTAINERS --- MAINTAINERS 2000/08/01 11:06:34 1.40 +++ MAINTAINERS 2000/08/01 13:45:34 @@ -233,6 +233,7 @@ Glen McCready gkm@cygnus.com Gary Thomas gthomas@redhat.com Pierre Muller muller@sourceware.cygnus.com +Kazu Hirata kazu@hxi.com * Indicates folks we need to get Kerberos/SSH accounts ready so they Thanks, Kazu Hirata