public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: gdb/
@ 2009-05-17 20:33 jkratoch
  0 siblings, 0 replies; 6+ messages in thread
From: jkratoch @ 2009-05-17 20:33 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  44bb4ddfffe0e0ad534fbf191b19cd48f62bf8e0 (commit)
       via  b5353480aca29c22d57227998e7639acccc462cf (commit)
       via  1a820b055e756fe796e151501767b5a5eed9f133 (commit)
       via  bf8171f4ea6b81f6a47f6eca0fc836d6ea8bc9c1 (commit)
       via  9b12ded023ccbbeb8c356c4eea315fc6608ea4dc (commit)
       via  4d79aee7817326b2699fd5cb09bbe858422615eb (commit)
       via  cbf7162e522c05ce6fe12dc6a4320ef91c930ea1 (commit)
       via  bcae35effefa2bb4785c9b25fefc9e6068c6e827 (commit)
       via  5404ed3ffa72af4b68bcf274311c50671bfa62ed (commit)
       via  7689fcf2f252ffd89c90ef158a63fd21e250073a (commit)
       via  5bc1e4824e4ab7347eadabfe5b773704bf4a685e (commit)
       via  12d687291644f9e26d9c657f9370cb552d89f2f4 (commit)
       via  89a5bbc90deab14a393d47db4f70bef50f3ede5c (commit)
       via  217255097ceff7d4d741204bb9efb70ac3c41f08 (commit)
       via  306eaf8ccf2f3d1ccb8a00fac5e7dba86fa45e6f (commit)
       via  dbc881cc3326d1dedc97f8dda7669d6025f1585a (commit)
       via  33bf69f0008607272e46b439bd9681c2574e7ddb (commit)
       via  d6520a5f3d76b1f6026ff0af509575dcb8f9ffcb (commit)
       via  e3a59b3be55ae16e4f8f813612c47440dd1cef95 (commit)
       via  bd62e9c3af910ced47786559c98fcdee1e8b99cc (commit)
       via  9e7262610552b8a394945645d6dbc8257538eef8 (commit)
       via  a3883ea3fa6c783bfbe1018822070a57a37cfe24 (commit)
       via  c88ee198427157b93b0bd591d8105e4b541f3481 (commit)
       via  4fb9c4498c14bb55098c1048dc8a4a9a7b2c26e8 (commit)
       via  d1c30a0e250fa107fd0ba2590464fed54e877953 (commit)
       via  f02f1f247126b5a45152adb0a091d0fc2ac57ed0 (commit)
       via  30eb6972a25bd09b2af652c217aa2b68eabee53e (commit)
       via  7f637b0e48f85e8b787b604e5744967199bdc958 (commit)
       via  f509aee5ba3a4016bcf8cf7ecdeceb2784ea6462 (commit)
       via  b6a4d59813c27fcf269044082225c6c6dcda894b (commit)
       via  d427499cfc03ac69b05ce2886082c5e3ece510ab (commit)
       via  7cadb648783c5e3f70bb89ed06cecd08efb3ca7c (commit)
       via  0d85a96fd8d88415f958e827a0b63ea4937f2b99 (commit)
       via  cab40c0330fb18037b1e80300266922213664a3f (commit)
       via  1a9561ecd22cbc983e3c981630bcb8565aa8e095 (commit)
       via  38d48d7f64438fc296353d09af7810ae321f0aa7 (commit)
       via  f1cec1516a3c14fedd8a6882be299d1cf2416806 (commit)
       via  80fc5244937e4b09d1271ca2b4a0f90a018a8d5b (commit)
       via  26d937880e786a04c740a60b6af549470fb7a659 (commit)
       via  9b98df5513877dd84702007ba7f38a010095c2f4 (commit)
       via  e6e9f1c1aa5d2dda6b095eeaa52d507fc27f8357 (commit)
       via  5d008094095c4a6f5ccc522abac263d6bc52738b (commit)
       via  0c367298996db7016c4347d2d3cd8ae2d3072065 (commit)
       via  99a559205ff95b6b18a762ac12e683489f4e919f (commit)
       via  ba50bf1ce8e8dab7e296dcd878394a09114282e1 (commit)
       via  d2102b3959a3d2f576fe19244482c863bb60b4c1 (commit)
       via  961798e9880a48b915cde2d61154489d233ccb55 (commit)
       via  9f72f488c945303fb0b115dca780063deff642fd (commit)
       via  63288c7eeea6ff549897a94f2ed42b486ed9171f (commit)
       via  c3379c02739010fb08a31b38c65f4fed75c01060 (commit)
       via  d59ca8461d64e39a0212c4bb8f119c9b5456cbc5 (commit)
       via  9af34d70a7c9477cf829ded4d47d1b85aa53f527 (commit)
       via  8d788c4955ae08f78f24d006373373ee38175d90 (commit)
       via  7da45472057846523ceb3c69319c06a9dbb58660 (commit)
       via  d278bb657e831e17a3921a6bab27ab331b491e0a (commit)
       via  3a23d3d1a7b28c762c5ed5f9d447e07cb73ebdb0 (commit)
       via  48a847fd305a815d640d99409fbd99223d952f2a (commit)
       via  26f58086246344cb99ea45c935c3240b80c8fac3 (commit)
       via  a406ea07f0d5b26f4ed5a6ec4ec5e4ab58c0d888 (commit)
       via  a724b172a65bda57fe5891e4b5b13e02dd05c18f (commit)
      from  16f90252eff5a1fb350f22172dd4b895072f8d49 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 44bb4ddfffe0e0ad534fbf191b19cd48f62bf8e0
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Sun May 17 19:20:32 2009 +0000

    gdb/
    2009-05-17  Pedro Alves  <pedro@codesourcery.com>
    
    	* infrun.c (handle_inferior_event): When handling a
    	TARGET_WAITKIND_FORKED, detach breakpoints from the fork child
    	immediatelly.
    	* linux-nat.c (linux_child_follow_fork): Only detach breakpoint
    	from the child if vforking.
    	* inf-ptrace.c (inf_ptrace_follow_fork): No need to detach
    	breakpoints from the child here.
    
    gdb/testsuite/
    2009-05-17  Pedro Alves  <pedro@codesourcery.com>
    
    	* gdb.base/foll-fork.c: Include stdlib.h.  Add markers for
    	`gdb_get_line_number'.  Call `callee' in both parent and child.
    	* gdb.base/foll-fork.exp (catch_fork_child_follow): Use
    	`gdb_get_line_number' instead of hardcoding line numbers.
    	(catch_fork_unpatch_child): New procedure to test detaching
    	breakpoints from child fork.
    	(tcatch_fork_parent_follow): Use `gdb_get_line_number' instead of
    	hardcoding line numbers.
    	(do_fork_tests): Run `catch_fork_unpatch_child'.

commit b5353480aca29c22d57227998e7639acccc462cf
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Sun May 17 16:46:20 2009 +0000

    	* infrun.c (pending_follow): Remove mention of exec events.

commit 1a820b055e756fe796e151501767b5a5eed9f133
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Sun May 17 16:31:18 2009 +0000

    	* infrun.c (pending_follow): Remove execd_pathname member.
    	(resume): No longer handle TARGET_WAITKIND_EXECD pending follow.
    	(handle_inferior_event): When handling a TARGET_WAITKIND_EXECD
    	event, don't copy `execd_pathname' to pending_follow, use the
    	event copy instead.  Release `execd_pathname' once done with
    	handling the event.

commit bf8171f4ea6b81f6a47f6eca0fc836d6ea8bc9c1
Author: Julian Brown <julian@codesourcery.com>
Date:   Sun May 17 13:12:27 2009 +0000

    	libiberty/
    	* pex-win32.c (pex_win32_exec_child): Fix logic to avoid closing
    	standard handles (stdin, stdout, stderr) in parent.

commit 9b12ded023ccbbeb8c356c4eea315fc6608ea4dc
Author: Hui Zhu <teawater@gmail.com>
Date:   Sun May 17 12:39:18 2009 +0000

    Fix a typo error.

commit 4d79aee7817326b2699fd5cb09bbe858422615eb
Author: Hui Zhu <teawater@gmail.com>
Date:   Sun May 17 12:26:44 2009 +0000

    * i386-tdep.c (i386_process_record): Make it extern.
    (i386_gdbarch_init): Don't call set_gdbarch_process_record
    here.
    * i386-tdep.c (i386_process_record): Declare.
    * i386-linux-tdep.c (i386_linux_init_abi): Call
    set_gdbarch_process_record.

commit cbf7162e522c05ce6fe12dc6a4320ef91c930ea1
Author: Vladimir Prus <vladimir@codesourcery.com>
Date:   Sun May 17 07:13:17 2009 +0000

    	Always report varobj as changed when in_scope attribute changes.
    
    	* varobj.c (install_new_value): If non-NULL-ness of value
    	changed, return 1.

commit bcae35effefa2bb4785c9b25fefc9e6068c6e827
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun May 17 00:00:33 2009 +0000

    *** empty log message ***

commit 5404ed3ffa72af4b68bcf274311c50671bfa62ed
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun May 17 00:00:05 2009 +0000

    daily update

commit 7689fcf2f252ffd89c90ef158a63fd21e250073a
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat May 16 00:00:05 2009 +0000

    daily update

commit 5bc1e4824e4ab7347eadabfe5b773704bf4a685e
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat May 16 00:00:04 2009 +0000

    *** empty log message ***

commit 12d687291644f9e26d9c657f9370cb552d89f2f4
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Fri May 15 16:53:41 2009 +0000

    2009-05-15  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* NEWS: Mention set/show libthread-db-search-path.
    	* gdb_thread_db.h (LIBTHREAD_DB_SEARCH_PATH): New define.
    	(LIBTHREAD_DB_SO): Moved from linux-thread-db.c
    	* linux-thread-db.c (libthread_db_search_path): New setting.
    	(thread_db_handle): New variable (replaces using_thread_db).
    	(try_thread_db_load_1): New function.
    	(try_thread_db_load, thread_db_load_search): Likewise.
    	(dladdr_to_soname): Likewise.
    	(thread_db_load): Iterate over possibly multiple libthread_db's.
    	(check_for_thread_db): Attempt to load new libthread_db.
    	(thread_db_detach, thread_db_wait): Unload libthread_db.
    	(thread_db_mourn_inferior): Likewise.
    	(_initialize_thread_db): Add new libthread-db-search-path option.
    	Defer loading of libthread_db to check_for_thread_db.
    	* solib.c (libpthread_name_p): New function.
    	(libpthread_solib_p): Call it.
    	* solib.h (libpthread_name_p): New prototype.

commit 89a5bbc90deab14a393d47db4f70bef50f3ede5c
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Fri May 15 10:11:32 2009 +0000

    	* MAINTAINERS: Update my email address.

commit 217255097ceff7d4d741204bb9efb70ac3c41f08
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Fri May 15 10:09:14 2009 +0000

     * fix my email address

commit 306eaf8ccf2f3d1ccb8a00fac5e7dba86fa45e6f
Author: Paul Brook <paul@codesourcery.com>
Date:   Fri May 15 00:08:11 2009 +0000

    2009-05-15  Andrew Stubbs  <ams@codesourcery.com>
    	Paul Brook  <paul@codesourcery.com>
    
    	bfd/
    	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to
    	fix discarded sections.
    
    	ld/testsuite/
    	* ld-arm/arm-elf.exp: Add unwind-5.
    	* ld-arm/discard-unwind.ld: New file.
    	* ld-arm/unwind-5.d: New test.
    	* ld-arm/unwind-5.s: New test.

commit dbc881cc3326d1dedc97f8dda7669d6025f1585a
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri May 15 00:00:33 2009 +0000

    *** empty log message ***

commit 33bf69f0008607272e46b439bd9681c2574e7ddb
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri May 15 00:00:05 2009 +0000

    daily update

commit d6520a5f3d76b1f6026ff0af509575dcb8f9ffcb
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Thu May 14 23:33:08 2009 +0000

    2009-05-14  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* breakpoint.h: Add breakpoint_re_set_objfile prototype.
    	* breakpoint.c (create_overlay_event_breakpoint): Renamed
    	from create_overlay_event_breakpoint_1, old
    	create_overlay_event_breakpoint deleted.
    	(breakpoint_re_set_objfile): Don't rescan all objfiles
    	unnecessarily.
    	(breakpoint_re_set): New function.
    	* symfile.c (new_symfile_objfile): Call breakpoint_re_set_objfile
    	instead of breakpoint_re_set.
    	* objfiles.c (objfile_relocate): Likewise.

commit e3a59b3be55ae16e4f8f813612c47440dd1cef95
Author: Nick Roberts <nickrob@snap.net.nz>
Date:   Thu May 14 21:43:09 2009 +0000

    (GDB/MI General Design): Break up into four nodes.

commit bd62e9c3af910ced47786559c98fcdee1e8b99cc
Author: Nick Roberts <nickrob@snap.net.nz>
Date:   Thu May 14 21:41:43 2009 +0000

    *** empty log message ***

commit 9e7262610552b8a394945645d6dbc8257538eef8
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Thu May 14 19:16:28 2009 +0000

            * gdbarch.sh: Add comment documenting the target_gdbarch global.
            gdbarch.h does NOT need to be regenerated as the corresponding
            change has already been made in a previous commit.

commit a3883ea3fa6c783bfbe1018822070a57a37cfe24
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 17:56:56 2009 +0000

    	* elf32-spu.c (mark_overlay_section): Move .init and .fini
    	sections into the software icache.

commit c88ee198427157b93b0bd591d8105e4b541f3481
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 16:56:08 2009 +0000

    bfd/
    	* elf32-spu.c (build_stub): Always build "compact" sofware
    	i-cache stubs.
    
    ld/
    	* emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use
    	compact stubs with software i-cache.
    
    ld/testsuite/
    	* ld-spu/icache1.d: Update for compact stubs.

commit 4fb9c4498c14bb55098c1048dc8a4a9a7b2c26e8
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 16:03:58 2009 +0000

    bfd/
    	* elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2.
    	(spu_elf_setup): Initialize it.
    	(spu_elf_size_stubs): Move .ovtab into .bss for software i-cache.
    	Update to new-sytle cache manager data structures.
    	(spu_elf_build_stubs): Generate new-style cache manager data
    	structures and symbols.
    	(spu_elf_auto_overlay): Update size computation.
    
    ld/testsuite/
    	* ld-spu/icache1.d: Update all addresses to accomodate icache
    	buffer shifted down 0x800 bytes.

commit d1c30a0e250fa107fd0ba2590464fed54e877953
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 15:26:35 2009 +0000

    bfd/
    	* elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAY
    	segments first amongst the program headers.
    
    ld/testsuite/
    	* ld-spu/icache.d: Update file offsets.
    	* ld-spu/ovl.d: Likewise.
    	* ld-spu/ovl1.d: Likewise.

commit f02f1f247126b5a45152adb0a091d0fc2ac57ed0
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 14:42:36 2009 +0000

    	* elf32-spu.c (spu_elf_relocate_section): Only encode overlay index
    	into addresses for relocation types that look at high bits.  Remove
    	special handling of relocation overflow warnings.

commit 30eb6972a25bd09b2af652c217aa2b68eabee53e
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 14:40:57 2009 +0000

    	* elf32-spu.c (mark_functions_via_relocs): Handle cycles in the
    	control flow graph between fragments of a function.

commit 7f637b0e48f85e8b787b604e5744967199bdc958
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Thu May 14 14:39:03 2009 +0000

    	* elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode,
    	generate only a 16-byte .toe section.
    	(spu_elf_build_stubs, spu_elf_auto_overlay): Likewise.

commit f509aee5ba3a4016bcf8cf7ecdeceb2784ea6462
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Thu May 14 09:36:58 2009 +0000

    	Remove all i386 debug register low level macros in config nm files.
    	(I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR): Remove.
    	(I386_DR_LOW_GET_STATUS, I386_DR_LOW_SET_CONTROL): Remove.
    	(I386_USE_GENERIC_WATCHPOIINTS): Remove.
    
    	* i386-nat.h: New file (adapted from config/i386/nm-i386.h).
    	(struct i386_dr_low_type): New type.
    	(i386_dr_low): New global variable.
    	* i386-nat.c (TARGET_HAS_DR_LEN_8): Update macro.
    	(i386_insert_aligned_watchpoint): Replace i386 dr low macros by
    	i386_dr_low struct variable fields.
    	(i386_remove_aligned_watchpoint): Likewise.
    	(i386_stopped_data_address): Likewise.
    	(i386_stopped_by_hwbp): Likewise.
    	(show_debug_regs_command_added): New static variable.
    	(add_show_debug_regs_command): New static function.
    	(i386_use_watchpoints): Call add_show_debug_regs_command if not done.
    	(i386_set_debug_register_length): New function.
    	(_initialize_i386_nat): Delete.
    
    	* amd64-linux-nat.c: Include "i386-nat.h".
    	(amd64_linux_dr_set_control):  Change to static.
    	(amd64_linux_dr_get_status): Change to static.
    	(amd64_linux_dr_set_addr,amd64_linux_dr_reset_addr): Likewise.
    	(_initialize_amd64_linux_nat): Set i386_dr_low variable fields.
    
    	* go32-nat.c: Include "i386-nat.h".
    	(go32_set_addr): Change to static.
    	(go32_set_dr7): Change to static. Change arg type to unisgned long.
    	(go32_get_dr6): Change to static. Change return type to unisnged long.
    	(init_go32_ops):  Set i386_dr_low variable fields.
    	* i386-linux-nat.c: Include "i386-nat.h".
    	(i386_linux_dr_set_control, i386_linux_dr_get_status): Change to static.
    	(i386_linux_dr_set_addr, i386_linux_dr_reset_addr): Idem.
    	(_initialize_i386_linux_nat):  Set i386_dr_low variable fields.
    	* i386bsd-nat.h: Declare functions used for
    	i386_dr_low fields in i386fbsd-nat.c.
    	* i386fbsd-nat.c: Include "i386-nat.h".
    	(_initialize_i386fbsd_nat): Set i386_dr_low variable fields.
    	* windows-nat.c: Include "i386-nat.h".
    	(cygwin_set_dr, cygwin_get_dr6, cygwin_set_dr7): Add prototypes.
    	Change to static.
    	(cygwin_get_dr6): Change return type to unisnged long.
    	(cygwin_set_dr7): Change arg type to unisgned long.
    	(init_windows_ops): Set i386_dr_low function fields.
    
    	* amd64-windows-nat.c (_initialize_amd64_windows_nat): Call
    	i386_set_debug_register_length.
    	* i386-windows-nat.c (_initialize_i386_windows_nat): Likewise.
    
    	* config/i386/nm-cygwin.h: Remove all I386_* macros.
    	* config/i386/nm-cygwin64.h: Likewise.
    	* config/i386/nm-fbsd.h: Likewise.
    	* config/i386/nm-linux.h: Likewise.
    	* config/i386/nm-i386.h: Remove completely.
    	* config/i386/nm-go32.h: Remove completely.
    	* config/i386/nm-linux64.h: Remove completely.
    	* config/i386/go32.mh (NAT_FILE): Remove entry.
    	* config/i386/linux64.h (NAT_FILE): Change to config/nm-linux.h.

commit b6a4d59813c27fcf269044082225c6c6dcda894b
Author: jbeniston <jbeniston>
Date:   Thu May 14 08:54:09 2009 +0000

    * MAINTAINERS: Add Jon Beniston to write after approval list.

commit d427499cfc03ac69b05ce2886082c5e3ece510ab
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu May 14 04:30:00 2009 +0000

    bfd/
    	* elf32-spu.c (spu_elf_size_stubs): Split out section placement to..
    	(spu_elf_place_overlay_data): ..here.  New function.
    	* elf32-spu.h (spu_elf_place_overlay_data): Declare.
    ld/
    	* emultempl/spuelf.em (spu_before_allocation): Call
    	spu_elf_place_overlay_data.
    ld/testsuite/
    	* ld-spu/icache1.d: Update for changed overlay manager placement.
    	* ld-spu/ovl.d: Likewise.
    	* ld-spu/ovl2.d: Likewise.

commit 7cadb648783c5e3f70bb89ed06cecd08efb3ca7c
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu May 14 00:00:04 2009 +0000

    *** empty log message ***

commit 0d85a96fd8d88415f958e827a0b63ea4937f2b99
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu May 14 00:00:04 2009 +0000

    daily update

commit cab40c0330fb18037b1e80300266922213664a3f
Author: Doug Evans <dje@google.com>
Date:   Wed May 13 19:11:04 2009 +0000

    	* linux-x86-low.c: Don't include assert.h.
    	(x86_siginfo_fixup): Use fatal, not assert.
    	(x86_arch_setup): Fix comment.

commit 1a9561ecd22cbc983e3c981630bcb8565aa8e095
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Wed May 13 17:36:24 2009 +0000

    2009-05-13  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* objc-lang.c (objc_objfile_data): New variable.
    	(find_methods): Skip objfiles without Obj-C methods.
    	(_initialize_objc_lang): New function.

commit 38d48d7f64438fc296353d09af7810ae321f0aa7
Author: Doug Evans <dje@google.com>
Date:   Wed May 13 17:17:22 2009 +0000

    (linux_test_for_tracefork): Back out turd from previous check-in.

commit f1cec1516a3c14fedd8a6882be299d1cf2416806
Author: andrewjenner <andrewjenner>
Date:   Wed May 13 16:46:40 2009 +0000

         * elf32-arm.c: Move sysdep.h to start of file.

commit 80fc5244937e4b09d1271ca2b4a0f90a018a8d5b
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed May 13 09:41:57 2009 +0000

            * c-lang.c (print_wchar): Remove unnecessary cast.

commit 26d937880e786a04c740a60b6af549470fb7a659
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Wed May 13 00:00:34 2009 +0000

    *** empty log message ***

commit 9b98df5513877dd84702007ba7f38a010095c2f4
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Wed May 13 00:00:04 2009 +0000

    daily update

commit e6e9f1c1aa5d2dda6b095eeaa52d507fc27f8357
Author: Jim Blandy <jimb@codesourcery.com>
Date:   Tue May 12 23:55:25 2009 +0000

    * MAINTAINERS: Remove self as m32c target maintainer.

commit 5d008094095c4a6f5ccc522abac263d6bc52738b
Author: Doug Evans <dje@google.com>
Date:   Tue May 12 22:25:00 2009 +0000

    	Biarch support for i386/amd64 gdbserver.
    	* Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
    	Add linux-x86-low.c.
    	(linux-i386-low.o, linux-x86-64-low.o): Delete.
    	(linux-x86-low.o): Add.
    	* linux-x86-64-low.c: Delete.
    	* linux-i386-low.c: Delete.
    	* linux-x86-low.c: New file.
    	* configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
    	linux-x86-low.o.
    	(x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
    	linux-x86-low.o.
    	(x86_64-linux srv_regobj): Add reg-i386-linux.o.
    	* linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
    	(linux_child_pid_to_exec_file): New function.
    	(elf_64_header_p, elf_64_file_p): New functions.
    	(siginfo_fixup): New function.
    	(linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
    	give target a chance to convert layout.
    	* linux-low.h (linux_target_ops): New member siginfo_fixup.
    	(linux_child_pid_to_exec_file, elf_64_file_p): Declare.

commit 0c367298996db7016c4347d2d3cd8ae2d3072065
Author: Alexandre Oliva <aoliva@redhat.com>
Date:   Tue May 12 18:15:48 2009 +0000

    ChangeLog:
    PR target/37137
    * Makefile.def (flags_to_pass): Remove redundant and incomplete
    STAGE1_CFLAGS, STAGE2_CFLAGS, STAGE3_CFLAGS, and STAGE4_CFLAGS.
    Add FLAGS_FOR_TARGET and BUILD_CONFIG.
    (bootstrap_stage): Remove bootstrap-debug custom stages.  Turn
    stage_configureflags, stage_cflags and stage_libcflags into
    explicit Makefile macros.
    * Makefile.tpl (HOST_EXPORTS, EXTRA_HOST_FLAGS): Pass GCJ and
    GFORTRAN.
    (POSTSTAGE1_HOST_EXPORTS): Add XGCC_FLAGS_FOR_TARGET and TFLAGS to
    CC.  Set CC_FOR_BUILD from CC.
    (BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS,
    NORMAL_TARGET_EXPORTS): Move SYSROOT_CFLAGS_FOR_TARGET and
    DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS and CXXFLAGS to
    XGCC_FLAGS_FOR_TARGET.  Add it along with TFLAGS to CC, CXX, GCJ,
    and GFORTRAN.
    (TFLAGS, STAGE_CFLAGS, STAGE_TFLAGS, STAGE_CONFIGURE_FLAGS): New.
    (_LIBCFLAGS): Renamed to _TFLAGS.
    (do-compare-debug, do-compare3-debug): Drop.
    (CC, GCC_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET,
    GCJ_FOR_TARGET, GFORTRAN_FOR_TARGET): Remove FLAGS_FOR_TARGET.
    (FLAGS_FOR_TARGET, SYSROOT_CFLAGS_FOR_TARGET,
    DEBUG_PREFIX_CFLAGS_FOR_TARGET): Move down.
    (XGCC_FLAGS_FOR_TARGET): New.
    (BASE_FLAGS_TO_PASS): Pass STAGEid_CFLAGS, STAGEid_TFLAGS and TFLAGS.
    (EXTRA_HOST_FLAGS): Pass GCJ and GFORTRAN.
    (POSTSTAGE1_FLAGS_TO_PASS): Move SYSROOT_CFLAGS_FOR_TARGET and
    DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS, CXXFLAGS, LIBCFLAGS,
    LIBCXXFLAGS to XGCC_FLAGS_FOR_TARGET.    Add it along with TFLAGS
    to CC, CXX, GCJ, and GFORTRAN.  Pass XGCC_FLAGS_FOR_TARGET and
    TFLAGS.
    (BUILD_CONFIG): Include if requested.
    (all): Set TFLAGS on bootstrap.
    (configure-stageid-prefixmodule): Pass TFLAGS, adjust FLAGS.
    (all-stageid-prefixmodule): Likewise.
    (do-clean, distclean-stageid): Set TFLAGS.
    (restrap): Fix whitespace.
    * Makefile.in: Rebuilt.
    config/ChangeLog:
    * multi.m4: Save CXX, GFORTRAN and GCJ in config.status.
    * mt-gnu (CXXFLAGS_FOR_TARGET): Adjust.
    * bootstrap-O1.mk: New.
    * bootstrap-O3.mk: New.
    * bootstrap-debug.mk: New.

commit 99a559205ff95b6b18a762ac12e683489f4e919f
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Tue May 12 16:51:12 2009 +0000

    gdb/
    2009-05-12  Pedro Alves  <pedro@codesourcery.com>
    
    	* cli/cli-decode.c (deprecated_add_set_cmd): Delete.
    	* command.h (deprecated_add_set_cmd): Delete declaration.
    	* gnu-nat.c (_initialize_gnu_nat): Replace 'maint gnu-debug' with
    	'set debug gnu-nat' and 'show debug gnu-nat'.
    	* i386-nat.c (_initialize_i386_nat): Replace 'maint
    	show-debug-registers' with 'maint set show-debug-registers' and
    	'maint show show-debug-registers'.
    	* mips-linux-nat.c (_initialize_mips_linux_nat): Replace 'maint
    	show-debug-registers' with 'maint set show-debug-registers' and
    	'maint show show-debug-registers'.
    
    gdb/doc/
    2009-05-12  Pedro Alves  <pedro@codesourcery.com>
    
    	* gdb.texinfo: Document 'set/show debug gnu-nat'.  Replace 'maint
    	show-debug-regs' docs by 'maint set show-debug-regs' and 'maint
    	show show-debug-regs' docs.

commit ba50bf1ce8e8dab7e296dcd878394a09114282e1
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Tue May 12 08:05:52 2009 +0000

            * c-lang.c (print_wchar): Convert w into a gdb_wchar_t before
            pushing it on the output obstack.

commit d2102b3959a3d2f576fe19244482c863bb60b4c1
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Tue May 12 00:00:39 2009 +0000

    daily update

commit 961798e9880a48b915cde2d61154489d233ccb55
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue May 12 00:00:34 2009 +0000

    *** empty log message ***

commit 9f72f488c945303fb0b115dca780063deff642fd
Author: Andrew Cagney <cagney@redhat.com>
Date:   Mon May 11 21:21:47 2009 +0000

    2009-05-11  Andrew Cagney  <cagney@gnu.org>
    
    	* MAINTAINERS: Orphan ppc.

commit 63288c7eeea6ff549897a94f2ed42b486ed9171f
Author: Doug Evans <dje@google.com>
Date:   Mon May 11 16:24:13 2009 +0000

    	* gdb.mi/nsintrall.c (main): Fix off-by-one error.
    	* gdb.threads/pending-step.c (main): Fix off-by-one error.
    	* gdb.threads/schedlock.c (main): Fix off-by-one error.

commit c3379c02739010fb08a31b38c65f4fed75c01060
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon May 11 15:05:53 2009 +0000

    gdb/
    	Fix internal error on breaking at a multi-locations caller source line.
    	* breakpoint.c (parse_breakpoint_sals): Set EXPLICIT_PC for the `break'
    	command with no parameters.
    
    gdb/testsuite/
    	* gdb.cp/expand-sals.exp, gdb.cp/expand-sals.cc: New.

