From: Randolph Chung Date: Fri, 4 Jun 2004 17:03:25 +0000 (+0000) Subject: 2004-06-03 Randolph Chung X-Git-Tag: gdb_6_1_1-20040616-release~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=75aa8b6fea02859b8a9689b96fc2b3219b1ce0db;p=thirdparty%2Fbinutils-gdb.git 2004-06-03 Randolph Chung Fix PR build/1458 (partial) * somsolib.c (som_solib_remove_inferior_hook): Use constant array size for dld_flags_buffer and make all size references consistent. * NEWS: Mention this fix. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 659a2973612..21830cdfb5a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2004-06-03 Randolph Chung + + Fix PR build/1458 (partial) + * somsolib.c (som_solib_remove_inferior_hook): Use constant array size + for dld_flags_buffer and make all size references consistent. + * NEWS: Mention this fix. + 2004-06-02 Albert Chin-A-Young Committed by Andrew Cagney. diff --git a/gdb/NEWS b/gdb/NEWS index 0ba85d900a0..5fabf00cddc 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -14,6 +14,11 @@ The shell script gdb/testsuite/gdb.stabs/configure lacked execute permission. This bug would cause configure to fail on a number of systems (Solaris, IRIX). Ref: server/519. +* Fixed build problem on hpux2.0w-hp-hpux11.00 using the HP ANSI C compiler + +Older HPUX ANSI C compilers did not accept variable array sizes. somsolib.c +has been updated to use constant array sizes. + *** Changes in GDB 6.1: * Removed --with-mmalloc diff --git a/gdb/somsolib.c b/gdb/somsolib.c index 7ecc97e64d1..d8c971b3540 100644 --- a/gdb/somsolib.c +++ b/gdb/somsolib.c @@ -1062,7 +1062,7 @@ som_solib_remove_inferior_hook (int pid) CORE_ADDR addr; struct minimal_symbol *msymbol; int status; - char dld_flags_buffer[TARGET_INT_BIT / TARGET_CHAR_BIT]; + char dld_flags_buffer[4]; unsigned int dld_flags_value; struct cleanup *old_cleanups = save_inferior_ptid (); @@ -1079,16 +1079,13 @@ som_solib_remove_inferior_hook (int pid) msymbol = lookup_minimal_symbol ("__dld_flags", NULL, NULL); addr = SYMBOL_VALUE_ADDRESS (msymbol); - status = target_read_memory (addr, dld_flags_buffer, TARGET_INT_BIT / TARGET_CHAR_BIT); + status = target_read_memory (addr, dld_flags_buffer, 4); - dld_flags_value = extract_unsigned_integer (dld_flags_buffer, - sizeof (dld_flags_value)); + dld_flags_value = extract_unsigned_integer (dld_flags_buffer, 4); dld_flags_value &= ~DLD_FLAGS_HOOKVALID; - store_unsigned_integer (dld_flags_buffer, - sizeof (dld_flags_value), - dld_flags_value); - status = target_write_memory (addr, dld_flags_buffer, TARGET_INT_BIT / TARGET_CHAR_BIT); + store_unsigned_integer (dld_flags_buffer, 4, dld_flags_value); + status = target_write_memory (addr, dld_flags_buffer, 4); do_cleanups (old_cleanups); }