My name is in this file
In time decreasing order:
1. Decimal Floating Point Support in GDB
Finally, this huge patch got accepted into mainstream gdb. A big thanks to Thiago Jung Bauermann for achieving this. Here is changelog.
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
* c-exp.y (YYSTYPE): Add typed_val_decfloat for decimal
floating point in YYSTYPE union.
(DECFLOAT) Add token and expression element handling code.
(parse_number): Parse DFP constants, which end with suffix 'df',
'dd' or 'dl'. Return DECFLOAT.
* eval.c (evaluate_subexp_standard): Call value_from_decfloat to
handle OP_DECFLOAT.
* expression.h (enum exp_opcode): Add an opcode (OP_DECFLOAT)
for DFP constants.
(union exp_element): Add decfloatconst to represent DFP
elements, which is 16 bytes by default.
* parse.c (write_exp_elt_decfloatcst): New function to write a
decimal float const into the expression.
(operator_length_standard): Set operator length for OP_DECFLOAT
to 4.
* parser-defs.h (write_exp_elt_decfloatcst): Prototype.
* valarith.c (value_neg): Add code to handle the negation
operation of DFP values.
* value.c (value_from_decfloat): New function to get the value
from a decimal floating point.
* value.h (value_from_decfloat): Prototype.
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
* c-lang.c (c_create_fundamental_type): Create fundamental
types for DFP.
* c-typeprint.c (c_type_print_varspec_prefix): Add
TYPE_CODE_DECFLOAT to no prefix needed case.
(c_type_print_varspec_suffix): Add TYPE_CODE_DECFLOAT to no
suffix needed case.
* c-valprint.c (c_val_print): Call print_decimal_floating to
print DFP values.
* dwarf2read.c (read_base_type): Read DW_ATE_decimal_float
attribute code and return TYPE_CODE_DECFLOAT.
(dwarf_base_type): Set dwarf2_fundamental_type for DFP values.
* gdbtypes.c (gdbtypes_post_init): Initialize builtin_decfloat,
builtin_decdouble and builtin_declong.
* gdbtypes.h (enum type_code): Add TYPE_CODE_DECFLOAT as a
type code for DFP.
(FT_DECFLOAT, FT_DBL_PREC_DECFLOAT, FT_EXT_PREC_DECFLOAT): New
types, for decimal floating point.
(FT_NUM_MEMBERS): Increment, new types added.
(struct builtin_type): Add builtin_decfloat, builtin_decdouble
and builtin_declong.
* valprint.c (print_decimal_floating): New function to print DFP
values.
* value.h (print_decimal_floating): Prototype.
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
* Makefile.in (LIBDECNUMBER_DIR, LIBDECNUMBER, LIBDECNUMBER_SRC
LIBDECNUMBER_CFLAGS): New macros for libdecnumber.
(INTERNAL_CFLAGS_BASE): Add LIBDECNUMBER_CFLAGS in.
(INSTALLED_LIBS): Add -ldecnumber in.
(CLIBS): Add LIBDECNUMBER in.
(decimal128_h, decimal64_h, decimal32_h): New macros for decimal
headers.
(dfp_h): New macros for decimal floating point.
(dfp.o): New target.
(COMMON_OBS): Add dfp.o in.
(c-exp.o): Add dfp_h as dependency.
(valprint.o): Add dfp_h as dependency.
(value.o): Add dfp_h as dependency.
* dfp.h: New header file for decimal floating point support in
GDB.
* dfp.c: New source file for decimal floating point support in
GDB. Implement decimal_from_string and decimal_to_string based
on libdecnumber API.
* configure.ac: Add AC_C_BIGENDIAN test.
* config.in, configure: Regenerate.
2. check the value of DW_AT_calling_convention, to find the main entry of Fortran program
The changelog
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Jim Blandy <jimb@codesourcery.com>
* dwarf2read.c (read_partial_die): check the value
of DW_AT_calling_convention in Fortran programs.
case DW_AT_calling_convention:
/* DWARF doesn't provide a way to identify a program's source-level
entry point. DW_AT_calling_convention attributes are only meant
to describe functions' calling conventions.
However, because it's a necessary piece of information in
Fortran, and because DW_CC_program is the only piece of debugging
information whose definition refers to a 'main program' at all,
several compilers have begun marking Fortran main programs with
DW_CC_program --- even when those functions use the standard
calling conventions.
So until DWARF specifies a way to provide this information and
compilers pick up the new representation, we'll support this
practice. */
if (DW_UNSND (&attr) == DW_CC_program
&& cu->language == language_fortran)
set_main_name (part_die->name);
break;
3. Old code contributions in 2006
2006-03-01 Wu Zhou <woodzltc@cn.ibm.com>
* f-typeprint.c (f_type_print_base): Delete the redundant space.
2006-02-24 Wu Zhou <woodzltc@cn.ibm.com>
* f-exp.y: Symbol '%' is not used as the modulus operator in
Fortran. Delete this from Fortran expression.
It is now used by Fortran 90 and later to access the member
of derived type. Add this into Fortran expression.
* f-valprint.c (f_val_print): Add code to handle TYPE_CODE_STRUCT.
Print each elements in the derived type.
* f-typeprint.c (print_equivalent_f77_float_type): Add a parameter
level into the function definition to do indented printing. And
call fprintfi_filtered instead to do indented printing.
(f_type_print_base): Replace fprintf_filtered with the indented
version (fprintfi_filtered).
(f_type_print_base): Call indented print_equivalent_f77_float_type.
(f_type_print_base): Add code to handle TYPE_CODE_STRUCT. Print
the definition of the derived type.
2006-02-08 Wu Zhou <woodzltc@cn.ibm.com>
* config/i386/nm-i386sol2.h: Update copyright year.
* config/mips/nm-irix5.h: Ditto.
* config/sparc/nm-sol2.h: Ditto.
* s390-nat.c: Ditto.
* ppc-linux-nat.c: Ditto.
2006-02-08 Wu Zhou <woodzltc@cn.ibm.com>
* breakpoint.c (TARGET_REGION_OK_FOR_HW_WATCHPOINT): Delete.
* config/i386/nm-i386sol2.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
* config/mips/nm-irix5.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
* config/sparc/nm-sol2.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): New.
(inf_ttrace_region_size_ok_for_hw_watchpoint): Delete.
(inf_ttrace_target): Delete to_region_size_ok_for_hw_watchpoint and
add to_region_ok_for_hw_watchpoint.
* s390-nat.c (s390_region_size_ok_for_hw_watchpoint): Delete.
(s390_region_ok_for_hw_watchpoint): New.
(_initialize_s390_nat): Delete to_region_size_ok_for_hw_watchpoint
and add to_region_ok_for_hw_watchpoint.
* target.c (default_region_size_ok_for_hw_watchpoint,
debug_to_region_size_ok_for_hw_watchpoint): Delete prototype.
(update_current_target): Delete to_region_size_ok_for_hw_watchpoint
inheritance and default_region_size_ok_for_hw_watchpoint.
(default_region_ok_for_hw_watchpoint): If len is less than or equal
the length of void pointer, return ok.
(default_region_size_ok_for_hw_watchpoint): Delete.
(debug_to_region_size_ok_for_hw_watchpoint): Delete.
(setup_target_debug): Delete to_region_size_ok_for_hw_watchpoint.
* target.h (struct target_ops): Delete
to_region_size_ok_for_hw_watchpoint.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
2006-02-08 Ben Elliston <bje@au1.ibm.com>
Wu Zhou <woodzltc@cn.ibm.com>
* ppc-linux-nat.c (PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG,
PTRACE_GETSIGINFO): Define.
(last_stopped_data_address): New.
(ppc_linux_check_watch_resources): New function.
(ppc_linux_region_ok_for_hw_watchpoint): New function.
(ppc_linux_insert_watchpoint): New function.
(ppc_linux_remove_watchpoint): New function.
(ppc_linux_stopped_data_address): New function.
(ppc_linux_stopped_by_watchpoint): New function.
(_initialize_ppc_linux_nat): Set the above hardware watchpoint
related target vectors.
* rs6000-tdep.c (rs6000_gdbarch_init): Set PPC architectures
to have nonsteppable watchpoint.
* target.c (default_region_ok_for_hw_watchpoint,
debug_to_region_ok_for_hw_watchpoint): New prototypes.
(update_current_target): Inherit to_region_ok_for_hw_watchpoint
and set default to_region_ok_for_hw_watchpoint.
(default_region_ok_for_hw_watchpoint): New function.
(debug_to_region_ok_for_hw_watchpoint): New function.
(setup_target_debug): Set to_region_ok_for_hw_watchpoint of
debug_target.
* target.h (struct target_ops): Add a new target vector
to_region_ok_for_hw_watchpoint.
(TARGET_REGION_OK_FOR_HW_WATCHPOINT): Define this if it is not
defined anyplace else.
4. Old code contributions in 2005
The changelog
2005-11-03 Wu Zhou <woodzltc@cn.ibm.com>
Checked in by Elena Zannoni <ezannoni@redhat.com>
* dwarf2read.c (read_structure_type): Add IBM XL C++
specific code to set TYPE_VPTR_FIELDNO and TYPE_VPTR_BASETYPE
of a virtual class if a field named "__vfp" is found.
2005-09-20 Wu Zhou <woodzltc@cn.ibm.com>
* c-exp.y (parse-number): Modify the float parsing logic to let it
recognize a suffix.
2005-09-20 Wu Zhou <woodzltc@cn.ibm.com>
* expression.h (enum exp_opcode): Fix a format error of a comment.
2005-09-20 Wu Zhou <woodzltc@cn.ibm.com>
* expression.h (enum exp_opcode): Add a new operator for F90
subrange.
* f-lang.h (enum f90_range_type): New enumeration type to identify
F90 subrange type.
* f-exp.y (yyparse): Add support for parsing F90 subrange and
change substring parsing to subrange parsing.
* parse.c (operator_length_standard): Set the operator length
and args number for OP_F90_RANGE.
* eval.c (evaluate_subexp_standard): Add code to evaluate F90
array section and substring.
(value_f90_subarray): New function to evaluate F90 array section.
(evaluate_subexp_standard): Delete label op_f77_substr and its code
because the logic is implemented by function value_f90_subarray now.
2005-07-20 Wu Zhou <woodzltc@cn.ibm.com>
* remote.c (remote_pid_to_str): Use xsnprintf instead of snprintf.
2005-07-06 Wu Zhou <woodzltc@cn.ibm.com>
* tui/tui-win.c (parse_scrolling_args): Fix SEGV error with invalid
scroll command.
2005-07-06 Wu Zhou <woodzltc@cn.ibm.com>
* f-exp.y (yyparse): Add code to support exponentiation expression.
(yylex): Add code to scan exponentiation operator.
* eval.c (evaluate_subexp_standard): Add support for BINOP_EXP.
* valarith.c (value_binop): Reset errno to 0 before calling pow
to do exponentiation operation.
2005-06-27 Wu Zhou <woodzltc@cn.ibm.com>
* gdbtypes.c (get_discrete_bounds): Fix a comment typo.
2005-06-21 Wu Zhou <woodzltc@cn.ibm.com>
* MAINTAINERS (Write After Approval): Add myself.
Many thanks to my manager Geoff Smith, who helped me handle the paperwork
and brought me into this wonderful world of GDB hacking. :-)
2005-06-17 Wu Zhou <woodzltc@cn.ibm.com>
* remote.c (set_thread, remote_thread_alive): Replace sprintf
call with xsnprintf.
(remote_threads_extra_info, extended_remote_restart)
(remote_check_symbols, store_register_using_P)
(compare_sections_command): Ditto.
2005-06-13 Wu Zhou <woodzltc@cn.ibm.com>
* eval.c (evaluate_subexp_standard): Add code to check the target
type of a TYPE_CODE_PTR value when we encounter a f77 undetermined
arglist. If it is array, string or function, work on the target
value instead.
2005-06-08 Wu Zhou <woodzltc@cn.ibm.com>
* expression.h (enum exp_opcode): Fix a comment typo.
2005-05-28 Daniel Jacobowitz <dan@codesourcery.com>
From Wu Zhou <woodzltc@cn.ibm.com>:
* remote.c (struct gdb_ext_thread_info): Fix a comment typo.
(remote_unpack_thread_info_response): Likewise.
... Started with comment typo... hehe...