commit d59ca8461d64e39a0212c4bb8f119c9b5456cbc5
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon May 11 12:08:02 2009 +0000

    	* linux-nat.c (enum sigchld_state): Delete.
    	(linux_nat_async_events_state): Delete.
    	(struct waitpid_result): Delete.
    	(waitpid_queue): Delete.
    	(queued_waitpid_1): Delete.
    	(async_file_flush): New.
    	(queued_waitpid, push_waitpid): Delete.
    	(async_file_mark): New.
    	(drain_queued_events): Delete.
    	(my_waitpid): Remove locally queued events handling.
    	(linux_test_for_tracefork): Upjust.
    	(linux_child_follow_fork): Ditto.
    	(sync_sigchld_action): Delete.
    	(blocked_mask): Reinstate.
    	(async_sigchld_action): Rename to...
    	(sigchld_action): ... this.
    	(block_child_signals): New.
    	(restore_child_signals_mask): New.
    	(lin_lwp_attach_lwp): Adjust.
    	(linux_nat_create_inferior): Ditto.
    	(linux_nat_attach): Also use lp->status in async mode.
    	(get_pending_status): Don't use queued_waitpid.
    	(linux_nat_detach): Don't drain locally queued events.
    	(linux_nat_resume): Allow pending wait statuses stored lp->status
    	in async mode.  If returning early due to a pending event,
    	re-register the event source.
    	(stop_wait_callback): Allow pending wait statuses stored
    	lp->status in async mode.
    	(pipe_to_local_event_queue, local_event_queue_to_pipe): Delete.
    	(linux_nat_wait): Rename to ...
    	(linux_nat_wait_1): ... this.  Allow pending wait statuses stored
    	lp->status in async mode.  Always add WNOHANG to the waitpid
    	options in async mode.
    	(linux_nat_wait): New.
    	(kill_callback): Don't drain locally queued events.
    	(sigchld_handler): Rewrite.
    	(linux_nat_is_async_p, linux_nat_can_async_p): Fix comments to
    	refer to "set target-async".
    	(linux_nat_async_mask): If in non-stop, and re-enabling async
    	mode, re-register the target event source in the event loop.
    	(linux_nat_event_pipe_pop, linux_nat_event_pipe_push)
    	(get_pending_events, async_sigchld_handler)
    	(linux_nat_async_events): Delete.
    	(handle_target_event): New.
    	(linux_nat_async_file_handler): Delete.
    	(linux_async_pipe): New.
    	(linux_nat_async): Only re-register in the event loop if not
    	registered yet.  Always notify the event-loop once if enabling the
    	event source.
    	(linux_nat_stop_lwp): Rewrite to handle pending events stored in
    	lp->status, not in the locally queued event list.
    	(linux_nat_stop): Don't mask out async event handling.
    	(linux_nat_setup_async): Delete.
    	(_initialize_linux_nat): Adjust.
    	(lin_thread_get_thread_signals): blocked_mask is global again.
    	Adjust.

commit 9af34d70a7c9477cf829ded4d47d1b85aa53f527
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Mon May 11 11:13:06 2009 +0000

    	Unify target macros.
    
    	* target.h (STOPPED_BY_WATCHPOINT): Delete, replaced by ...
    	(target_stoppped_by_watchpoint): New macro.
    	(HAVE_STEPPABLE_WATCHPOINT): Delete, replaced by ...
    	(target_have_steppable_watchpoint): New macro.
    	(HAVE_CONTINUABLE_WATCHPOINT): Delete, replace by ...
    	(target_have_continuable_watchpoint): New macro.
    	(TARGET_CAN_USE_HARDWARE_WATCHPOINT):Delete, replaced by ...
    	(target_can_use_hardware_watchpoint): New macro.
    	(TARGET_REGION_OK_FOR_HW_WATCHPOINT):Delete, replaced by ...
    	(target_region_ok_for_hw_watchpoint): New macro.
    
    	* breakpoint.c (update_watchpoint): Use new macros.
    	(bpstat_alloc): Likewise.
    	(create_breakpoint): Likewise.
    	(watch_command_1): Likewise.
    	(can_use_hardware_watchpoint): Likewise.
    	(do_enable_breakpoint): Likewise.
    	* infrun.c (handle_inferior_event): Adapt to new macros.
    	* mips-tdep.c (mips_gdbarch_init): Update comments.
    	* procfs.c (procfs_set_watchpoint): Update comment.
    	(procfs_insert_watchpoint): Adapt to new macros.
    	* remote-m32r-sdi.c (m32r_stop):
    	* remote-mips.c (mips_remove_breakpoint):
    	* target.c (debug_to_region_ok_for_hw_watchpoint): Update to new macros.
    	(debug_to_stopped_by_watchpoint): Likewise.

commit 8d788c4955ae08f78f24d006373373ee38175d90
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon May 11 09:40:51 2009 +0000

    	* elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma as
    	start of overlays.
    	(spu_elf_build_stubs): Don't define __icache_tagbase.  Define
    	__icache_tag_array and __icache_tag_array_size.

commit 7da45472057846523ceb3c69319c06a9dbb58660
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon May 11 00:00:05 2009 +0000

    daily update

commit d278bb657e831e17a3921a6bab27ab331b491e0a
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Mon May 11 00:00:03 2009 +0000

    *** empty log message ***

commit 3a23d3d1a7b28c762c5ed5f9d447e07cb73ebdb0
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun May 10 23:33:50 2009 +0000

    Remove unnecessary ATTRIBUTE_UNUSED

commit 48a847fd305a815d640d99409fbd99223d952f2a
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Sun May 10 13:30:52 2009 +0000

    	* src/gdb/target.h: Remove all tests for already defined
    	macros. All macros defined here should not be set in config
    	headers anymore.

commit 26f58086246344cb99ea45c935c3240b80c8fac3
Author: Anthony Green <green@redhat.com>
Date:   Sun May 10 13:25:57 2009 +0000

    Add missing break statemenets.

