Jim Blandy [Tue, 6 Jan 2009 18:31:59 +0000 (18:31 +0000)]
Check return values of functions declared with warn_unused_result
attribute in GLIBC 2.8.
* cli/cli-cmds.c (pwd_command): Check return value from getcwd.
* inflow.c (check_syscall): New function.
(new_tty): Use check_syscall to check return values from open and dup.
* linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets.
* main.c (captured_main): Call cwd after setting up gdb_stderr;
check for errors from getcwd.
* mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd.
* ui-file.c (stdio_file_write): Ignore return value from fwrite.
(stdio_file_fputs): Same.
* utils.c (internal_vproblem): abort if last-ditch error message
write fails.
gdb/
* ser-tcp.c: Adjust includes.
(tcp_set_cmdlist, tcp_show_cmdlist): Declare.
(tcp_auto_retry, tcp_retry_limit): Declare.
(TIMEOUT): Remove, in favor of tcp_retry_limit.
(POLL_INTERVAL): Increase to 5, in favor of backoff logic.
(wait_for_connect): New function.
(net_open): Use it. Add auto-retry logic.
(set_tcp_cmd, show_tcp_cmd): New functions.
(_initialize_ser_tcp): Initialize new "set/show tcp auto-retry"
and "set/show tcp connect-timeout" commands.
* NEWS: Document new commands.
gdb/doc/
* gdb.texinfo (Remote Configuration): Document new
"set/show tcp auto-retry" and "set/show tcp connect-timeout"
commands.
Kai Tietz [Tue, 6 Jan 2009 15:36:05 +0000 (15:36 +0000)]
2009-01-06 Kai Tietz <kai.tietz@onevision.com>
* windres.c (set_endianess): Get architecture name
for internal target names like "pe-arm-wince-little".
(find_arch_match): New helper.
* ChangeLog: Reset it.
* ChangeLog-2008: Moved old ChangeLog.
* cris/sim-main.h (struct _sim_cpu): New member
set_target_thread_data.
* cris/crisv32f.c (CRIS_TLS_REGISTER): Define.
* cris/crisv10f.c: Ditto.
* cris/cris-tmpl.c (MY (set_target_thread_data)): New function.
(MY (f_specific_init)): Set new _sim_cpu member to new function.
* cris/traps.c (TARGET_SYS_set_thread_area): Define.
(cris_break_13_handler) <case TARGET_SYS_set_thread_area>: New
case.
* cris/traps.c (TARGET_UTSNAME): Update to 2009-01-01.
(TARGET_EPOCH): Update to match TARGET_UTSNAME. Correct comment.
(cris_break_13_handler) <case TARGET_SYS_uname>: Update to
2.6.27. Set machine field to the BFD printable name of the
machine.
Dave Korn [Sat, 3 Jan 2009 18:04:16 +0000 (18:04 +0000)]
* NEWS: Mention new feature --exclude-modules-for-implib.
* ld.texinfo: Document new --exclude-modules-for-implib option.
* pe-dll.c (exclude_list_struct): Change type member from int to
new enumeration exclude_type.
(pe_dll_add_excludes): Accept exclude_type instead of int param.
(auto_export): Replace magic constants by exclude_type values and
handle new choice EXCLUDEFORIMPLIB.
(pe_dll_generate_implib): Accept a pointer to the link_info and
iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
fresh BFDs for any found and link into import lib archive chain.
* pe-dll.h (exclude_type): Add new enumerated type to replace magic
constants previously used for exclude_list_struct type member.
(pe_dll_add_excludes, pe_dll_generate_implib): Update prototypes.
* pep-dll.h (exclude_type, pe_dll_add_excludes,
pe_dll_generate_implib): Likewise to all the above.
* emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB): Define new
getopts long option code for new --exclude-modules-for-implib option.
(gld${EMULATION_NAME}_add_options): Add new entry to xtra_long[].
(gld_${EMULATION_NAME}_list_options): List usage for it.
(gld${EMULATION_NAME}_handle_option): Use exclude_type enumerated
values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
(gld_${EMULATION_NAME}_finish): Pass pointer to link_info when
calling pe_dll_generate_implib.
* emultempl/pep.em (options): Define new enumerated value for getopts
long option code for new --exclude-modules-for-implib option.
(gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
Again, likewise to all the above.
Dave Korn [Sat, 3 Jan 2009 17:43:45 +0000 (17:43 +0000)]
2009-01-03 Dave Korn <dave.korn.cygwin@gmail.com>
* pe-dll.c (autofilter_liblist): Add entry for shared libgcc.
(libnamencmp): New function.
(auto_export): Use it in place of strncmp when filtering libraries.
H.J. Lu [Fri, 2 Jan 2009 19:29:38 +0000 (19:29 +0000)]
bfd/
2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9679
* elflink.c (elf_merge_st_other): New.
(_bfd_elf_merge_symbol): Use it on skipped weak definitions and
hide them if needed.
(elf_link_add_object_symbols): Updated.
Pedro Alves [Thu, 1 Jan 2009 22:02:03 +0000 (22:02 +0000)]
2009-01-01 Pedro Alves <pedro@codesourcery.com>
PR breakpoints/9681:
* exceptions.h (enum errors): New error type, MEMORY_ERROR.
* corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR.
* breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but
retrow all other exceptions.
* sim/cris/asm/badarch1.ms, sim/cris/c/badldso1.c,
sim/cris/c/badldso2.c, sim/cris/c/badldso3.c,
sim/cris/c/helloaout.c, sim/cris/c/hellodyn.c,
sim/cris/c/hellodyn2.c, sim/cris/c/writev1.c,
sim/cris/c/writev2.c: New tests.
* sim/cris/c/c.exp: If compiler links libc.so when attempting to
link dynamically, create symlink named "lib" to the directory
where it is found. Handle new test-case option "dynamic".
* cris/traps.c (TARGET_SYS_writev): New macro.
(is_mapped_only, cris_dump_map): New functions.
(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle more flags
and prot combinations and a non-zero page-offset. If
TARGET_MAP_FIXED, unmap pages before mapping them.
<case TARGET_SYS_mprotect>: When checking, allow any length
argument. Don't actually do anything.
<case TARGET_SYS_writev>: New case.
* cris/Makefile.in (SIM_OBJS): Remove sim-hload.o.
* cris/sim-if.c: Include elf-bfd.h.
(struct progbounds): New members end_loadmem, start_nonloadmem.
(xprintf, eprintf): New functions, copied from common/sim-load.c.
(cris_load_elf_file, sim_load, cris_get_progbounds): New functions.
(get_progbounds_iterator): Renamed from get_progbounds. Make
static. Update head comment. Set new struct progbounds members.
(exec_load_addr, interp_load_addr, interp_start_addr): New static
variables.
(aux_ent_phdr, aux_ent_phent, aux_ent_phnum, aux_ent_base)
(aux_ent_entry, cris_write_interp, cris_handle_interpreter): New
functions.
(sim_open): New constant array auxv_entries. Rewrite AUX_ENT
handling to use auxv_entries. Improve error message and checking
for invalid programs. Use new variable abfd for the program
instead of for each access reaching into sd to get it.
(sim_create_inferior): If non-zero, use interp_start_addr instead
of the program start address.
(cris_disassemble_insn): Remove incorrect and unclear, supposedly
stale comment. Always specify little-endian.
Pedro Alves [Mon, 29 Dec 2008 02:18:48 +0000 (02:18 +0000)]
2008-12-29 Pedro Alves <pedro@codesourcery.com>
PR gdb/7536:
* valprint.c (input_radix_1): New static global.
(set_input_radix): Use it instead of "input_radix".
(set_input_radix_1): Always leave input_radix_1 set to
input_radix.
(output_radix_1): New static global.
(set_output_radix): Use it instead of "output_radix".
(set_output_radix_1): Always leave output_radix_1 set to
output_radix.
(_initialize_valprint): Use "input_radix_1" instead of
"input_radix" with the "input-radix" command. Use
"output_radix_1" instead of "output_radix" with the "output-radix"
command.
2008-12-29 Pedro Alves <pedro@codesourcery.com>
PR gdb/7536:
* gdb.base/radix.exp: Add tests to ensure invalid input radices
and unsupported output radices are really rejected.
Pedro Alves [Sun, 28 Dec 2008 16:14:57 +0000 (16:14 +0000)]
* linux-fork.c (linux_fork_detach): New.
* linux-fork.h (linux_fork_detach): Declare.
* linux-nat.c (linux_child_follow_fork): When following the fork
child, add the child inferior before possibly detaching from the
parent. Don't reinstall ourselves.
(linux_nat_detach): Call linux_fork_detach if there are other
forks to debug.
* linux-thread-db.c (thread_db_detach): Don't call
target_mourn_inferior. Instead inline the necessary bits.
* inf-ptrace.c (inf_ptrace_detach): Don't unpush the target if
there are other inferiors to debug.
Jan Kratochvil [Sun, 28 Dec 2008 14:14:19 +0000 (14:14 +0000)]
Fix TYPE_HIGH_BOUND for TYPE_CODE_RANGE using arbitrary TYPE_NFIELDS in
preparation for supporting DW_AT_byte_stride.
* ada-lang.c (packed_array_type, ada_index_type): Use TYPE_INDEX_TYPE.
(ada_array_bound_from_type): Move `index_type' declaration to the
function start. New variable `retval'. Return the bounds for
TYPE_CODE_RANGE using TYPE_LOW_BOUND and TYPE_HIGH_BOUND. Abort on
invalid index type codes.
* ada-typeprint.c (print_range): Set `upper_bound' for TYPE_CODE_RANGE
now using TYPE_HIGH_BOUND.
* ada-valprint.c (val_print_packed_array_elements): Use `index_type'.
* eval.c (evaluate_subexp_standard): Use TYPE_INDEX_TYPE.
* gdbtypes.c (create_range_type): Use TYPE_LOW_BOUND, TYPE_HIGH_BOUND,
refer to the number of fields only through TYPE_NFIELDS.
(create_array_type): Use TYPE_INDEX_TYPE.
(check_typedef): Use TYPE_INDEX_TYPE, TYPE_LOW_BOUND, TYPE_HIGH_BOUND.
* gdbtypes.h (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED)
(TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): Use TYPE_INDEX_TYPE.
(TYPE_ARRAY_UPPER_BOUND_VALUE, TYPE_ARRAY_LOWER_BOUND_VALUE): Use
TYPE_INDEX_TYPE, TYPE_LOW_BOUND, TYPE_HIGH_BOUND,
* hppa-tdep.c (hppa_alignof <TYPE_CODE_ARRAY>): Use TYPE_INDEX_TYPE.
* mdebugread.c (parse_type): Use TYPE_LOW_BOUND, TYPE_HIGH_BOUND,
* valarith.c (value_bit_index): Use TYPE_INDEX_TYPE.
Cary Coutant [Wed, 24 Dec 2008 06:17:18 +0000 (06:17 +0000)]
* gold.cc (gold_exit): Call plugin cleanup handlers on exit.
* plugin.cc (Plugin_manager::finish): Rename as
layout_deferred_objects. Move cleanup to separate function.
(Plugin_manager::cleanup): New function.
(Plugin_finish::run): Call layout_deferred_objects and cleanup
separately.
* plugin.h (Plugin_manager::finish): Rename as
layout_deferred_objects.
(Plugin_manager::cleanup): New function.
(Plugin_manager::cleanup_done): New field.
Cary Coutant [Tue, 23 Dec 2008 23:46:55 +0000 (23:46 +0000)]
* plugin.cc (is_visible_from_outside): New function.
(Pluginobj::get_symbol_resolution_info): Call is_visible_from_outside
so we don't return "IR only" status for exported symbols or -r links.
* testsuite/Makefile.am (plugin_test_3): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/plugin_test_3.sh: New file.