commit a406ea07f0d5b26f4ed5a6ec4ec5e4ab58c0d888
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun May 10 00:00:09 2009 +0000

    daily update

commit a724b172a65bda57fe5891e4b5b13e02dd05c18f
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun May 10 00:00:03 2009 +0000

    *** empty log message ***

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   41 +
 Makefile.def                                       |   59 +-
 Makefile.in                                        | 5501 ++++++--------------
 Makefile.tpl                                       |  175 +-
 bfd/ChangeLog                                      |   72 +
 bfd/elf32-arm.c                                    |    6 +-
 bfd/elf32-bfin.c                                   |   11 +-
 bfd/elf32-spu.c                                    |  333 +-
 bfd/elf32-spu.h                                    |    1 +
 bfd/version.h                                      |    2 +-
 config/ChangeLog                                   |    8 +
 config/bootstrap-O1.mk                             |    1 +
 config/bootstrap-O3.mk                             |    1 +
 config/bootstrap-debug.mk                          |    2 +
 config/mt-gnu                                      |    3 +-
 config/multi.m4                                    |    7 +-
 gdb/ChangeLog                                      |  290 +-
 gdb/MAINTAINERS                                    |    6 +-
 gdb/NEWS                                           |    5 +
 gdb/amd64-linux-nat.c                              |   15 +-
 gdb/amd64-windows-nat.c                            |    3 +-
 gdb/breakpoint.c                                   |  149 +-
 gdb/breakpoint.h                                   |    2 +-
 gdb/c-lang.c                                       |    4 +-
 gdb/cli/cli-decode.c                               |   11 -
 gdb/command.h                                      |   10 -
 gdb/config/i386/go32.mh                            |    1 -
 gdb/config/i386/linux64.mh                         |    2 +-
 gdb/config/i386/nm-cygwin.h                        |   17 -
 gdb/config/i386/nm-cygwin64.h                      |   17 -
 gdb/config/i386/nm-fbsd.h                          |   25 -
 gdb/config/i386/nm-i386.h                          |   72 -
 gdb/config/i386/nm-linux.h                         |   23 -
 gdb/config/i386/nm-linux64.h                       |   53 -
 gdb/doc/ChangeLog                                  |   14 +
 gdb/doc/gdb.texinfo                                |   56 +-
 gdb/gdb_thread_db.h                                |    9 +
 gdb/gdbarch.sh                                     |   11 +
 gdb/gdbserver/ChangeLog                            |   30 +
 gdb/gdbserver/Makefile.in                          |    8 +-
 gdb/gdbserver/configure.srv                        |    7 +-
 gdb/gdbserver/linux-i386-low.c                     |  210 -
 gdb/gdbserver/linux-low.c                          |  106 +-
 gdb/gdbserver/linux-low.h                          |   12 +-
 gdb/gdbserver/linux-x86-64-low.c                   |  184 -
 gdb/gdbserver/linux-x86-low.c                      |  644 +++
 gdb/gnu-nat.c                                      |   13 +-
 gdb/go32-nat.c                                     |   16 +-
 gdb/i386-linux-nat.c                               |   15 +-
 gdb/i386-linux-tdep.c                              |    2 +
 gdb/i386-nat.c                                     |  116 +-
 gdb/i386-nat.h                                     |   89 +
 gdb/i386-tdep.c                                    |    4 +-
 gdb/i386-tdep.h                                    |    3 +
 gdb/i386-windows-nat.c                             |    2 +
 gdb/i386bsd-nat.h                                  |   10 +
 gdb/i386fbsd-nat.c                                 |   14 +
 gdb/inf-ptrace.c                                   |    4 +-
 gdb/infrun.c                                       |   53 +-
 gdb/linux-nat.c                                    |  969 ++---
 gdb/linux-thread-db.c                              |  473 ++-
 gdb/mips-linux-nat.c                               |   13 +-
 gdb/mips-tdep.c                                    |    8 +-
 gdb/objc-lang.c                                    |  166 +-
 gdb/objfiles.c                                     |    2 +-
 gdb/procfs.c                                       |    4 +-
 gdb/remote-m32r-sdi.c                              |    2 +-
 gdb/remote-mips.c                                  |    2 +-
 gdb/solib.c                                        |   13 +-
 gdb/solib.h                                        |    4 +
 gdb/symfile.c                                      |    2 +-
 gdb/target.c                                       |    4 +-
 gdb/target.h                                       |   28 +-
 gdb/testsuite/ChangeLog                            |   28 +
 gdb/testsuite/gdb.base/foll-fork.c                 |    7 +-
 gdb/testsuite/gdb.base/foll-fork.exp               |   72 +-
 .../nm-go32.h => testsuite/gdb.cp/expand-sals.cc}  |   56 +-
 gdb/testsuite/gdb.cp/expand-sals.exp               |   58 +
 gdb/testsuite/gdb.mi/mi-var-cmd.exp                |   27 +
 gdb/testsuite/gdb.mi/nsintrall.c                   |    2 +-
 gdb/testsuite/gdb.threads/pending-step.c           |    2 +-
 gdb/testsuite/gdb.threads/schedlock.c              |    2 +-
 gdb/varobj.c                                       |   18 +-
 gdb/version.in                                     |    2 +-
 gdb/windows-nat.c                                  |   27 +-
 libiberty/ChangeLog                                |    5 +
 libiberty/pex-win32.c                              |   17 +-
 sim/ChangeLog                                      |    4 +
 sim/MAINTAINERS                                    |    2 +-
 sim/moxie/ChangeLog                                |    4 +
 sim/moxie/interp.c                                 |    2 +
 91 files changed, 4668 insertions(+), 5917 deletions(-)
 create mode 100644 config/bootstrap-O1.mk
 create mode 100644 config/bootstrap-O3.mk
 create mode 100644 config/bootstrap-debug.mk
 delete mode 100644 gdb/config/i386/nm-i386.h
 delete mode 100644 gdb/config/i386/nm-linux64.h
 delete mode 100644 gdb/gdbserver/linux-i386-low.c
 delete mode 100644 gdb/gdbserver/linux-x86-64-low.c
 create mode 100644 gdb/gdbserver/linux-x86-low.c
 create mode 100644 gdb/i386-nat.h
 rename gdb/{config/i386/nm-go32.h => testsuite/gdb.cp/expand-sals.cc} (53%)
 create mode 100644 gdb/testsuite/gdb.cp/expand-sals.exp

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 0f086f4..242d4ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,44 @@
+2009-05-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR target/37137
+	* Makefile.def (flags_to_pass): Remove redundant and incomplete
+	STAGE1_CFLAGS, STAGE2_CFLAGS, STAGE3_CFLAGS, and STAGE4_CFLAGS.
+	Add FLAGS_FOR_TARGET and BUILD_CONFIG.
+	(bootstrap_stage): Remove bootstrap-debug custom stages.  Turn
+	stage_configureflags, stage_cflags and stage_libcflags into
+	explicit Makefile macros.
+	* Makefile.tpl (HOST_EXPORTS, EXTRA_HOST_FLAGS): Pass GCJ and
+	GFORTRAN.
+	(POSTSTAGE1_HOST_EXPORTS): Add XGCC_FLAGS_FOR_TARGET and TFLAGS to
+	CC.  Set CC_FOR_BUILD from CC.
+	(BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS,
+	NORMAL_TARGET_EXPORTS): Move SYSROOT_CFLAGS_FOR_TARGET and
+	DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS and CXXFLAGS to
+	XGCC_FLAGS_FOR_TARGET.  Add it along with TFLAGS to CC, CXX, GCJ,
+	and GFORTRAN.
+	(TFLAGS, STAGE_CFLAGS, STAGE_TFLAGS, STAGE_CONFIGURE_FLAGS): New.
+	(_LIBCFLAGS): Renamed to _TFLAGS.
+	(do-compare-debug, do-compare3-debug): Drop.
+	(CC, GCC_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET,
+	GCJ_FOR_TARGET, GFORTRAN_FOR_TARGET): Remove FLAGS_FOR_TARGET.
+	(FLAGS_FOR_TARGET, SYSROOT_CFLAGS_FOR_TARGET,
+	DEBUG_PREFIX_CFLAGS_FOR_TARGET): Move down.
+	(XGCC_FLAGS_FOR_TARGET): New.
+	(BASE_FLAGS_TO_PASS): Pass STAGEid_CFLAGS, STAGEid_TFLAGS and TFLAGS.
+	(EXTRA_HOST_FLAGS): Pass GCJ and GFORTRAN.
+	(POSTSTAGE1_FLAGS_TO_PASS): Move SYSROOT_CFLAGS_FOR_TARGET and
+	DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS, CXXFLAGS, LIBCFLAGS,
+	LIBCXXFLAGS to XGCC_FLAGS_FOR_TARGET.    Add it along with TFLAGS
+	to CC, CXX, GCJ, and GFORTRAN.  Pass XGCC_FLAGS_FOR_TARGET and
+	TFLAGS.
+	(BUILD_CONFIG): Include if requested.
+	(all): Set TFLAGS on bootstrap.
+	(configure-stageid-prefixmodule): Pass TFLAGS, adjust FLAGS.
+	(all-stageid-prefixmodule): Likewise.
+	(do-clean, distclean-stageid): Set TFLAGS.
+	(restrap): Fix whitespace.
+	* Makefile.in: Rebuilt.
+
 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
diff --git a/Makefile.def b/Makefile.def
index c6a9291..30d4d17 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -255,12 +255,8 @@ flags_to_pass = { flag= CXXFLAGS ; };
 flags_to_pass = { flag= LDFLAGS ; };
 flags_to_pass = { flag= LIBCFLAGS ; };
 flags_to_pass = { flag= LIBCXXFLAGS ; };
-flags_to_pass = { flag= STAGE1_CFLAGS ; };
 flags_to_pass = { flag= STAGE1_CHECKING ; };
 flags_to_pass = { flag= STAGE1_LANGUAGES ; };
-flags_to_pass = { flag= STAGE2_CFLAGS ; };
-flags_to_pass = { flag= STAGE3_CFLAGS ; };
-flags_to_pass = { flag= STAGE4_CFLAGS ; };
 flags_to_pass = { flag= GNATBIND ; };
 flags_to_pass = { flag= GNATMAKE ; };
 
@@ -273,6 +269,7 @@ flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
 flags_to_pass = { flag= CXX_FOR_TARGET ; };
 flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
 flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
+flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
 flags_to_pass = { flag= GCJ_FOR_TARGET ; };
 flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
 flags_to_pass = { flag= LD_FOR_TARGET ; };
@@ -288,6 +285,7 @@ flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
 flags_to_pass = { flag= WINDMC_FOR_TARGET ; };
 
 // Miscellaneous
+flags_to_pass = { flag= BUILD_CONFIG ; };
 flags_to_pass = { flag= LANGUAGES ; optional=true ; };
 flags_to_pass = { flag= LEAN ; };
 
@@ -555,62 +553,21 @@ languages = { language=objc;	gcc-check-target=check-objc;
 languages = { language=obj-c++;	gcc-check-target=check-obj-c++; };
 
 // Toplevel bootstrap
-bootstrap_stage = {
-	id=1 ;
-
-	// * We force-disable intermodule optimizations, even if
-	//   --enable-intermodule was passed, since the installed compiler
-	//   probably can't handle them.  Luckily, autoconf always respects
-	//   the last argument when conflicting --enable arguments are passed.
-	// * Likewise, we force-disable coverage flags, since the installed
-	//   compiler probably has never heard of them.
-	stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
-	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
-	stage_cflags='$(STAGE1_CFLAGS)' ;
-	stage_libcflags='$(STAGE1_LIBCFLAGS)' ; };
+bootstrap_stage = { id=1 ; };
 bootstrap_stage = {
 	id=2 ; prev=1 ;
-	bootstrap_target=bootstrap2 ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags="$(STAGE2_CFLAGS)" ;
-	stage_libcflags="$(STAGE2_LIBCFLAGS)" ; };
-bootstrap_stage = {
-	id=b2g0 ; prev=1 ;
-	bootstrap_target=bootstrap2-debug ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags="$(STAGE2_CFLAGS) -g0" ;
-	stage_libcflags="$(STAGE2_LIBCFLAGS) -g0" ; };
+	bootstrap_target=bootstrap2 ; };
 bootstrap_stage = {
 	id=3 ; prev=2 ; lean=1 ;
 	compare_target=compare ;
 	bootstrap_target=bootstrap ;
-	cleanstrap_target=cleanstrap ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags="$(STAGE3_CFLAGS)" ;
-	stage_libcflags="$(STAGE3_LIBCFLAGS)" ; };
-bootstrap_stage = {
-	id=b3g2 ; prev=b2g0 ; lean=1 ;
-	compare_target=compare-debug ;
-	bootstrap_target=bootstrap-debug ;
-	cleanstrap_target=cleanstrap-debug ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags="$(STAGE3_CFLAGS) -g2" ;
-	stage_libcflags="$(STAGE3_LIBCFLAGS) -g2" ; };
+	cleanstrap_target=cleanstrap ; };
 bootstrap_stage = {
 	id=4 ; prev=3 ; lean=2 ;
 	compare_target=compare3 ;
-	bootstrap_target=bootstrap4 ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags="$(STAGE4_CFLAGS)" ;
-	stage_libcflags="$(STAGE4_CFLAGS)" ; };
+	bootstrap_target=bootstrap4 ; };
 bootstrap_stage = {
-	id=profile ; prev=1 ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ;
-	stage_libcflags='$(STAGE2_LIBCFLAGS)' ; };
+	id=profile ; prev=1 ; };
 bootstrap_stage = {
 	id=feedback ; prev=profile ;
-	bootstrap_target=profiledbootstrap ;
-	stage_configure_flags="@stage2_werror_flag@" ;
-	stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ;
-	stage_libcflags='$(STAGE3_LIBCFLAGS) -fprofile-use' ; };
+	bootstrap_target=profiledbootstrap ; };
diff --git a/Makefile.in b/Makefile.in
index ee16fc1..8f3be10 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3,7 +3,8 @@
 #
 # Makefile for directory with subdirs to build.
 #   Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
+#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+#   Free Software Foundation
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -174,6 +175,8 @@ HOST_EXPORTS = \
 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
 	CXX="$(CXX)"; export CXX; \
 	CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+	GCJ="$(GCJ)"; export GCJ; \
+	GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
 	AR="$(AR)"; export AR; \
 	AS="$(AS)"; export AS; \
 	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
@@ -209,11 +212,9 @@ HOST_EXPORTS = \
 POSTSTAGE1_HOST_EXPORTS = \
 	$(HOST_EXPORTS) \
 	CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
-	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
-	CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \
-	  $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
-	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
-	  -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
+	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \
+	  $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
+	CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
 	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND \
 	LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS;
 
@@ -228,13 +229,13 @@ BASE_TARGET_EXPORTS = \
 	$(BASE_EXPORTS) \
 	AR="$(AR_FOR_TARGET)"; export AR; \
 	AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
-	CC="$(CC_FOR_TARGET)"; export CC; \
-	CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
 	CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
-	CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
-	GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
-	GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
+	GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
 	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
 	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
@@ -250,11 +251,11 @@ BASE_TARGET_EXPORTS = \
 RAW_CXX_TARGET_EXPORTS = \
 	$(BASE_TARGET_EXPORTS) \
 	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
-	CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
+	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
 
 NORMAL_TARGET_EXPORTS = \
 	$(BASE_TARGET_EXPORTS) \
-	CXX="$(CXX_FOR_TARGET)"; export CXX;
+	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
 
 # Where to find GMP
 HOST_GMPLIBS = @gmplibs@
@@ -354,48 +355,90 @@ LIBCFLAGS = $(CFLAGS)
 CXXFLAGS = @CXXFLAGS@
 LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
 
+TFLAGS =
+
+# Defaults for all stages; some are overridden below.
+
+STAGE_CFLAGS = $(BOOT_CFLAGS)
+STAGE_TFLAGS = $(TFLAGS)
+STAGE_CONFIGURE_FLAGS=@stage2_werror_flag@
+
+
+# Defaults for stage 1; some are overridden below.
+STAGE1_CFLAGS = $(STAGE_CFLAGS)
+STAGE1_TFLAGS = $(STAGE_TFLAGS)
+STAGE1_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+# Defaults for stage 2; some are overridden below.
+STAGE2_CFLAGS = $(STAGE_CFLAGS)
+STAGE2_TFLAGS = $(STAGE_TFLAGS)
+STAGE2_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+# Defaults for stage 3; some are overridden below.
+STAGE3_CFLAGS = $(STAGE_CFLAGS)
+STAGE3_TFLAGS = $(STAGE_TFLAGS)
+STAGE3_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+# Defaults for stage 4; some are overridden below.
+STAGE4_CFLAGS = $(STAGE_CFLAGS)
+STAGE4_TFLAGS = $(STAGE_TFLAGS)
+STAGE4_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+# Defaults for stage profile; some are overridden below.
+STAGEprofile_CFLAGS = $(STAGE_CFLAGS)
+STAGEprofile_TFLAGS = $(STAGE_TFLAGS)
+STAGEprofile_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+# Defaults for stage feedback; some are overridden below.
+STAGEfeedback_CFLAGS = $(STAGE_CFLAGS)
+STAGEfeedback_TFLAGS = $(STAGE_TFLAGS)
+STAGEfeedback_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+
 # Only build the C compiler for stage1, because that is the only one that
 # we can guarantee will build with the native compiler, and also it is the
 # only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
 # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
 # overrideable (for a bootstrap build stage1 also builds gcc.info).
 
+STAGE1_CFLAGS = @stage1_cflags@
 STAGE1_CHECKING=@stage1_checking@
 STAGE1_LANGUAGES=@stage1_languages@
+# * We force-disable intermodule optimizations, even if
+#   --enable-intermodule was passed, since the installed compiler
+#   probably can't handle them.  Luckily, autoconf always respects
+#   the last argument when conflicting --enable arguments are passed.
+# * Likewise, we force-disable coverage flags, since the installed
+#   compiler probably has never heard of them.
+STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
+	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
 
-STAGE1_CFLAGS=@stage1_cflags@
-STAGE2_CFLAGS=$(BOOT_CFLAGS)
-STAGE3_CFLAGS=$(BOOT_CFLAGS)
-STAGE4_CFLAGS=$(BOOT_CFLAGS)
+STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
+STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
 
-STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
-STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
-STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
-STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
+STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use
+STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS)
 
 do-compare = @do_compare@
 do-compare3 = $(do-compare)
-do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
 
 # -----------------------------------------------
 # Programs producing files for the TARGET machine
 # -----------------------------------------------
 
-FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
-
 AR_FOR_TARGET=@AR_FOR_TARGET@
 AS_FOR_TARGET=@AS_FOR_TARGET@
-CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@
 
 # If GCC_FOR_TARGET is not overriden on the command line, then this
 # variable is passed down to the gcc Makefile, where it is used to
 # build libgcc2.a.  We define it here so that it can itself be
 # overridden on the command line.
-GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
-CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
-RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
-GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
-GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@
+CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
+RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
+GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
+GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
 DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
 LD_FOR_TARGET=@LD_FOR_TARGET@
 
@@ -413,13 +456,17 @@ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
 
 CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
 CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
-SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
-DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
 
 LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
 LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
 LDFLAGS_FOR_TARGET = 
 
+FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
+SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
+
+XGCC_FLAGS_FOR_TARGET = $(FLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
+
 # ------------------------------------
 # Miscellaneous targets and flag lists
 # ------------------------------------
@@ -554,12 +601,8 @@ BASE_FLAGS_TO_PASS = \
 	"LDFLAGS=$(LDFLAGS)" \
 	"LIBCFLAGS=$(LIBCFLAGS)" \
 	"LIBCXXFLAGS=$(LIBCXXFLAGS)" \
-	"STAGE1_CFLAGS=$(STAGE1_CFLAGS)" \
 	"STAGE1_CHECKING=$(STAGE1_CHECKING)" \
 	"STAGE1_LANGUAGES=$(STAGE1_LANGUAGES)" \
-	"STAGE2_CFLAGS=$(STAGE2_CFLAGS)" \
-	"STAGE3_CFLAGS=$(STAGE3_CFLAGS)" \
-	"STAGE4_CFLAGS=$(STAGE4_CFLAGS)" \
 	"GNATBIND=$(GNATBIND)" \
 	"GNATMAKE=$(GNATMAKE)" \
 	"AR_FOR_TARGET=$(AR_FOR_TARGET)" \
@@ -570,6 +613,7 @@ BASE_FLAGS_TO_PASS = \
 	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
 	"CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
 	"DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
+	"FLAGS_FOR_TARGET=$(FLAGS_FOR_TARGET)" \
 	"GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
 	"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
 	"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
@@ -583,8 +627,22 @@ BASE_FLAGS_TO_PASS = \
 	"STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \
 	"WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
 	"WINDMC_FOR_TARGET=$(WINDMC_FOR_TARGET)" \
+	"BUILD_CONFIG=$(BUILD_CONFIG)" \
 	"`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
 	"LEAN=$(LEAN)" \
+	"STAGE1_CFLAGS=$(STAGE1_CFLAGS)" \
+	"STAGE1_TFLAGS=$(STAGE1_TFLAGS)" \
+	"STAGE2_CFLAGS=$(STAGE2_CFLAGS)" \
+	"STAGE2_TFLAGS=$(STAGE2_TFLAGS)" \
+	"STAGE3_CFLAGS=$(STAGE3_CFLAGS)" \
+	"STAGE3_TFLAGS=$(STAGE3_TFLAGS)" \
+	"STAGE4_CFLAGS=$(STAGE4_CFLAGS)" \
+	"STAGE4_TFLAGS=$(STAGE4_TFLAGS)" \
+	"STAGEprofile_CFLAGS=$(STAGEprofile_CFLAGS)" \
+	"STAGEprofile_TFLAGS=$(STAGEprofile_TFLAGS)" \
+	"STAGEfeedback_CFLAGS=$(STAGEfeedback_CFLAGS)" \
+	"STAGEfeedback_TFLAGS=$(STAGEfeedback_TFLAGS)" \
+	"TFLAGS=$(TFLAGS)" \
 	"CONFIG_SHELL=$(SHELL)" \
 	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
 
@@ -599,6 +657,8 @@ EXTRA_HOST_FLAGS = \
 	'CC=$(CC)' \
 	'CXX=$(CXX)' \
 	'DLLTOOL=$(DLLTOOL)' \
+	'GCJ=$(GCJ)' \
+	'GFORTRAN=$(GFORTRAN)' \
 	'LD=$(LD)' \
 	'LIPO=$(LIPO)' \
 	'NM=$(NM)' \
@@ -637,20 +697,24 @@ POSTSTAGE1_FLAGS_TO_PASS = \
 EXTRA_TARGET_FLAGS = \
 	'AR=$$(AR_FOR_TARGET)' \
 	'AS=$(COMPILER_AS_FOR_TARGET)' \
-	'CC=$$(CC_FOR_TARGET)' \
-	'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
-	'CXX=$$(CXX_FOR_TARGET)' \
-	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+	'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
+	'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
 	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+	'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+	'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
 	'LD=$(COMPILER_LD_FOR_TARGET)' \
 	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
-	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
-	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
 	'NM=$(COMPILER_NM_FOR_TARGET)' \
 	'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
 	'RANLIB=$$(RANLIB_FOR_TARGET)' \
 	'WINDRES=$$(WINDRES_FOR_TARGET)' \
-	'WINDMC=$$(WINDMC_FOR_TARGET)'
+	'WINDMC=$$(WINDMC_FOR_TARGET)' \
+	'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
+	"TFLAGS=$$TFLAGS"
 
 TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
 
@@ -670,6 +734,13 @@ EXTRA_GCC_FLAGS = \
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
 
+@if gcc
+BUILD_CONFIG =
+ifneq ($(BUILD_CONFIG),)
+include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk)
+endif
+@endif gcc
+
 .PHONY: configure-host
 configure-host:  \
     maybe-configure-ash \
@@ -782,11 +853,17 @@ all:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	if [ -f stage_last ]; then \
+@if gcc-bootstrap
+	if [ -f stage_last ]; then : ; \
+	  TFLAGS="$(STAGE$(shell sed s,^stage,, stage_last)_TFLAGS)"; \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
 	else \
+@endif gcc-bootstrap
 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
-	fi
+@if gcc-bootstrap
+	fi; \
+@endif gcc-bootstrap
+	:
 
 .PHONY: all-build
 
@@ -4945,10 +5022,12 @@ configure-stage1-bfd:
 	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
 	test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
-	$(HOST_EXPORTS)  \
+	$(HOST_EXPORTS) \
 	CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
-	CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+	CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS; \
 	echo Configuring stage 1 in $(HOST_SUBDIR)/bfd ; \
 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
 	cd $(HOST_SUBDIR)/bfd || exit 1; \
@@ -4962,8 +5041,7 @@ configure-stage1-bfd:
 	$(SHELL) $${libsrcdir}/configure \
 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
 	  --target=${target_alias} $${srcdiroption} \
-	   \
-	  --disable-intermodule $(STAGE1_CHECKING) 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+	  $(STAGE1_CONFIGURE_FLAGS)
 @endif bfd-bootstrap
 
 .PHONY: configure-stage2-bfd maybe-configure-stage2-bfd
@@ -4975,11 +5053,13 @@ configure-stage2-bfd:
 	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
 	test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [SCM]  master: gdb/
@ 2009-05-23 17:03 jkratoch
  0 siblings, 0 replies; 6+ messages in thread
From: jkratoch @ 2009-05-23 17:03 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  e1e21f169b161d369fd4e7efdbc0cfd8ef400a3c (commit)
       via  d2c669a64ec325aebcade83e85e1a7af28091337 (commit)
      from  250b445357c8d40756709cc97bf55b2ac55d8893 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit e1e21f169b161d369fd4e7efdbc0cfd8ef400a3c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat May 23 16:17:12 2009 +0000

    gdb/
    	Replace the savestring calls by xstrdup calls where possible.
    	* breakpoint.c (condition_command, set_raw_breakpoint)
    	(create_catchpoint, update_breakpoint_locations): Replace the
    	savestring calls by xstrdup calls where possible.
    	* buildsym.c (start_subfile, patch_subfile_names, record_debugformat)
    	(record_producer): Likewise.
    	* coffread.c (coff_start_symtab, complete_symtab): Likewise.
    	* corefile.c (set_gnutarget): Likewise.
    	* dbxread.c (add_new_header_file): Likewise.
    	* demangle.c (set_demangling_command, set_demangling_style): Likewise.
    	* event-top.c (push_prompt, pop_prompt, command_line_handler)
    	(set_async_prompt): Likewise.
    	* infcmd.c (set_inferior_io_terminal, attach_command_post_wait):
    	Likewise.
    	* language.c (set_language_command, _initialize_language): Likewise.
    	* linespec.c (decode_line_2): Likewise.
    	* rs6000-nat.c (add_vmap): Likewise.
    	* top.c (set_prompt, init_history, init_main): Likewise.
    	* tracepoint.c (stringify_collection_list): Likewise.
    	* varobj.c (varobj_create): Remove variable expr_len.  Replace the
    	savestring calls by xstrdup calls where possible.
    	(value_of_root, c_name_of_variable, c_describe_child): Replace the
    	savestring calls by xstrdup calls where possible.
    	* xcoffread.c (complete_symtab): Likewise.
    	* cli/cli-script.c (build_command_line, define_command): Likewise.
    	* cli/cli-setshow.c (do_setshow_command): Likewise.

commit d2c669a64ec325aebcade83e85e1a7af28091337
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat May 23 15:34:34 2009 +0000

    gdb/
    	Remove already unreachable code.
    	* varobj.c (varobj_get_handle): Fix comment when error is called.
    	All callers updated.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog         |   35 +++++++++++++++++++++++++++++++++++
 gdb/breakpoint.c      |   12 ++++--------
 gdb/buildsym.c        |   11 +++++------
 gdb/cli/cli-script.c  |    6 +++---
 gdb/cli/cli-setshow.c |    4 ++--
 gdb/coffread.c        |    4 ++--
 gdb/corefile.c        |    2 +-
 gdb/dbxread.c         |    2 +-
 gdb/demangle.c        |    9 +++------
 gdb/event-top.c       |   17 ++++++++---------
 gdb/infcmd.c          |    4 ++--
 gdb/language.c        |   10 +++++-----
 gdb/linespec.c        |    4 ++--
 gdb/mi/mi-cmd-var.c   |   28 ----------------------------
 gdb/rs6000-nat.c      |    4 ++--
 gdb/top.c             |   10 +++++-----
 gdb/tracepoint.c      |    2 +-
 gdb/varobj.c          |   22 ++++++++--------------
 gdb/xcoffread.c       |    4 ++--
 19 files changed, 91 insertions(+), 99 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index cebb2a2..bcc9ab1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,38 @@
+2009-05-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Replace the savestring calls by xstrdup calls where possible.
+	* breakpoint.c (condition_command, set_raw_breakpoint)
+	(create_catchpoint, update_breakpoint_locations): Replace the
+	savestring calls by xstrdup calls where possible.
+	* buildsym.c (start_subfile, patch_subfile_names, record_debugformat)
+	(record_producer): Likewise.
+	* coffread.c (coff_start_symtab, complete_symtab): Likewise.
+	* corefile.c (set_gnutarget): Likewise.
+	* dbxread.c (add_new_header_file): Likewise.
+	* demangle.c (set_demangling_command, set_demangling_style): Likewise.
+	* event-top.c (push_prompt, pop_prompt, command_line_handler)
+	(set_async_prompt): Likewise.
+	* infcmd.c (set_inferior_io_terminal, attach_command_post_wait):
+	Likewise.
+	* language.c (set_language_command, _initialize_language): Likewise.
+	* linespec.c (decode_line_2): Likewise.
+	* rs6000-nat.c (add_vmap): Likewise.
+	* top.c (set_prompt, init_history, init_main): Likewise.
+	* tracepoint.c (stringify_collection_list): Likewise.
+	* varobj.c (varobj_create): Remove variable expr_len.  Replace the 
+	savestring calls by xstrdup calls where possible.
+	(value_of_root, c_name_of_variable, c_describe_child): Replace the
+	savestring calls by xstrdup calls where possible.
+	* xcoffread.c (complete_symtab): Likewise.
+	* cli/cli-script.c (build_command_line, define_command): Likewise.
+	* cli/cli-setshow.c (do_setshow_command): Likewise.
+
+2009-05-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Remove already unreachable code.
+	* varobj.c (varobj_get_handle): Fix comment when error is called.
+	All callers updated.
+
 2009-05-23  Eli Zaretskii  <eliz@gnu.org>
 
 	* README (`configure' options): Document GDB-specific options to
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index e36429d..b5362e2 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -597,7 +597,7 @@ condition_command (char *arg, int from_tty)
 	    arg = p;
 	    /* I don't know if it matters whether this is the string the user
 	       typed in or the decompiled expression.  */
-	    b->cond_string = savestring (arg, strlen (arg));
+	    b->cond_string = xstrdup (arg);
 	    b->condition_not_parsed = 0;
 	    for (loc = b->loc; loc; loc = loc->next)
 	      {
@@ -4394,8 +4394,7 @@ set_raw_breakpoint (struct symtab_and_line sal, enum bptype bptype)
   if (sal.symtab == NULL)
     b->source_file = NULL;
   else
-    b->source_file = savestring (sal.symtab->filename,
-				 strlen (sal.symtab->filename));
+    b->source_file = xstrdup (sal.symtab->filename);
   b->loc->section = sal.section;
   b->line_number = sal.line;
 
@@ -4816,8 +4815,7 @@ create_catchpoint (int tempflag, char *cond_string,
   set_breakpoint_count (breakpoint_count + 1);
   b->number = breakpoint_count;
 
-  b->cond_string = (cond_string == NULL) ? 
-    NULL : savestring (cond_string, strlen (cond_string));
+  b->cond_string = (cond_string == NULL) ? NULL : xstrdup (cond_string);
   b->thread = -1;
   b->addr_string = NULL;
   b->enable_state = bp_enabled;
@@ -7490,9 +7488,7 @@ update_breakpoint_locations (struct breakpoint *b,
       if (sals.sals[i].symtab == NULL)
 	b->source_file = NULL;
       else
-	b->source_file =
-	  savestring (sals.sals[i].symtab->filename,
-		      strlen (sals.sals[i].symtab->filename));
+	b->source_file = xstrdup (sals.sals[i].symtab->filename);
 
       if (b->line_number == 0)
 	b->line_number = sals.sals[i].line;
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 6de817f..e0d8f0d 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -561,9 +561,8 @@ start_subfile (char *name, char *dirname)
   current_subfile = subfile;
 
   /* Save its name and compilation directory name */
-  subfile->name = (name == NULL) ? NULL : savestring (name, strlen (name));
-  subfile->dirname =
-    (dirname == NULL) ? NULL : savestring (dirname, strlen (dirname));
+  subfile->name = (name == NULL) ? NULL : xstrdup (name);
+  subfile->dirname = (dirname == NULL) ? NULL : xstrdup (dirname);
 
   /* Initialize line-number recording for this subfile.  */
   subfile->line_vector = NULL;
@@ -638,7 +637,7 @@ patch_subfile_names (struct subfile *subfile, char *name)
       && subfile->name[strlen (subfile->name) - 1] == '/')
     {
       subfile->dirname = subfile->name;
-      subfile->name = savestring (name, strlen (name));
+      subfile->name = xstrdup (name);
       last_source_file = name;
 
       /* Default the source language to whatever can be deduced from
@@ -1260,7 +1259,7 @@ hashname (char *name)
 void
 record_debugformat (char *format)
 {
-  current_subfile->debugformat = savestring (format, strlen (format));
+  current_subfile->debugformat = xstrdup (format);
 }
 
 void
@@ -1271,7 +1270,7 @@ record_producer (const char *producer)
   if (producer == NULL)
     return;
 
-  current_subfile->producer = savestring (producer, strlen (producer));
+  current_subfile->producer = xstrdup (producer);
 }
 
 /* Merge the first symbol list SRCLIST into the second symbol list
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index d17e67a..054ce90 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -94,7 +94,7 @@ build_command_line (enum command_control_type type, char *args)
     = (struct command_line **) xmalloc (sizeof (struct command_line *)
 					* cmd->body_count);
   memset (cmd->body_list, 0, sizeof (struct command_line *) * cmd->body_count);
-  cmd->line = savestring (args, strlen (args));
+  cmd->line = xstrdup (args);
 
   return cmd;
 }
@@ -1384,7 +1384,7 @@ define_command (char *comname, int from_tty)
 	}
     }
 
-  comname = savestring (comname, strlen (comname));
+  comname = xstrdup (comname);
 
   /* If the rest of the commands will be case insensitive, this one
      should behave in the same manner. */
@@ -1400,7 +1400,7 @@ define_command (char *comname, int from_tty)
 
   newc = add_cmd (comname, class_user, user_defined_command,
 		  (c && c->class == class_user)
-		  ? c->doc : savestring ("User-defined.", 13), list);
+		  ? c->doc : xstrdup ("User-defined."), list);
   newc->user_commands = cmds;
 
   /* If this new command is a hook, then mark both commands as being
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
index 206a55d..851f042 100644
--- a/gdb/cli/cli-setshow.c
+++ b/gdb/cli/cli-setshow.c
@@ -177,14 +177,14 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c)
 	    arg = "";
 	  if (*(char **) c->var != NULL)
 	    xfree (*(char **) c->var);
-	  *(char **) c->var = savestring (arg, strlen (arg));
+	  *(char **) c->var = xstrdup (arg);
 	  break;
 	case var_optional_filename:
 	  if (arg == NULL)
 	    arg = "";
 	  if (*(char **) c->var != NULL)
 	    xfree (*(char **) c->var);
-	  *(char **) c->var = savestring (arg, strlen (arg));
+	  *(char **) c->var = xstrdup (arg);
 	  break;
 	case var_filename:
 	  if (arg == NULL)
diff --git a/gdb/coffread.c b/gdb/coffread.c
index 30b7726..1e5cb56 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -364,7 +364,7 @@ coff_start_symtab (char *name)
      this pointer into last_source_file and we put it in
      subfiles->name, which end_symtab frees; that's why
      it must be malloc'd.  */
-		 savestring (name, strlen (name)),
+		 xstrdup (name),
   /* We never know the directory name for COFF.  */
 		 NULL,
   /* The start address is irrelevant, since we set
@@ -383,7 +383,7 @@ complete_symtab (char *name, CORE_ADDR start_addr, unsigned int size)
 {
   if (last_source_file != NULL)
     xfree (last_source_file);
-  last_source_file = savestring (name, strlen (name));
+  last_source_file = xstrdup (name);
   current_source_start_addr = start_addr;
   current_source_end_addr = start_addr + size;
 }
diff --git a/gdb/corefile.c b/gdb/corefile.c
index e667183..e74630b 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -399,7 +399,7 @@ set_gnutarget (char *newtarget)
 {
   if (gnutarget_string != NULL)
     xfree (gnutarget_string);
-  gnutarget_string = savestring (newtarget, strlen (newtarget));
+  gnutarget_string = xstrdup (newtarget);
   set_gnutarget_command (NULL, 0, NULL);
 }
 
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index be73769..33a2104 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -395,7 +395,7 @@ add_new_header_file (char *name, int instance)
 
   i = N_HEADER_FILES (current_objfile)++;
   hfile = HEADER_FILES (current_objfile) + i;
-  hfile->name = savestring (name, strlen (name));
+  hfile->name = xstrdup (name);
   hfile->instance = instance;
   hfile->length = 10;
   hfile->vector
diff --git a/gdb/demangle.c b/gdb/demangle.c
index 4a39ad9..b5ccf87 100644
--- a/gdb/demangle.c
+++ b/gdb/demangle.c
@@ -125,8 +125,7 @@ set_demangling_command (char *ignore, int from_tty, struct cmd_list_element *c)
 	    {
 	      xfree (current_demangling_style_string);
 	      current_demangling_style_string =
-		savestring (dem->demangling_style_name,
-			    strlen (dem->demangling_style_name));
+		xstrdup (dem->demangling_style_name);
 	    }
 	}
       if (current_demangling_style == unknown_demangling)
@@ -136,9 +135,7 @@ set_demangling_command (char *ignore, int from_tty, struct cmd_list_element *c)
 	     one as the default. */
 	  current_demangling_style = libiberty_demanglers[0].demangling_style;
 	  current_demangling_style_string =
-	    savestring (
-              libiberty_demanglers[0].demangling_style_name,
-	      strlen (libiberty_demanglers[0].demangling_style_name));
+	    xstrdup (libiberty_demanglers[0].demangling_style_name);
 	  warning (_("`%s' style demangling chosen as the default."),
 		   current_demangling_style_string);
 	}
@@ -154,7 +151,7 @@ set_demangling_style (char *style)
     {
       xfree (current_demangling_style_string);
     }
-  current_demangling_style_string = savestring (style, strlen (style));
+  current_demangling_style_string = xstrdup (style);
   set_demangling_command ((char *) NULL, 0, (struct cmd_list_element *) NULL);
 }
 
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 31ebd4e..790cebf 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -372,22 +372,22 @@ change_annotation_level (void)
 /* Pushes a new prompt on the prompt stack. Each prompt has three
    parts: prefix, prompt, suffix. Usually prefix and suffix are empty
    strings, except when the annotation level is 2. Memory is allocated
-   within savestring for the new prompt. */
+   within xstrdup for the new prompt. */
 void
 push_prompt (char *prefix, char *prompt, char *suffix)
 {
   the_prompts.top++;
-  PREFIX (0) = savestring (prefix, strlen (prefix));
+  PREFIX (0) = xstrdup (prefix);
 
   /* Note that this function is used by the set annotate 2
      command. This is why we take care of saving the old prompt
      in case a new one is not specified. */
   if (prompt)
-    PROMPT (0) = savestring (prompt, strlen (prompt));
+    PROMPT (0) = xstrdup (prompt);
   else
-    PROMPT (0) = savestring (PROMPT (-1), strlen (PROMPT (-1)));
+    PROMPT (0) = xstrdup (PROMPT (-1));
 
-  SUFFIX (0) = savestring (suffix, strlen (suffix));
+  SUFFIX (0) = xstrdup (suffix);
 }
 
 /* Pops the top of the prompt stack, and frees the memory allocated for it. */
@@ -404,7 +404,7 @@ pop_prompt (void)
     if (strcmp (PROMPT (0), PROMPT (-1)))
       {
 	xfree (PROMPT (-1));
-	PROMPT (-1) = savestring (PROMPT (0), strlen (PROMPT (0)));
+	PROMPT (-1) = xstrdup (PROMPT (0));
       }
 
   xfree (PREFIX (0));
@@ -624,8 +624,7 @@ command_line_handler (char *rl)
     {
       p--;			/* Put on top of '\'.  */
 
-      readline_input_state.linebuffer = savestring (linebuffer,
-						    strlen (linebuffer));
+      readline_input_state.linebuffer = xstrdup (linebuffer);
       readline_input_state.linebuffer_ptr = p;
 
       /* We will not invoke a execute_command if there is more
@@ -1063,7 +1062,7 @@ set_async_annotation_level (char *args, int from_tty, struct cmd_list_element *c
 void
 set_async_prompt (char *args, int from_tty, struct cmd_list_element *c)
 {
-  PROMPT (0) = savestring (new_async_prompt, strlen (new_async_prompt));
+  PROMPT (0) = xstrdup (new_async_prompt);
 }
 
 /* Set things up for readline to be invoked via the alternate
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 433b0b8..0ad1170 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -178,7 +178,7 @@ set_inferior_io_terminal (const char *terminal_name)
   if (!terminal_name)
     inferior_io_terminal = NULL;
   else
-    inferior_io_terminal = savestring (terminal_name, strlen (terminal_name));
+    inferior_io_terminal = xstrdup (terminal_name);
 }
 
 const char *
@@ -2154,7 +2154,7 @@ attach_command_post_wait (char *args, int from_tty, int async_exec)
 	     filename.  Not much more we can do...)
 	   */
 	  if (!source_full_path_of (exec_file, &full_exec_path))
-	    full_exec_path = savestring (exec_file, strlen (exec_file));
+	    full_exec_path = xstrdup (exec_file);
 
 	  exec_file_attach (full_exec_path, from_tty);
 	  symbol_file_add_main (full_exec_path, from_tty);
diff --git a/gdb/language.c b/gdb/language.c
index 6209d7f..62eeb62 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -215,7 +215,7 @@ local or auto    Automatic setting based on source file\n"));
 
   /* Reset the language (esp. the global string "language") to the 
      correct values. */
-  err_lang = savestring (language, strlen (language));
+  err_lang = xstrdup (language);
   make_cleanup (xfree, err_lang);	/* Free it after error */
   set_language (current_language->la_language);
   error (_("Unknown language `%s'."), err_lang);
@@ -1401,10 +1401,10 @@ For Fortran the default is off; for other languages the default is on."),
   add_language (&local_language_defn);
   add_language (&auto_language_defn);
 
-  language = savestring ("auto", strlen ("auto"));
-  type = savestring ("auto", strlen ("auto"));
-  range = savestring ("auto", strlen ("auto"));
-  case_sensitive = savestring ("auto",strlen ("auto"));
+  language = xstrdup ("auto");
+  type = xstrdup ("auto");
+  range = xstrdup ("auto");
+  case_sensitive = xstrdup ("auto");
 
   /* Have the above take effect */
   set_language (language_auto);
diff --git a/gdb/linespec.c b/gdb/linespec.c
index 6579d42..e2018e6 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -587,7 +587,7 @@ See set/show multiple-symbol."));
 		  if (canonical_arr[i] == NULL)
 		    {
 		      symname = SYMBOL_LINKAGE_NAME (sym_arr[i]);
-		      canonical_arr[i] = savestring (symname, strlen (symname));
+		      canonical_arr[i] = xstrdup (symname);
 		    }
 		}
 	    }
@@ -611,7 +611,7 @@ See set/show multiple-symbol."));
 		{
 		  symname = SYMBOL_LINKAGE_NAME (sym_arr[num]);
 		  make_cleanup (xfree, symname);
-		  canonical_arr[i] = savestring (symname, strlen (symname));
+		  canonical_arr[i] = xstrdup (symname);
 		}
 	      return_values.sals[i++] = values.sals[num];
 	      values.sals[num].pc = 0;
diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c
index 143074b..9de8d3d 100644
--- a/gdb/mi/mi-cmd-var.c
+++ b/gdb/mi/mi-cmd-var.c
@@ -185,9 +185,6 @@ mi_cmd_var_delete (char *command, char **argv, int argc)
 
   var = varobj_get_handle (name);
 
-  if (var == NULL)
-    error (_("mi_cmd_var_delete: Variable object not found."));
-
   numdel = varobj_delete (var, NULL, children_only_p);
 
   ui_out_field_int (uiout, "ndeleted", numdel);
@@ -233,9 +230,6 @@ mi_cmd_var_set_format (char *command, char **argv, int argc)
   /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[0]);
 
-  if (var == NULL)
-    error (_("mi_cmd_var_set_format: Variable object not found"));
-
   format = mi_parse_format (argv[1]);
   
   /* Set the format of VAR to given format */
@@ -258,8 +252,6 @@ mi_cmd_var_set_frozen (char *command, char **argv, int argc)
     error (_("-var-set-format: Usage: NAME FROZEN_FLAG."));
 
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("Variable object not found"));
 
   if (strcmp (argv[1], "0") == 0)
     frozen = 0;
@@ -287,8 +279,6 @@ mi_cmd_var_show_format (char *command, char **argv, int argc)
 
   /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("mi_cmd_var_show_format: Variable object not found"));
 
   format = varobj_get_display_format (var);
 
@@ -306,8 +296,6 @@ mi_cmd_var_info_num_children (char *command, char **argv, int argc)
 
   /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("mi_cmd_var_info_num_children: Variable object not found"));
 
   ui_out_field_int (uiout, "numchild", varobj_get_num_children (var));
 }
@@ -378,8 +366,6 @@ mi_cmd_var_list_children (char *command, char **argv, int argc)
     var = varobj_get_handle (argv[0]);
   else
     var = varobj_get_handle (argv[1]);
-  if (var == NULL)
-    error (_("Variable object not found"));
 
   children = varobj_list_children (var);
   ui_out_field_int (uiout, "numchild", VEC_length (varobj_p, children));
@@ -415,8 +401,6 @@ mi_cmd_var_info_type (char *command, char **argv, int argc)
 
   /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("mi_cmd_var_info_type: Variable object not found"));
 
   ui_out_field_string (uiout, "type", varobj_get_type (var));
 }
@@ -432,8 +416,6 @@ mi_cmd_var_info_path_expression (char *command, char **argv, int argc)
 
   /* Get varobj handle, if a valid var obj name was specified.  */
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("Variable object not found"));
   
   path_expr = varobj_get_path_expr (var);
 
@@ -451,8 +433,6 @@ mi_cmd_var_info_expression (char *command, char **argv, int argc)
 
   /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("mi_cmd_var_info_expression: Variable object not found"));
 
   lang = varobj_get_language (var);
 
@@ -472,8 +452,6 @@ mi_cmd_var_show_attributes (char *command, char **argv, int argc)
 
   /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[0]);
-  if (var == NULL)
-    error (_("mi_cmd_var_show_attributes: Variable object not found"));
 
   attr = varobj_get_attributes (var);
   /* FIXME: define masks for attributes */
@@ -534,8 +512,6 @@ mi_cmd_var_evaluate_expression (char *command, char **argv, int argc)
  
      /* Get varobj handle, if a valid var obj name was specified */
   var = varobj_get_handle (argv[optind]);
-  if (var == NULL)
-    error (_("Variable object not found"));
    
   if (formatFound)


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [SCM]  master: gdb/
@ 2009-05-21 13:07 jkratoch
  0 siblings, 0 replies; 6+ messages in thread
From: jkratoch @ 2009-05-21 13:07 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  ae99b1aeacac6092637f79bd2b94203b4d9a643a (commit)
       via  1af6f7fa77d6d585672078c2cdb2facdd7b88850 (commit)
       via  1f62e2ab3d8de09e380920b11ecaf1367a650ecc (commit)
       via  f3a7ff83e7d1301691a20652ca0acd2c6446ee62 (commit)
       via  700517c0ddb4006f11c44c0a82c5d5ba214c2044 (commit)
       via  4a3198b487dfe3e38bafe7f52ed6388f437f953d (commit)
       via  d4fb3afab3c4e10b939080ec76953ebaf47e0471 (commit)
       via  41ec42464d365efefc5358cd59b11bdfd0ec47e4 (commit)
       via  8a9863f0814cbe0bcc1bbdd2af1e79267e3ca76c (commit)
       via  8808f1266dc9cf2ebf73fa582302aa0eb61a695f (commit)
       via  12a0f7ecf01b00e6f3e06da650745e5786e51de4 (commit)
      from  cd68314a88e272a6ad194a03b6ffd0b407233f4e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit ae99b1aeacac6092637f79bd2b94203b4d9a643a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu May 21 07:57:45 2009 +0000

    gdb/
    	* dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99.

commit 1af6f7fa77d6d585672078c2cdb2facdd7b88850
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu May 21 07:15:44 2009 +0000

    gdb/
    	Fix parsing DW_AT_const_value using DW_FORM_string.
    	* dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
    
    gdb/testsuite/
    	* gdb.dwarf2/dw2-strp.exp (p a_string2, ptype a_string2): New.
    	* gdb.dwarf2/dw2-strp.S (a_string2): New.

commit 1f62e2ab3d8de09e380920b11ecaf1367a650ecc
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu May 21 00:00:05 2009 +0000

    daily update

commit f3a7ff83e7d1301691a20652ca0acd2c6446ee62
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu May 21 00:00:03 2009 +0000

    *** empty log message ***

commit 700517c0ddb4006f11c44c0a82c5d5ba214c2044
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed May 20 18:21:20 2009 +0000

            * aix-thread.c (giter_count): Do not count the main thread.
            (giter_accum): Do not include the main thread.

commit 4a3198b487dfe3e38bafe7f52ed6388f437f953d
Author: H.J. Lu <hjl@lucon.org>
Date:   Wed May 20 16:03:42 2009 +0000

    Reformat.

commit d4fb3afab3c4e10b939080ec76953ebaf47e0471
Author: Nathan Sidwell <nathan@codesourcery.com>
Date:   Wed May 20 10:42:06 2009 +0000

    fix filename in 2009-01-14  Kai Tietz  <kai.tietz@onevision.com> changelog

commit 41ec42464d365efefc5358cd59b11bdfd0ec47e4
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Wed May 20 00:00:09 2009 +0000

    daily update

commit 8a9863f0814cbe0bcc1bbdd2af1e79267e3ca76c
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Wed May 20 00:00:03 2009 +0000

    *** empty log message ***

commit 8808f1266dc9cf2ebf73fa582302aa0eb61a695f
Author: DJ Delorie <dj@delorie.com>
Date:   Tue May 19 23:35:47 2009 +0000

    * mep-asm.c: Regenerate.
    * mep-opc.c: Regenerate.

commit 12a0f7ecf01b00e6f3e06da650745e5786e51de4
Author: Dave Korn <dave.korn@artimi.com>
Date:   Tue May 19 16:08:02 2009 +0000

    ==> bfd/ChangeLog <==
    2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	* cofflink.c (process_embedded_commands):  Ignore "-aligncomm".
    
    ==> gas/ChangeLog <==
    2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	* NEWS:  Mention new feature.
    	* config/obj-coff.c (obj_coff_common_parse):  New function.
    	(obj_coff_comm):  Likewise.
    	(coff_pseudo_table):  Override default ".comm" definition on PE.
    	* doc/as.texinfo:  Document new feature.
    
    ==> gas/testsuite/ChangeLog <==
    2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	* gas/pe/:  New directory for PE format-specific tests.
    	* gas/pe/aligncomm-a.d:  New test pattern file.
    	* gas/pe/aligncomm-a.s:  New test source file.
    	* gas/pe/aligncomm-b.d:  New test pattern file.
    	* gas/pe/aligncomm-b.s:  New test source file.
    	* gas/pe/aligncomm-c.d:  New test pattern file.
    	* gas/pe/aligncomm-c.s:  New test source file.
    	* gas/pe/aligncomm-d.d:  New test pattern file.
    	* gas/pe/aligncomm-d.s:  New test source file.
    	* gas/pe/pe.exp:  New test control script.
    	* lib/gas-defs.exp (is_pecoff_format):  New function.
    
    ==> ld/ChangeLog <==
    2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	* NEWS:  Mention new feature.
    	* deffile.h (def_file_aligncomm):  Add new struct definition.
    	(def_file):  Add new def_file_aligncomm member.
    	* deffilep.y (%token):  Add new ALIGNCOMM token.
    	(command):  Add production rule for ALIGNCOMM.
    	(def_file_free):  Free any chained def_file_aligncomm structs.
    	(diropts[]):  Add entry for '-aligncomm' .drectve command.
    	(def_aligncomm):  New grammar function.
    	* ld.texinfo:  Document new feature.
    	* pe-dll.c (process_def_file):  Rename from this ...
    	(process_def_file_and_drectve):  ... to this, updating all callers,
    	and process any aligncomms chained to the def file after scanning
    	all .drectve sections.
    	(generate_edata):  Updated to match.
    	(pe_dll_build_sections):  Likewise.
    
    ==> ld/testsuite/ChangeLog <==
    2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	* ld-pe/aligncomm-1.c:  New test source file.
    	* ld-pe/aligncomm-2.c:  Likewise.
    	* ld-pe/aligncomm-3.c:  Likewise.
    	* ld-pe/aligncomm-4.c:  Likewise.
    	* ld-pe/aligncomm.d:  New test pattern file.
    
    	* ld-pe/direct.exp:  Deleted, and content moved into ...
    	* ld-pe/pe-run.exp:  ... New common file for all PE run tests.
    
    	* ld-pe/vers-script.exp:  Deleted, and content merged into ...
    	* ld-pe/pe-compile.exp:  ... New common file for PE tests needing
    	a compiler, adding aligned common tests.
    
    	* ld-pe/pe.exp:  Update header comment.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                         |    6 +++++-
 bfd/cofflink.c                        |    9 +++++++++
 bfd/version.h                         |    2 +-
 gdb/ChangeLog                         |   16 +++++++++++++++-
 gdb/aix-thread.c                      |   24 +++++++++++++++++++-----
 gdb/dwarf2read.c                      |    2 ++
 gdb/testsuite/ChangeLog               |    5 +++++
 gdb/testsuite/gdb.dwarf2/dw2-strp.S   |   28 ++++++++++++++++++++++++----
 gdb/testsuite/gdb.dwarf2/dw2-strp.exp |    5 ++++-
 gdb/version.in                        |    2 +-
 opcodes/ChangeLog                     |    5 +++++
 opcodes/mep-asm.c                     |    2 +-
 opcodes/mep-opc.c                     |    6 +++---
 13 files changed, 94 insertions(+), 18 deletions(-)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index cf4b73f..ffebed1 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
+2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+	* cofflink.c (process_embedded_commands):  Ignore "-aligncomm".
+
 2009-05-15  Andrew Stubbs  <ams@codesourcery.com>
-	Paul Brook  <paul@codesourcery.com>
+	    Paul Brook  <paul@codesourcery.com>
 
 	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to
 	fix discarded sections.
diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index d771168..96870e9 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -1282,6 +1282,15 @@ process_embedded_commands (bfd *output_bfd,
       else if (CONST_STRNEQ (s, "-stack"))
 	s = dores_com (s + 6, output_bfd, 0);
 
+      /* GNU extension for aligned commons.  */
+      else if (CONST_STRNEQ (s, "-aligncomm:"))
+	{
+	  /* Common symbols must be aligned on reading, as it
+	  is too late to do anything here, after they have
+	  already been allocated, so just skip the directive.  */
+	  s += 11;
+	}
+
       else
 	s++;
     }
diff --git a/bfd/version.h b/bfd/version.h
index 0356f37..65c533a 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20090519
+#define BFD_VERSION_DATE 20090521
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index cf44f2a..f858670 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,17 @@
+2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99.
+
+2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix parsing DW_AT_const_value using DW_FORM_string.
+	* dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
+
+2009-05-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* aix-thread.c (giter_count): Do not count the main thread.
+	(giter_accum): Do not include the main thread.
+
 2009-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	Remove the PROT parameter from openp.
@@ -3979,7 +3993,7 @@
 
 2009-01-14  Kai Tietz  <kai.tietz@onevision.com>
 
-	* mingw-ser.c (console_select_thread): Add return to make
+	* ser-mingw.c (console_select_thread): Add return to make
 	compiler happy.
 	(pipe_select_thread): Likewise.
 	(file_select_thread): Likewise.
diff --git a/gdb/aix-thread.c b/gdb/aix-thread.c
index 1eeeadb..35103f5 100644
--- a/gdb/aix-thread.c
+++ b/gdb/aix-thread.c
@@ -570,22 +570,36 @@ pcmp (const void *p1v, const void *p2v)
   return p1->pthid < p2->pthid ? -1 : p1->pthid > p2->pthid;
 }
 
-/* iterate_over_threads() callback for counting GDB threads.  */
+/* iterate_over_threads() callback for counting GDB threads.
+
+   Do not count the main thread (whose tid is zero).  This matches
+   the list of threads provided by the pthreaddebug library, which
+   does not include that main thread either, and thus allows us
+   to compare the two lists.  */
 
 static int
 giter_count (struct thread_info *thread, void *countp)
 {
-  (*(int *) countp)++;
+  if (PD_TID (thread->ptid))
+    (*(int *) countp)++;
   return 0;
 }
 
-/* iterate_over_threads() callback for accumulating GDB thread pids.  */
+/* iterate_over_threads() callback for accumulating GDB thread pids.
+
+   Do not include the main thread (whose tid is zero).  This matches
+   the list of threads provided by the pthreaddebug library, which
+   does not include that main thread either, and thus allows us
+   to compare the two lists.  */
 
 static int
 giter_accum (struct thread_info *thread, void *bufp)
 {
-  **(struct thread_info ***) bufp = thread;
-  (*(struct thread_info ***) bufp)++;
+  if (PD_TID (thread->ptid))
+    {
+      **(struct thread_info ***) bufp = thread;
+      (*(struct thread_info ***) bufp)++;
+    }
   return 0;
 }
 
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 6ddaecd..bcfbb1b 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -6876,6 +6876,7 @@ set_cu_language (unsigned int lang, struct dwarf2_cu *cu)
   switch (lang)
     {
     case DW_LANG_C89:
+    case DW_LANG_C99:
     case DW_LANG_C:
       cu->language = language_c;
       break;
@@ -7957,6 +7958,7 @@ dwarf2_const_value (struct attribute *attr, struct symbol *sym,
 			      DW_ADDR (attr));
       SYMBOL_CLASS (sym) = LOC_CONST_BYTES;
       break;
+    case DW_FORM_string:
     case DW_FORM_strp:
       /* DW_STRING is already allocated on the obstack, point directly
 	 to it.  */
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 70ded08..c65edbe 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.dwarf2/dw2-strp.exp (p a_string2, ptype a_string2): New.
+	* gdb.dwarf2/dw2-strp.S (a_string2): New.
+
 2009-05-18  Jon Beniston <jon@beniston.com>
 
         * gdb.asm/asm-source.exp: Add lm32 target.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-strp.S b/gdb/testsuite/gdb.dwarf2/dw2-strp.S
index 293cc1b..4dbb761 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-strp.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-strp.S
@@ -52,17 +52,23 @@
 	.byte		1			/* DW_AT_byte_size */
 	.byte		6			/* DW_AT_encoding */
 
-	.uleb128	5			/* Abbrev: DW_TAG_variable */
+	.uleb128	5			/* Abbrev: DW_TAG_variable DW_FORM_strp */
 	.4byte		.Lvarname		/* DW_AT_name */
 	.4byte		.Lconst_type-.Lcu1_begin/* DW_AT_type */
 	.4byte		.Lvarcontents		/* DW_AT_const_value */
 	.byte		1			/* DW_AT_external */
 
+	.uleb128	6			/* Abbrev: DW_TAG_variable DW_FORM_string */
+	.string		"a_string2"		/* DW_AT_name */
+	.4byte		.Lconst_type-.Lcu1_begin/* DW_AT_type */
+	.string		"hello world2\n"	/* DW_AT_const_value */
+	.byte		1			/* DW_AT_external */
+
 .Lconst_type:
-	.uleb128	6			/* Abbrev: DW_TAG_const_type */
+	.uleb128	7			/* Abbrev: DW_TAG_const_type */
 	.4byte		.Larray_type-.Lcu1_begin/* DW_AT_type */
 
-	.uleb128	7			/* Abbrev: DW_TAG_variable (name "") */
+	.uleb128	8			/* Abbrev: DW_TAG_variable (name "") */
 	.4byte		.Lemptyname		/* DW_AT_name */
 
 	.byte		0			/* End of children of CU */
@@ -125,6 +131,20 @@
 	.byte		0x0			/* Terminator */
 
 	.uleb128	6			/* Abbrev code */
+	.uleb128	0x34			/* DW_TAG_variable */
+	.byte		0x0			/* no_children */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x49			/* DW_AT_type */
+	.uleb128	0x13			/* DW_FORM_ref4 */
+	.uleb128	0x1c			/* DW_AT_const_value */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x3f			/* DW_AT_external */
+	.uleb128	0xc			/* DW_FORM_flag */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	7			/* Abbrev code */
 	.uleb128	0x26			/* DW_TAG_const_type */
 	.byte		0x0			/* DW_children_no */
 	.uleb128	0x49			/* DW_AT_type */
@@ -132,7 +152,7 @@
 	.byte		0x0			/* Terminator */
 	.byte		0x0			/* Terminator */
 
-	.uleb128	7			/* Abbrev code */
+	.uleb128	8			/* Abbrev code */
 	.uleb128	0x34			/* DW_TAG_variable */
 	.byte		0x0			/* DW_children_no */
 	.uleb128	0x3			/* DW_AT_name */
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-strp.exp b/gdb/testsuite/gdb.dwarf2/dw2-strp.exp
index 2201d30..41620a4 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-strp.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-strp.exp
@@ -48,5 +48,8 @@ gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
 
-gdb_test "p a_string" "\\\$1 = \"hello world!\\\\n\""
+gdb_test "p a_string" " = \"hello world!\\\\n\""
 gdb_test "ptype a_string" "type = char \\\[14\\\]"
+
+gdb_test "p a_string2" " = \"hello world2\\\\n\""
+gdb_test "ptype a_string2" "type = char \\\[14\\\]"
diff --git a/gdb/version.in b/gdb/version.in
index ec10cbd..921f1d8 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-6.8.50.20090519-cvs
+6.8.50.20090521-cvs
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 045f0fd..1c6af47 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-19  DJ Delorie  <dj@redhat.com>
+
+	* mep-asm.c: Regenerate.
+	* mep-opc.c: Regenerate.
+
 2009-04-30  DJ Delorie  <dj@redhat.com>
 
 	* mep-asm.c: Regenerate.
diff --git a/opcodes/mep-asm.c b/opcodes/mep-asm.c
index 1603872..4f92cbd 100644
--- a/opcodes/mep-asm.c
+++ b/opcodes/mep-asm.c
@@ -489,7 +489,7 @@ parse_cdisp10 (CGEN_CPU_DESC cd,
       break;
     }
 
-  if (MEP_CPU == EF_MEP_CPU_C5)
+  if ((MEP_CPU & EF_MEP_CPU_MASK) == EF_MEP_CPU_C5)
     wide = 1;
 
   if (strncmp (*strp, "0x0", 3) == 0 
diff --git a/opcodes/mep-opc.c b/opcodes/mep-opc.c
index 6aa36a5..7bf92b6 100644
--- a/opcodes/mep-opc.c
+++ b/opcodes/mep-opc.c
@@ -91,8 +91,8 @@ mep_insn_supported_by_isa (const CGEN_INSN *insn, CGEN_ATTR_VALUE_BITSET_TYPE *i
 mep_config_map_struct mep_config_map[] =
 {
   /* config-map-start */
-  /* Default entry: mep core only, all options enabled. */
-  { "", 0, EF_MEP_CPU_C5, 1, 0, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x80"}, OPTION_MASK },
+  /* Default entry: first module, with all options enabled. */
+  { "", 0,  EF_MEP_COP_IVC2 | EF_MEP_CPU_C5,1, 0, { 1, "\x20" }, { 1, "\x10" }, { 1, "\x8" }, { 1, "\x4" }, { 1, "\x3c" }, { 1, "\xc0" }, OPTION_MASK | (1 << CGEN_INSN_OPTIONAL_DSP_INSN) | (1 << CGEN_INSN_OPTIONAL_UCI_INSN) },
   { "default", CONFIG_DEFAULT, EF_MEP_COP_IVC2 | EF_MEP_CPU_C5, 0, 64, { 1, "\x20" }, { 1, "\x10" }, { 1, "\x8" }, { 1, "\x4" }, { 1, "\x3c" }, { 1, "\xc0" },
 	  0
 	| (1 << CGEN_INSN_OPTIONAL_CP_INSN)
@@ -117,7 +117,7 @@ check_configured_mach (int machs)
 {
   /* All base insns are supported.  */
   int mach = 1 << MACH_BASE;
-  switch (MEP_CPU)
+  switch (MEP_CPU & EF_MEP_CPU_MASK)
     {
     case EF_MEP_CPU_C2:
     case EF_MEP_CPU_C3:


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [SCM]  master: gdb/
@ 2009-05-19 14:53 jkratoch
  0 siblings, 0 replies; 6+ messages in thread
From: jkratoch @ 2009-05-19 14:53 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  cd68314a88e272a6ad194a03b6ffd0b407233f4e (commit)
      from  d3581cc361cddeba1a2bb4dfcc07ae52846fdcec (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit cd68314a88e272a6ad194a03b6ffd0b407233f4e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue May 19 13:51:36 2009 +0000

    gdb/
    	Remove the PROT parameter from openp.
    	* source.c (openp): Remove the parameter PROT.  Assertion check MODE.
    	defs.h (openp): Update the prototype.
    	Update all the openp callers.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog      |    7 +++++++
 gdb/cli/cli-cmds.c |    2 +-
 gdb/defs.h         |    2 +-
 gdb/exec.c         |    4 ++--
 gdb/nto-tdep.c     |    2 +-
 gdb/solib.c        |    8 ++++----
 gdb/source.c       |   17 ++++++++++-------
 gdb/symfile.c      |    4 ++--
 8 files changed, 28 insertions(+), 18 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fc55a20..cf44f2a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2009-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Remove the PROT parameter from openp.
+	* source.c (openp): Remove the parameter PROT.  Assertion check MODE.
+	defs.h (openp): Update the prototype.
+	Update all the openp callers.
+
 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
 
 	* inflow.c (kill_command): Moved to infcmd.c.
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 18d34bf..0211489 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -451,7 +451,7 @@ source_script (char *file, int from_tty)
   /* Search for and open 'file' on the search path used for source
      files.  Put the full location in 'full_pathname'.  */
   fd = openp (source_path, OPF_TRY_CWD_FIRST,
-	      file, O_RDONLY, 0, &full_pathname);
+	      file, O_RDONLY, &full_pathname);
   make_cleanup (xfree, full_pathname);
 
   /* Use the full path name, if it is found.  */
diff --git a/gdb/defs.h b/gdb/defs.h
index ee80659..abf4b02 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -619,7 +619,7 @@ extern void print_address (CORE_ADDR, struct ui_file *);
 #define OPF_TRY_CWD_FIRST     0x01
 #define OPF_SEARCH_IN_PATH    0x02
 
-extern int openp (const char *, int, const char *, int, int, char **);
+extern int openp (const char *, int, const char *, int, char **);
 
 extern int source_full_path_of (const char *, char **);
 
diff --git a/gdb/exec.c b/gdb/exec.c
index a9a53ce..fc3d526 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -197,7 +197,7 @@ exec_file_attach (char *filename, int from_tty)
       int scratch_chan;
 
       scratch_chan = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, filename,
-		   write_files ? O_RDWR | O_BINARY : O_RDONLY | O_BINARY, 0,
+		   write_files ? O_RDWR | O_BINARY : O_RDONLY | O_BINARY,
 			    &scratch_pathname);
 #if defined(__GO32__) || defined(_WIN32) || defined(__CYGWIN__)
       if (scratch_chan < 0)
@@ -205,7 +205,7 @@ exec_file_attach (char *filename, int from_tty)
 	  char *exename = alloca (strlen (filename) + 5);
 	  strcat (strcpy (exename, filename), ".exe");
 	  scratch_chan = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, exename,
-	     write_files ? O_RDWR | O_BINARY : O_RDONLY | O_BINARY, 0,
+	     write_files ? O_RDWR | O_BINARY : O_RDONLY | O_BINARY,
 	     &scratch_pathname);
 	}
 #endif
diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c
index 193f83c..29c81d9 100644
--- a/gdb/nto-tdep.c
+++ b/gdb/nto-tdep.c
@@ -145,7 +145,7 @@ nto_find_and_open_solib (char *solib, unsigned o_flags, char **temp_pathname)
   else
     base++;			/* Skip over '/'.  */
 
-  ret = openp (buf, 1, base, o_flags, 0, temp_pathname);
+  ret = openp (buf, 1, base, o_flags, temp_pathname);
   if (ret < 0 && base != solib)
     {
       sprintf (arch_path, "/%s", solib);
diff --git a/gdb/solib.c b/gdb/solib.c
index 8b330b1..18bec09 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -210,14 +210,14 @@ solib_find (char *in_pathname, int *fd)
   /* If not found, search the solib_search_path (if any).  */
   if (found_file < 0 && solib_search_path != NULL)
     found_file = openp (solib_search_path, OPF_TRY_CWD_FIRST,
-			in_pathname, O_RDONLY | O_BINARY, 0, &temp_pathname);
+			in_pathname, O_RDONLY | O_BINARY, &temp_pathname);
   
   /* If not found, next search the solib_search_path (if any) for the basename
      only (ignoring the path).  This is to allow reading solibs from a path
      that differs from the opened path.  */
   if (found_file < 0 && solib_search_path != NULL)
     found_file = openp (solib_search_path, OPF_TRY_CWD_FIRST,
-                        lbasename (in_pathname), O_RDONLY | O_BINARY, 0,
+                        lbasename (in_pathname), O_RDONLY | O_BINARY,
                         &temp_pathname);
 
   /* If not found, try to use target supplied solib search method */
@@ -228,14 +228,14 @@ solib_find (char *in_pathname, int *fd)
   /* If not found, next search the inferior's $PATH environment variable. */
   if (found_file < 0 && gdb_sysroot_is_empty)
     found_file = openp (get_in_environ (inferior_environ, "PATH"),
-			OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY | O_BINARY, 0,
+			OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY | O_BINARY,
 			&temp_pathname);
 
   /* If not found, next search the inferior's $LD_LIBRARY_PATH 
      environment variable. */
   if (found_file < 0 && gdb_sysroot_is_empty)
     found_file = openp (get_in_environ (inferior_environ, "LD_LIBRARY_PATH"),
-			OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY | O_BINARY, 0,
+			OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY | O_BINARY,
 			&temp_pathname);
 
   *fd = found_file;
diff --git a/gdb/source.c b/gdb/source.c
index 50f3510..e1bbb7f 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -658,7 +658,8 @@ is_regular_file (const char *name)
 }
 
 /* Open a file named STRING, searching path PATH (dir names sep by some char)
-   using mode MODE and protection bits PROT in the calls to open.
+   using mode MODE in the calls to open.  You cannot use this function to
+   create files (O_CREAT).
 
    OPTS specifies the function behaviour in specific cases.
 
@@ -685,8 +686,7 @@ is_regular_file (const char *name)
     >>>>  eg executable, non-directory */
 int
 openp (const char *path, int opts, const char *string,
-       int mode, int prot,
-       char **filename_opened)
+       int mode, char **filename_opened)
 {
   int fd;
   char *filename;
@@ -695,6 +695,9 @@ openp (const char *path, int opts, const char *string,
   int len;
   int alloclen;
 
+  /* The open syscall MODE parameter is not specified.  */
+  gdb_assert ((mode & O_CREAT) == 0);
+
   if (!path)
     path = ".";
 
@@ -708,7 +711,7 @@ openp (const char *path, int opts, const char *string,
 	{
 	  filename = alloca (strlen (string) + 1);
 	  strcpy (filename, string);
-	  fd = open (filename, mode, prot);
+	  fd = open (filename, mode);
 	  if (fd >= 0)
 	    goto done;
 	}
@@ -827,7 +830,7 @@ source_full_path_of (const char *filename, char **full_pathname)
   int fd;
 
   fd = openp (source_path, OPF_TRY_CWD_FIRST | OPF_SEARCH_IN_PATH, filename,
-	      O_RDONLY, 0, full_pathname);
+	      O_RDONLY, full_pathname);
   if (fd < 0)
     {
       *full_pathname = NULL;
@@ -1017,13 +1020,13 @@ find_and_open_source (struct objfile *objfile,
         }
     }
 
-  result = openp (path, OPF_SEARCH_IN_PATH, filename, OPEN_MODE, 0, fullname);
+  result = openp (path, OPF_SEARCH_IN_PATH, filename, OPEN_MODE, fullname);
   if (result < 0)
     {
       /* Didn't work.  Try using just the basename. */
       p = lbasename (filename);
       if (p != filename)
-	result = openp (path, OPF_SEARCH_IN_PATH, p, OPEN_MODE, 0, fullname);
+	result = openp (path, OPF_SEARCH_IN_PATH, p, OPEN_MODE, fullname);
     }
 
   return result;
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 774101d..fb7f143 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -1585,14 +1585,14 @@ symfile_bfd_open (char *name)
 
   /* Look down path for it, allocate 2nd new malloc'd copy.  */
   desc = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, name,
-		O_RDONLY | O_BINARY, 0, &absolute_name);
+		O_RDONLY | O_BINARY, &absolute_name);
 #if defined(__GO32__) || defined(_WIN32) || defined (__CYGWIN__)
   if (desc < 0)
     {
       char *exename = alloca (strlen (name) + 5);
       strcat (strcpy (exename, name), ".exe");
       desc = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, exename,
-		    O_RDONLY | O_BINARY, 0, &absolute_name);
+		    O_RDONLY | O_BINARY, &absolute_name);
     }
 #endif
   if (desc < 0)


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [SCM]  master: gdb/
@ 2009-04-10 16:52 jkratoch
  0 siblings, 0 replies; 6+ messages in thread
From: jkratoch @ 2009-04-10 16:52 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  b686df9e6e345b22074ceed77dcb86f4e361ded2 (commit)
       via  1f5ab9da427da577af7205b8c9b8454a8e9d1795 (commit)
      from  aae9c797033389c122e7f26c0f4bab9d0dcc1aad (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit b686df9e6e345b22074ceed77dcb86f4e361ded2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Apr 10 16:00:49 2009 +0000

    gdb/
    	* varobj.c (varobj_invalidate): Fix formatting text width.

commit 1f5ab9da427da577af7205b8c9b8454a8e9d1795
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Apr 10 15:57:52 2009 +0000

    gdb/
    	* varobj.c (varobj_invalidate): Fix indentation.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog |    2 +
 gdb/varobj.c  |   67 +++++++++++++++++++++++++++++---------------------------
 2 files changed, 37 insertions(+), 32 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a855db7..b6f86a7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,6 +1,8 @@
 2009-04-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	* gdbtypes.c: Remove excessive parentheses at the return keywords.
+	* varobj.c (varobj_invalidate): Fix indentation.
+	* varobj.c (varobj_invalidate): Fix formatting text width.
 
 2009-04-08  Vladimir Prus  <vladimir@codesourcery.com>
 
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 0147ecb..a7957f6 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -2751,6 +2751,7 @@ When non-zero, varobj debugging is enabled."),
 /* Invalidate the varobjs that are tied to locals and re-create the ones that
    are defined on globals.
    Invalidated varobjs will be always printed in_scope="invalid".  */
+
 void 
 varobj_invalidate (void)
 {
@@ -2758,38 +2759,40 @@ varobj_invalidate (void)
   struct varobj **varp;
 
   if (varobj_list (&all_rootvarobj) > 0)
-  {
-    varp = all_rootvarobj;
-    while (*varp != NULL)
-      {
-	/* Floating varobjs are reparsed on each stop, so we don't care if
-	   the presently parsed expression refers to something that's gone.  */
-	if ((*varp)->root->floating)
-	  continue;
-
-        /* global var must be re-evaluated.  */     
-        if ((*varp)->root->valid_block == NULL)
-        {
-          struct varobj *tmp_var;
-
-          /* Try to create a varobj with same expression.  If we succeed replace
-             the old varobj, otherwise invalidate it.  */
-          tmp_var = varobj_create (NULL, (*varp)->name, (CORE_ADDR) 0, USE_CURRENT_FRAME);
-          if (tmp_var != NULL) 
-            { 
-	      tmp_var->obj_name = xstrdup ((*varp)->obj_name);
-              varobj_delete (*varp, NULL, 0);
-              install_variable (tmp_var);
-            }
-          else
-              (*varp)->root->is_valid = 0;
-        }
-        else /* locals must be invalidated.  */
-          (*varp)->root->is_valid = 0;
-
-        varp++;
-      }
-  }
+    {
+      varp = all_rootvarobj;
+      while (*varp != NULL)
+	{
+	  /* Floating varobjs are reparsed on each stop, so we don't care if
+	     the presently parsed expression refers to something that's gone.
+	     */
+	  if ((*varp)->root->floating)
+	    continue;
+
+	  /* global var must be re-evaluated.  */     
+	  if ((*varp)->root->valid_block == NULL)
+	    {
+	      struct varobj *tmp_var;
+
+	      /* Try to create a varobj with same expression.  If we succeed
+		 replace the old varobj, otherwise invalidate it.  */
+	      tmp_var = varobj_create (NULL, (*varp)->name, (CORE_ADDR) 0,
+				       USE_CURRENT_FRAME);
+	      if (tmp_var != NULL) 
+		{ 
+		  tmp_var->obj_name = xstrdup ((*varp)->obj_name);
+		  varobj_delete (*varp, NULL, 0);
+		  install_variable (tmp_var);
+		}
+	      else
+		(*varp)->root->is_valid = 0;
+	    }
+	  else /* locals must be invalidated.  */
+	    (*varp)->root->is_valid = 0;
+
+	  varp++;
+	}
+    }
   xfree (all_rootvarobj);
   return;
 }


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [SCM]  master: gdb/
@ 2009-03-15 14:37 jkratoch
  0 siblings, 0 replies; 6+ messages in thread
From: jkratoch @ 2009-03-15 14:37 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  1cc83f114d652f8bd338b3508de5e9a6374809ae (commit)
       via  a0c065d83c2f5640226dac5f3c0e9fcd1fea2a72 (commit)
       via  6802dbca9a40e83795a45c7522ddf78ff0e7b325 (commit)
       via  8e953a57887ee5d20be67e0c83c0c9de378ed397 (commit)
       via  8b9369a02e1db5691cc4c20efe0b03d2ecf839e5 (commit)
       via  53efdee1dbb7d3a206eccf7b4990348f73f4d555 (commit)
       via  d8f1dba1d787988c88490dd986cd3744d3f04f72 (commit)
       via  00d8fe4be428570128fd3d3cf0709be51360c3d3 (commit)
       via  abb5856b6342884318de5bf2e7541c94b1075fc7 (commit)
       via  fce6254b4e6e24e6d2ea62167b6c10ff804ab561 (commit)
       via  0670c2918c269a3a4d6a8305908ac575bdddc71c (commit)
       via  3504ff5761600a919037d086afa494c81b732ecc (commit)
       via  cb5bd6c598173b62b15bb37fe4776c64889f9b47 (commit)
       via  828ce62c8e2516f858c4fb92fd35877fa3b7ede0 (commit)
       via  3b1ae69818be9a470eb6e95c9856cc3392466bfe (commit)
       via  71224307bde0cb21bc3af6ca9ae39a185f8a816a (commit)
       via  6e68813bf321f963f77848af9d0bcc7f04dc1d87 (commit)
       via  407fab21772b11da176e67f8feb7153e0b18cf95 (commit)
       via  d98eb9e289a591a82c08f226de1fa2a257bac603 (commit)
       via  2185460c34c7662b48e58cf58d8993ce0ec89773 (commit)
       via  34d2f40593b075375fd50292c7ca9e549b502bcb (commit)
       via  11b5532796e0e522baf0588943faad5eaa72e4dc (commit)
       via  be829f1879ac3c32d0b7f7ef408282dc5001cf11 (commit)
       via  6cf921c12d2b7ecc2322accb2c606cbd7456eb16 (commit)
       via  3d4128f37bb7e6ab7be1f8cd278c387a2c4cedac (commit)
       via  79cd916b74e5645a8051b17119368f8b455ec450 (commit)
       via  c19205a282d4acf4f98de51f3a9dd45746258824 (commit)
       via  b6baa86aedd02ccc76eec7512de30fa631376f2b (commit)
       via  48080f8b8c6bf65f13ce51e69e8e4f1ff3279cc0 (commit)
       via  b149ab952a09f3b31f2f9451020b145e230ac258 (commit)
       via  d2a7ebd93f2a72dbc0d150fea57c028c9afede15 (commit)
       via  084662c8c30b46798cbd6f6f72715b721f6f453f (commit)
       via  c7c22f6962e854cff5e36fcb28380456d3f5d838 (commit)
       via  8ff2d8e707b490a3221de434f6d3df604a904fbc (commit)
       via  b8600f7ad24559d7038d9c4b77dd519d23f9be06 (commit)
       via  992629921aa36c6bf82174ef22c2a120955ecf5c (commit)
       via  c8a81f6e8c87a17930caea048986cd815653b734 (commit)
       via  ab6145c706bdaee3615c93409108ba74d3ba3376 (commit)
       via  7684a5dbf99ce138626a84f34c71e332e29b37ed (commit)
       via  365e0b6e20055eaad0ed22826d747a65b9a9787b (commit)
       via  d3483556827162c6881993825366b3200713da2b (commit)
       via  d54922f960da0062b1ab35096b7d5301f66f784d (commit)
       via  6955a4981a80e100e4f12b9fe44758d45f527626 (commit)
       via  d85b4c3530d36893e40157f20989f619bf680bb9 (commit)
       via  40305a68cefa0975a1065654f52702b78e0f830f (commit)
       via  2fa50e60ad07d593c494e3940ea36bfcb6f54a37 (commit)
       via  a12585fffd92c8336f69b93eb34b1e0f7afea9c4 (commit)
       via  572abd81388d29a66a41e42fa2584a0bcb6cbd2a (commit)
       via  9bcbaf4d3d1f08a128e5838205d28f7e9dc0382d (commit)
       via  af404eace2d422e9ce55bbe59a5f8d803476703b (commit)
       via  322fc1378e70a9f5eb4ff1b980386dbc087d942b (commit)
       via  5473a6dd08b18061f817f784b197f44c949d2cf5 (commit)
       via  f77a1d8078de2b302571c21dd8b20457475f4e4f (commit)
      from  852c0e0d0263f85b62090507be8daa135a87a53a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |  226 +++
 bfd/bfd-in.h                                       |    2 +-
 bfd/bfd-in2.h                                      |    2 +-
 bfd/coff-rs6000.c                                  |   84 +-
 bfd/coff64-rs6000.c                                |   78 +-
 bfd/coffcode.h                                     |    7 +-
 bfd/coffgen.c                                      |    1 +
 bfd/config.bfd                                     |    4 +-
 bfd/configure                                      |    2 +-
 bfd/configure.in                                   |    4 +-
 bfd/elf-bfd.h                                      |    7 +-
 bfd/elf.c                                          |   18 +-
 bfd/elf32-arm.c                                    |   14 +-
 bfd/elf32-spu.c                                    |    6 +-
 bfd/elflink.c                                      |   21 +-
 bfd/libcoff-in.h                                   |    6 +-
 bfd/libcoff.h                                      |    6 +-
 bfd/version.h                                      |    2 +-
 bfd/xcofflink.c                                    | 1967 +++++++++++---------
 gdb/ChangeLog                                      |  121 ++
 gdb/ada-lang.c                                     |  120 +-
 gdb/ada-lang.h                                     |    2 -
 gdb/ada-tasks.c                                    |   34 +-
 gdb/darwin-nat.c                                   |   12 +-
 gdb/defs.h                                         |    2 +-
 gdb/doc/ChangeLog                                  |   13 +-
 gdb/doc/gdb.texinfo                                |   75 +
 gdb/exceptions.c                                   |   32 +-
 gdb/exceptions.h                                   |   15 +-
 gdb/gdbserver/ChangeLog                            |    9 +
 gdb/gdbserver/Makefile.in                          |    5 +-
 gdb/gdbserver/hostio-errno.c                       |    6 +-
 gdb/gdbserver/hostio.c                             |    6 +-
 gdb/gdbserver/server.c                             |    7 +
 gdb/gdbserver/xtensa-xtregs.c                      |    2 +-
 gdb/mi/mi-interp.c                                 |    1 +
 gdb/mi/mi-main.c                                   |   38 +-
 gdb/mi/mi-main.h                                   |    2 +
 gdb/remote.c                                       |   66 +-
 gdb/source.c                                       |    2 +-
 gdb/stack.c                                        |   13 +-
 gdb/symtab.c                                       |    9 +-
 gdb/testsuite/ChangeLog                            |   46 +-
 gdb/testsuite/gdb.ada/mod_from_name.exp            |   47 +
 gdb/testsuite/gdb.ada/mod_from_name/foo.adb        |   36 +
 gdb/testsuite/gdb.ada/ptype_arith_binop.exp        |   36 +
 gdb/testsuite/gdb.ada/tick_last_segv.exp           |   49 +
 gdb/testsuite/gdb.ada/tick_last_segv/foo.adb       |   19 +
 gdb/testsuite/gdb.base/multi-forks.exp             |  117 +-
 .../gdb.base/return-nodebug.c}                     |   43 +-
 gdb/testsuite/gdb.base/return-nodebug.exp          |   61 +
 gdb/testsuite/gdb.mi/mi-cli.exp                    |   38 +-
 gdb/version.in                                     |    2 +-
 include/ChangeLog                                  |   15 +
 include/coff/ChangeLog                             |   25 +
 include/coff/internal.h                            |   17 +-
 include/coff/pe.h                                  |   11 +
 include/coff/xcoff.h                               |   25 +-
 58 files changed, 2508 insertions(+), 1128 deletions(-)
 create mode 100644 gdb/testsuite/gdb.ada/mod_from_name.exp
 create mode 100644 gdb/testsuite/gdb.ada/mod_from_name/foo.adb
 create mode 100644 gdb/testsuite/gdb.ada/ptype_arith_binop.exp
 create mode 100644 gdb/testsuite/gdb.ada/tick_last_segv.exp
 create mode 100644 gdb/testsuite/gdb.ada/tick_last_segv/foo.adb
 copy gdb/{mi/mi-main.h => testsuite/gdb.base/return-nodebug.c} (58%)
 create mode 100644 gdb/testsuite/gdb.base/return-nodebug.exp

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9841e5d..33174a3 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,229 @@
+2009-03-15  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-spu.c (build_stub): Correct icache set_id.
+	(spu_elf_relocate_section): Likewise.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c (xcoff_link_check_archive_element): Only free the
+	symbol table if it was created by the current call.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
+	class XMC_DS rather than XMC_UA.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
+	bfd_boolean export_defineds parameter with an unsigned int
+	auto_export_flags parameter.
+	* bfd-in2.h: Regenerate.
+	* xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
+	split out from xcoff_build_ldsyms.
+	(xcoff_covered_by_expall_p): New function.
+	(xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
+	but with extra code to handle -bexpfull and -bexpall.
+	(xcoff_mark_auto_exports): New function.
+	(xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
+	a function should be automatically exported.
+	(bfd_xcoff_size_dynamic_sections): Replace the export_defineds
+	parameter with an auto_export_flags parameter.  Update ldinfo
+	accordingly.  Use xcoff_mark_auto_exports to mark all automatically-
+	exported symbols.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c (xcoff_mark_symbol_by_name): New function.
+	(bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
+	init and fini functions.  Do garbage collection for objects
+	without an entry point too.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
+	check whether a symbol has csect information.
+	(coff_print_aux): Likewise.
+	* coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
+	information for C_AIX_WEAKEXT too.
+	(_bfd_xcoff_swap_aux_out): Likewise.
+	(xcoff_reloc_type_br): Handle defweak symbols too.
+	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
+	information for C_AIX_WEAKEXT too.
+	(_bfd_xcoff64_swap_aux_out): Likewise.
+	(xcoff64_reloc_type_br): Handle defweak symbols too.
+	* coffgen.c (coff_print_symbol): Handle auxillary function
+	information for C_AIX_WEAKEXT too.
+	* xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
+	instead of BSF_GLOBAL if the L_WEAK flag is set.
+	(xcoff_dynamic_definition_p): New function.
+	(xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
+	defines h.  Don't change h if ldsym isn't the definition.  Otherwise,
+	always take the symbol class from the ldsym.  Use weak bfd symbol
+	types for weak ldsyms.
+	(xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
+	Fix the check for whether a definition is from a shared object.
+	Allow redefinitions of weak symbols.
+	(xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
+	(xcoff_keep_symbol_p): Likewise.
+	(bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
+	(xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
+	Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
+	but mark them as L_WEAK.
+	(xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
+	instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c (xcoff_mark): When walking the relocations,
+	only mark the target symbol or the target section, not both.
+	(xcoff_final_definition_p): New function.
+	(xcoff_keep_symbol_p): Use it to check whether an external XCOFF
+	symbol is a valid definition of the associated output symbol.
+	Use XCOFF_ALLOCATED to stop the same hash table entry having
+	two output symbols.
+	(bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
+	keeping a symbol.
+	(xcoff_link_input_bfd): Use xcoff_final_definition_p.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
+	symbols as XMC_XO.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
+	* libcoff.h: Regenerate.
+	* xcofflink.c (xcoff_link_add_symbols): Record per-symbol
+	line-number counts in the bfd's lineno_counts field.
+	Don't keep per-csect line-number counts.
+	(xcoff_sweep): Don't update per-csect line-number counts.
+	(bfd_xcoff_size_dynamic_sections): Count the number of line-number
+	entries in each output section.
+	(xcoff_link_input_bfd): Get the number of line numbers from
+	the bfd's lineno_counts field, rather than recalculating it
+	from scratch.  Fix the range check when updating C_BINCL and
+	C_EINCL symbols.
+	(_bfd_xcoff_bfd_final_link): Don't count the output line numbers
+	here.  Don't expect csects to have line-number counts.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
+	* libcoff.h: Regenerate.
+	* xcofflink.c (xcoff_keep_symbol_p): New function, using the
+	"skip" logic from xcoff_link_input_bfd.
+	(bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
+	objects in a dynamic link, rather than checking whether csectpp
+	is null.  Always allocate debug_index for other objects,
+	and always go through the loop.  Update the type of debug_index
+	after the change above.  Read the auxillary csect information
+	and use xcoff_keep_symbol_p to decide whether a symbol should
+	be kept.  Set its debug_index to -2 if not.
+	(xcoff_link_input_bfd): Update the type of debug_index after
+	the change above and always expect it to be nonnull.  Use it to
+	test whether a symbol should be stripped, rather than making the
+	decision here.  Postpone all symbol creation to the second pass.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
+	creating a descriptor.
+	(xcoff_sweep): Don't mark toc_section unless it's needed.
+	(bfd_xcoff_size_dynamic_sections): Skip the toc_section
+	when marking every bfd.
+	(xcoff_link_input_bfd): Skip all TOC anchors.
+	(xcoff_toc_section_p, xcoff_find_tc0): New functions.
+	(_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
+	to -1; call xcoff_find_tc0 instead.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* libcoff-in.h (xcoff_section_tdata): Update commentary.
+	* libcoff.h: Regenerate.
+	* xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
+	symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
+	the previous symbol's csect.  Treat last_symndx as an inclusive value
+	and simplify its handling.
+	(xcoff_mark): Treat last_symndx as an inclusive value.  Only mark
+	symbols with the right csect.  Don't mark rsec when processing
+	relocations against undefined or absolute sections.  
+	(bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
+	of bfd_und_section_ptr.
+	(xcoff_link_input_bfd): Likewise.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
+	against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
+	flag is set.  Assert that all undefined symbols are either
+	imported or defined by a dynamic object.
+	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
+	* xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
+	handling to all relocations.  Only set XCOFF_CALLED for function
+	symbols.
+	(xcoff_find_function): New function, split out from...
+	(bfd_xcoff_export_symbol) ...here.
+	(xcoff_set_import_path): New function, split out from...
+	(bfd_xcoff_import_symbol): ...here.  Remove assertion for old
+	meaning of XCOFF_CALLED.
+	(xcoff_mark_symbol): If we mark an undefined and unimported
+	symbol, find some way of defining it.  If the symbol is a function
+	descriptor, fill in its definition automatically.  If the symbol
+	is a function, mark its descriptor and allocate room for global
+	linkage code.  Otherwise mark the symbol as implicitly imported.
+	Move the code for creating function descriptors from...
+	(xcoff_build_ldsyms): ...here.  Use XCOFF_WAS_UNDEFINED to 
+	check for symbols that were implicitly defined.
+	(xcoff_mark): Don't count any dynamic relocations against
+	function symbols.
+	(bfd_xcoff_size_dynamic_sections): Save the rtld parameter
+	in the xcoff link info.
+	(xcoff_link_input_bfd): Remove handling of undefined and
+	unexported symbols.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
+	if the target is absolute.  Fix comment typo.
+	(xcoff_ppc_relocate_section): Remove FIXME.
+	* coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
+	if the target is absolute.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
+	R_POS and R_NEG relocations against absolute symbols to the
+	.loader section.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
+	to 2 for bfd_mach_ppc_620.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* config.bfd: Treat AIX 6+ in the same way as AIX 5.
+	* configure.in: Likewise.
+	* configure: Regenerate.
+
+2009-03-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/9945
+	* elf.c (assign_section_numbers): Generate symbol table if there
+	is any relocation in output.
+	(_bfd_elf_compute_section_file_positions): Likewise.
+
+2009-03-13  Nick Clifton  <nickc@redhat.com>
+
+	PR 9934
+	* elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
+	* elflink.c (elf_link_read_relocs_from_section): Use
+	NUM_SHDR_ENTRIES.  Gracefully handle the case where there are
+	relocs but no symbol table.
+	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
+
 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/9938
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 6b49013..5a3e13f 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -779,7 +779,7 @@ extern bfd_boolean bfd_xcoff_record_link_assignment
 extern bfd_boolean bfd_xcoff_size_dynamic_sections
   (bfd *, struct bfd_link_info *, const char *, const char *,
    unsigned long, unsigned long, unsigned long, bfd_boolean,
-   int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean);
+   int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean);
 extern bfd_boolean bfd_xcoff_link_generate_rtinit
   (bfd *, const char *, const char *, bfd_boolean);
 
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 7e3defd..a173f56 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -786,7 +786,7 @@ extern bfd_boolean bfd_xcoff_record_link_assignment
 extern bfd_boolean bfd_xcoff_size_dynamic_sections
   (bfd *, struct bfd_link_info *, const char *, const char *,
    unsigned long, unsigned long, unsigned long, bfd_boolean,
-   int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean);
+   int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean);
 extern bfd_boolean bfd_xcoff_link_generate_rtinit
   (bfd *, const char *, const char *, bfd_boolean);
 
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 1db66e7..3343530 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -422,6 +422,7 @@ _bfd_xcoff_swap_aux_in (abfd, ext1, type, class, indx, numaux, in1)
 
       /* RS/6000 "csect" auxents */
     case C_EXT:
+    case C_AIX_WEAKEXT:
     case C_HIDEXT:
       if (indx + 1 == numaux)
 	{
@@ -531,6 +532,7 @@ _bfd_xcoff_swap_aux_out (abfd, inp, type, class, indx, numaux, extp)
 
       /* RS/6000 "csect" auxents */
     case C_EXT:
+    case C_AIX_WEAKEXT:
     case C_HIDEXT:
       if (indx + 1 == numaux)
 	{
@@ -2947,11 +2949,13 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
      bfd_byte *contents;
 {
   struct xcoff_link_hash_entry *h;
+  bfd_vma section_offset;
 
   if (0 > rel->r_symndx)
     return FALSE;
 
   h = obj_xcoff_sym_hashes (input_bfd)[rel->r_symndx];
+  section_offset = rel->r_vaddr - input_section->vma;
 
   /* If we see an R_BR or R_RBR reloc which is jumping to global
      linkage code, and it is followed by an appropriate cror nop
@@ -2961,13 +2965,14 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
      going to global linkage code, we can replace the load with a
      cror.  */
   if (NULL != h
-      && bfd_link_hash_defined == h->root.type
-      && rel->r_vaddr - input_section->vma + 8 <= input_section->size)
+      && (bfd_link_hash_defined == h->root.type
+	  || bfd_link_hash_defweak == h->root.type)
+      && section_offset + 8 <= input_section->size)
     {
       bfd_byte *pnext;
       unsigned long next;
 
-      pnext = contents + (rel->r_vaddr - input_section->vma) + 4;
+      pnext = contents + section_offset + 4;
       next = bfd_get_32 (input_bfd, pnext);
 
       /* The _ptrgl function is magic.  It is used by the AIX
@@ -2977,12 +2982,12 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
 	  if (next == 0x4def7b82			/* cror 15,15,15 */
 	      || next == 0x4ffffb82			/* cror 31,31,31 */
 	      || next == 0x60000000)			/* ori r0,r0,0 */
-	    bfd_put_32 (input_bfd, 0x80410014, pnext);	/* lwz r1,20(r1) */
+	    bfd_put_32 (input_bfd, 0x80410014, pnext);	/* lwz r2,20(r1) */
 
 	}
       else
 	{
-	  if (next == 0x80410014)			/* lwz r1,20(r1) */
+	  if (next == 0x80410014)			/* lwz r2,20(r1) */
 	    bfd_put_32 (input_bfd, 0x60000000, pnext);	/* ori r0,r0,0 */
 	}
     }
@@ -2998,16 +3003,42 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
       howto->complain_on_overflow = complain_overflow_dont;
     }
 
-  howto->pc_relative = TRUE;
+  /* The original PC-relative relocation is biased by -r_vaddr, so adding
+     the value below will give the absolute target address.  */
+  *relocation = val + addend + rel->r_vaddr;
+
   howto->src_mask &= ~3;
   howto->dst_mask = howto->src_mask;
 
-  /* A PC relative reloc includes the section address.  */
-  addend += input_section->vma;
-
-  *relocation = val + addend;
-  *relocation -= (input_section->output_section->vma
-		  + input_section->output_offset);
+  if (h != NULL
+      && (h->root.type == bfd_link_hash_defined
+	  || h->root.type == bfd_link_hash_defweak)
+      && bfd_is_abs_section (h->root.u.def.section)
+      && section_offset + 4 <= input_section->size)
+    {
+      bfd_byte *ptr;
+      bfd_vma insn;
+
+      /* Turn the relative branch into an absolute one by setting the
+	 AA bit.  */
+      ptr = contents + section_offset;
+      insn = bfd_get_32 (input_bfd, ptr);
+      insn |= 2;
+      bfd_put_32 (input_bfd, insn, ptr);
+
+      /* Make the howto absolute too.  */
+      howto->pc_relative = FALSE;
+      howto->complain_on_overflow = complain_overflow_bitfield;
+    }
+  else
+    {
+      /* Use a PC-relative howto and subtract the instruction's address
+	 from the target address we calculated above.  */
+      howto->pc_relative = TRUE;
+      *relocation -= (input_section->output_section->vma
+		      + input_section->output_offset
+		      + section_offset);
+    }
   return TRUE;
 }
 
@@ -3323,9 +3354,7 @@ xcoff_complain_overflow_unsigned_func (input_bfd, val, relocation, howto)
 
    R_RBR:
    A relative branch which may be modified to become an
-   absolute branch.  FIXME: We don't implement this,
-   although we should for symbols of storage mapping class
-   XMC_XO.
+   absolute branch.
 
    R_RL:
    The PowerPC AIX ABI describes this as a load which may be
@@ -3422,6 +3451,17 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
 	    }
 	  else
 	    {
+	      if (info->unresolved_syms_in_objects != RM_IGNORE
+		  && (h->flags & XCOFF_WAS_UNDEFINED) != 0)
+		{
+		  if (! ((*info->callbacks->undefined_symbol)
+			 (info, h->root.root.string,
+			  input_bfd, input_section,
+			  rel->r_vaddr - input_section->vma,
+			  (info->unresolved_syms_in_objects
+			   == RM_GENERATE_ERROR))))
+		    return FALSE;
+		}
 	      if (h->root.type == bfd_link_hash_defined
 		  || h->root.type == bfd_link_hash_defweak)
 		{
@@ -3437,17 +3477,11 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
 			 + sec->output_offset);
 
 		}
-	      else if ((0 == (h->flags & (XCOFF_DEF_DYNAMIC | XCOFF_IMPORT)))
-		       && ! info->relocatable)
+	      else
 		{
-		  if (! ((*info->callbacks->undefined_symbol)
-			 (info, h->root.root.string, input_bfd, input_section,
-			  rel->r_vaddr - input_section->vma, TRUE)))
-		    return FALSE;
-
-		  /* Don't try to process the reloc.  It can't help, and
-		     it may generate another error.  */
-		  continue;
+		  BFD_ASSERT (info->relocatable
+			      || (h->flags & XCOFF_DEF_DYNAMIC) != 0
+			      || (h->flags & XCOFF_IMPORT) != 0);
 		}
 	    }
 	}
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c
index 776b6a2..1a0ff59 100644
--- a/bfd/coff64-rs6000.c
+++ b/bfd/coff64-rs6000.c
@@ -381,6 +381,7 @@ _bfd_xcoff64_swap_aux_in (abfd, ext1, type, class, indx, numaux, in1)
 
       /* RS/6000 "csect" auxents */
     case C_EXT:
+    case C_AIX_WEAKEXT:
     case C_HIDEXT:
       if (indx + 1 == numaux)
 	{
@@ -473,6 +474,7 @@ _bfd_xcoff64_swap_aux_out (abfd, inp, type, class, indx, numaux, extp)
 
       /* RS/6000 "csect" auxents */
     case C_EXT:
+    case C_AIX_WEAKEXT:
     case C_HIDEXT:
       if (indx + 1 == numaux)
 	{
@@ -1048,6 +1050,8 @@ xcoff64_write_object_contents (abfd)
 	    case bfd_arch_powerpc:
 	      if (bfd_get_mach (abfd) == bfd_mach_ppc)
 		internal_a.o_cputype = 3;
+	      else if (bfd_get_mach (abfd) == bfd_mach_ppc_620)
+		internal_a.o_cputype = 2;
 	      else
 		internal_a.o_cputype = 1;
 	      break;
@@ -1115,11 +1119,13 @@ xcoff64_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
      bfd_byte *contents;
 {
   struct xcoff_link_hash_entry *h;
+  bfd_vma section_offset;
 
   if (0 > rel->r_symndx)
     return FALSE;
 
   h = obj_xcoff_sym_hashes (input_bfd)[rel->r_symndx];
+  section_offset = rel->r_vaddr - input_section->vma;
 
   /* If we see an R_BR or R_RBR reloc which is jumping to global
      linkage code, and it is followed by an appropriate cror nop
@@ -1129,13 +1135,14 @@ xcoff64_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
      going to global linkage code, we can replace the load with a
      cror.  */
   if (NULL != h
-      && bfd_link_hash_defined == h->root.type
-      && rel->r_vaddr - input_section->vma + 8 <= input_section->size)
+      && (bfd_link_hash_defined == h->root.type
+	  || bfd_link_hash_defweak == h->root.type)
+      && section_offset + 8 <= input_section->size)
     {
       bfd_byte *pnext;
       unsigned long next;
 
-      pnext = contents + (rel->r_vaddr - input_section->vma) + 4;
+      pnext = contents + section_offset + 4;
       next = bfd_get_32 (input_bfd, pnext);
 
       /* The _ptrgl function is magic.  It is used by the AIX compiler to call
@@ -1164,16 +1171,42 @@ xcoff64_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
       howto->complain_on_overflow = complain_overflow_dont;
     }
 
-  howto->pc_relative = TRUE;
+  /* The original PC-relative relocation is biased by -r_vaddr, so adding
+     the value below will give the absolute target address.  */
+  *relocation = val + addend + rel->r_vaddr;
+
   howto->src_mask &= ~3;
   howto->dst_mask = howto->src_mask;


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-05-23 17:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-17 20:33 [SCM] master: gdb/ jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2009-05-23 17:03 jkratoch
2009-05-21 13:07 jkratoch
2009-05-19 14:53 jkratoch
2009-04-10 16:52 jkratoch
2009-03-15 14:37 jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).