public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  archer-jankratochvil-type-refcount: Merge commit 'origin/master' into archer-jankratochvil-type-refcount
Date: Mon, 23 Feb 2009 14:09:00 -0000	[thread overview]
Message-ID: <20090223140927.5838.qmail@sourceware.org> (raw)

The branch, archer-jankratochvil-type-refcount has been updated
       via  6565d504ae7decaa9065580ea9cb9b039f1b3b05 (commit)
       via  2bc2becfab3f5c1771f5a344fcb678f4b559e1d7 (commit)
       via  f877ad1d0209b7b272278298b716c2bdb2c9bf94 (commit)
       via  13f7928fd58685981ca1ef65d435096125a1623e (commit)
       via  069fc023ab96df3d7723a945c7ecd7960495ba95 (commit)
       via  d106a8e46e5715fb1abbce6e737d1218b8983bfb (commit)
       via  be44ac148163ced0dde7b8ff23c8f1cc49efa106 (commit)
       via  af689630c851b0f05e29ca86e3980f24241bfcf0 (commit)
       via  5e3762932aeb33efd3786fdfaa5ae4e9f26fc497 (commit)
       via  f002322d7957df3a2d7e468e74d595369c16932d (commit)
       via  97a89742c8bd04df6ce261d5c615205ab0ae524f (commit)
       via  ca0aed765a0e22d44023feea2cda7af46bc3118c (commit)
       via  256b89a3d83d84e75aee72882dea40fbfe5f7ca5 (commit)
       via  1f2311b95f61b42edb1f8058c6e1aff436f3e9f8 (commit)
       via  459788c68ea3b7ba9344a1786e57b2a65f5f9cf2 (commit)
       via  57959f6eab583d328b0b7eefc2910de8b9fa06ea (commit)
       via  2d2f8919e2a4e808f233c7e6675ed17c5a788aea (commit)
      from  48c30cb6b9c943fd4ab69d552b8f51f8e67b99f2 (commit)

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

- Log -----------------------------------------------------------------
commit 6565d504ae7decaa9065580ea9cb9b039f1b3b05
Merge: 48c30cb6b9c943fd4ab69d552b8f51f8e67b99f2 2bc2becfab3f5c1771f5a344fcb678f4b559e1d7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 23 15:08:50 2009 +0100

    Merge commit 'origin/master' into archer-jankratochvil-type-refcount

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

Summary of changes:
 bfd/ChangeLog                       |  224 +++++
 bfd/bfd-in2.h                       |   16 +
 bfd/bfdio.c                         |   22 +-
 bfd/elf32-arm.c                     |   73 +-
 bfd/libbfd.h                        |    4 +
 bfd/makefile.vms                    |   10 +-
 bfd/reloc.c                         |   24 +
 bfd/version.h                       |    2 +-
 bfd/vms-gsd.c                       |  347 ++++++--
 bfd/vms-hdr.c                       | 1090 ++++++++++++++++++++++++-
 bfd/vms-misc.c                      |  520 +++++++------
 bfd/vms-tir.c                       | 1559 ++++++++++++++++++++++++-----------
 bfd/vms.c                           |  823 ++++++++++++++----
 bfd/vms.h                           |  635 ++++++++++-----
 gdb/ChangeLog                       |  347 ++++++++-
 gdb/ada-exp.y                       |    3 +
 gdb/ada-lang.c                      |   17 +-
 gdb/ada-tasks.c                     |   11 +-
 gdb/addrmap.c                       |    3 +
 gdb/alpha-linux-tdep.c              |    5 +-
 gdb/alpha-osf1-tdep.c               |    3 +
 gdb/alphabsd-nat.c                  |    6 +-
 gdb/amd64-linux-nat.c               |    6 +-
 gdb/amd64-nat.c                     |    1 +
 gdb/amd64-sol2-tdep.c               |    3 +
 gdb/amd64bsd-nat.c                  |    6 +-
 gdb/amd64fbsd-tdep.c                |    2 +-
 gdb/amd64nbsd-tdep.c                |    2 +-
 gdb/arm-linux-nat.c                 |    6 +-
 gdb/arm-linux-tdep.c                |    5 +-
 gdb/armbsd-tdep.c                   |    2 +-
 gdb/armnbsd-nat.c                   |    6 +-
 gdb/armnbsd-tdep.c                  |    3 +
 gdb/armobsd-tdep.c                  |    3 +
 gdb/auxv.c                          |    2 +-
 gdb/avr-tdep.c                      |    4 +-
 gdb/bfd-target.c                    |    4 +-
 gdb/breakpoint.c                    |    5 +-
 gdb/bsd-kvm.c                       |    6 +-
 gdb/bsd-uthread.c                   |   52 +-
 gdb/cli/cli-logging.c               |    5 +-
 gdb/corelow.c                       |   30 +-
 gdb/cp-name-parser.y                |    1 +
 gdb/cp-namespace.c                  |    3 +
 gdb/cp-valprint.c                   |    2 +-
 gdb/cris-tdep.c                     |    4 +-
 gdb/darwin-nat.c                    |   18 +-
 gdb/eval.c                          |    2 +-
 gdb/exceptions.c                    |    2 +-
 gdb/exec.c                          |    6 +-
 gdb/findcmd.c                       |    3 +
 gdb/fork-child.c                    |    3 +
 gdb/frame.c                         |    2 +-
 gdb/frv-tdep.c                      |    2 +-
 gdb/gcore.c                         |    3 +
 gdb/gdbarch.c                       |   33 +
 gdb/gdbarch.h                       |    9 +
 gdb/gdbarch.sh                      |    4 +
 gdb/gdbcore.h                       |    4 -
 gdb/gnu-nat.c                       |   11 +-
 gdb/gnu-v3-abi.c                    |    2 +-
 gdb/go32-nat.c                      |   22 +-
 gdb/h8300-tdep.c                    |    4 +-
 gdb/hppa-hpux-nat.c                 |    6 +-
 gdb/hppa-linux-nat.c                |    6 +-
 gdb/hppa-tdep.c                     |    4 +-
 gdb/hppa-tdep.h                     |    2 -
 gdb/hppabsd-nat.c                   |    6 +-
 gdb/hppabsd-tdep.c                  |    3 +-
 gdb/{sol2-tdep.h => hppabsd-tdep.h} |   14 +-
 gdb/hppanbsd-nat.c                  |    6 +-
 gdb/hppanbsd-tdep.c                 |    5 +-
 gdb/hppaobsd-tdep.c                 |    5 +-
 gdb/hpux-thread.c                   |   31 +-
 gdb/i386-darwin-nat.c               |    6 +-
 gdb/i386-linux-nat.c                |   11 +-
 gdb/i386-nto-tdep.c                 |    3 +
 gdb/i386-sol2-tdep.c                |    3 +
 gdb/i386bsd-nat.c                   |    6 +-
 gdb/i386fbsd-nat.c                  |    3 +-
 gdb/i386nbsd-tdep.c                 |    3 +
 gdb/ia64-linux-nat.c                |    6 +-
 gdb/ia64-linux-tdep.c               |    3 +
 gdb/ia64-tdep.c                     |    2 +-
 gdb/inf-child.c                     |    7 +-
 gdb/inf-ptrace.c                    |   14 +-
 gdb/inf-ttrace.c                    |   26 +-
 gdb/inferior.h                      |    2 +-
 gdb/infrun.c                        |    4 +-
 gdb/iq2000-tdep.c                   |    3 +
 gdb/jv-lang.c                       |    2 +-
 gdb/linux-nat.c                     |   33 +-
 gdb/linux-tdep.c                    |    1 +
 gdb/linux-thread-db.c               |   27 +-
 gdb/m2-typeprint.c                  |    2 +-
 gdb/m32c-tdep.c                     |    8 +-
 gdb/m32r-linux-nat.c                |    6 +-
 gdb/m32r-rom.c                      |    3 +
 gdb/m32r-tdep.c                     |    4 +-
 gdb/m68hc11-tdep.c                  |    4 +-
 gdb/m68kbsd-nat.c                   |    6 +-
 gdb/m68klinux-nat.c                 |    6 +-
 gdb/m68klinux-tdep.c                |    3 +
 gdb/m88k-tdep.c                     |    2 +-
 gdb/m88kbsd-nat.c                   |    6 +-
 gdb/macroscope.c                    |    2 +
 gdb/mep-tdep.c                      |    6 +-
 gdb/mi/mi-common.c                  |    3 +
 gdb/mips-irix-tdep.c                |    3 +
 gdb/mips-linux-nat.c                |   10 +-
 gdb/mips-linux-tdep.c               |    7 +-
 gdb/mips-tdep.c                     |    2 +-
 gdb/mips64obsd-nat.c                |    6 +-
 gdb/mipsnbsd-nat.c                  |    6 +-
 gdb/mipsnbsd-tdep.c                 |    3 +
 gdb/mn10300-linux-tdep.c            |    3 +
 gdb/mn10300-tdep.c                  |    3 +
 gdb/monitor.c                       |   11 +-
 gdb/mt-tdep.c                       |    3 +
 gdb/nbsd-tdep.c                     |    1 +
 gdb/nto-procfs.c                    |   23 +-
 gdb/nto-tdep.c                      |    5 +-
 gdb/osdata.c                        |    2 +-
 gdb/ppc-linux-nat.c                 |    6 +-
 gdb/ppc-linux-tdep.c                |    5 +-
 gdb/ppcnbsd-nat.c                   |    6 +-
 gdb/ppcobsd-nat.c                   |    6 +-
 gdb/proc-service.c                  |    3 +
 gdb/procfs.c                        |  190 ++---
 gdb/python/python.c                 |    3 +
 gdb/regcache.c                      |    2 +-
 gdb/remote-m32r-sdi.c               |   69 +-
 gdb/remote-mips.c                   |   20 +-
 gdb/remote-sim.c                    |   16 +-
 gdb/remote.c                        |   27 +-
 gdb/reverse.c                       |    3 +
 gdb/rs6000-aix-tdep.c               |    3 +
 gdb/rs6000-nat.c                    |   14 +-
 gdb/rs6000-tdep.c                   |   16 +-
 gdb/s390-nat.c                      |    6 +-
 gdb/s390-tdep.c                     |    2 +-
 gdb/sh-tdep.c                       |    2 +-
 gdb/shnbsd-nat.c                    |    6 +-
 gdb/shnbsd-tdep.c                   |    5 +-
 gdb/sol-thread.c                    |  509 ++----------
 gdb/sol2-tdep.c                     |   13 +
 gdb/sol2-tdep.h                     |    2 +
 gdb/solib-frv.c                     |    5 +-
 gdb/solib-irix.c                    |    5 +-
 gdb/solib-som.c                     |    4 +-
 gdb/solib-svr4.c                    |    2 +-
 gdb/solib.c                         |    1 +
 gdb/sparc-nat.c                     |    6 +-
 gdb/sparc-nat.h                     |    6 +-
 gdb/sparc-sol2-tdep.c               |    3 +
 gdb/sparc-tdep.c                    |    2 +-
 gdb/sparc64-sol2-tdep.c             |    3 +
 gdb/sparcnbsd-tdep.c                |    2 +-
 gdb/spu-linux-nat.c                 |    6 +-
 gdb/spu-tdep.c                      |    5 +-
 gdb/stabsread.c                     |    4 +-
 gdb/symfile-mem.c                   |    4 +
 gdb/symfile.c                       |    2 +-
 gdb/symtab.c                        |    4 +-
 gdb/target-descriptions.c           |    3 +
 gdb/target.c                        |  182 +++--
 gdb/target.h                        |   24 +-
 gdb/tui/tui-command.c               |    1 +
 gdb/tui/tui-data.c                  |    4 +-
 gdb/tui/tui-disasm.c                |    1 +
 gdb/tui/tui-interp.c                |    3 +
 gdb/tui/tui-layout.c                |    5 +
 gdb/tui/tui-regs.c                  |    6 +-
 gdb/tui/tui-stack.c                 |    4 +
 gdb/tui/tui-win.c                   |   10 +-
 gdb/tui/tui-win.h                   |    3 +-
 gdb/tui/tui-windata.c               |    1 +
 gdb/tui/tui-wingeneral.c            |    2 +-
 gdb/utils.c                         |    3 +
 gdb/vax-tdep.c                      |    2 +-
 gdb/vaxbsd-nat.c                    |    6 +-
 gdb/version.in                      |    2 +-
 gdb/windows-nat.c                   |   23 +-
 gdb/xcoffread.c                     |    6 +-
 gdb/{sol2-tdep.h => xcoffread.h}    |   15 +-
 gdb/xtensa-linux-nat.c              |    6 +-
 gdb/xtensa-linux-tdep.c             |    3 +
 gdb/xtensa-tdep.c                   |    7 +-
 libiberty/ChangeLog                 |    5 +
 libiberty/make-temp-file.c          |   87 ++-
 190 files changed, 5493 insertions(+), 2358 deletions(-)
 copy gdb/{sol2-tdep.h => hppabsd-tdep.h} (72%)
 copy gdb/{sol2-tdep.h => xcoffread.h} (72%)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 32ae0d8..1c4717f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,227 @@
+2009-02-23  Christophe Lyon  <christophe.lyon@st.com>
+
+	* elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
+	code.
+	(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
+	(arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
+	BLX is not available. Fix typo in warning message. Add comments
+	and improve formatting.
+	(arm_build_one_stub): Adjust to new
+	elf32_arm_stub_long_branch_v4t_thumb_arm stub.
+	(arm_map_one_stub): Likewise.
+
+2009-02-23  Tristan Gingold  <gingold@adacore.com>
+
+	* vms.h: Update copyright year, fix comments, reorder declarations.
+	(_bfd_save_vms_section): Remove the prototype.
+	(EGPS_S_V_NO_SHIFT): New constant.
+	(bfd_vms_set_section_flags): New prototype.
+	(EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
+	constants.
+	(EGSY_S_W_FLAGS): Ditto.
+	(EGSY_S_V_QUAD_VAL): Ditto.
+	(ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
+	(EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
+	EGST_S_B_NAMLNG): Ditto.
+	(ESRF_S_B_NAMLNG): Ditto.
+	(ETIR_S_C_HEADER_SIZE): Ditto.
+	(EGPS_S_V_ALLOC_64BIT): Ditto.
+	(DST_S_C_EPILOG): Ditto.
+	(DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
+	(DST_S_C_SRC_INCRLNUM_B): Ditto.
+	(DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
+	(DST_S_L_PCLINE_UNSLONG): Ditto.
+	(DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
+	(DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
+	(DST_S_C_SOURCE_HEADER_SIZE): Ditto.
+	(DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
+	(DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
+	(DST_S_B_SRC_UNSBYTE): Ditto.
+	(DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
+	Add prototypes.
+	(vms_section, vms_reloc): Remove types.
+	(hdr_struc): Replaced by ...
+	(hdr_struct): ... new type.
+	(EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
+	(EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
+	(EMH_DATE_LENGTH): Ditto.
+	(eom_struc): Replaced by ...
+	(eom_struct): ... new type.
+	(EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
+	(EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
+	(EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
+	(EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
+	(EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
+	(EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
+	(EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
+	(EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
+	(EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
+	(EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
+	(EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
+	(EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
+	(EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
+	(EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
+	(EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
+	(DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
+	(DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
+	(DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
+	(DBG_S_C_DMT_PSECT_SIZE): Ditto.
+	(enum file_type_enum): New type.
+	(struct location_struct): Removed.
+	(struct fileinfo, struct srecinfo, struct lineinfo): New types.
+	(struct funcinfo, struct module): Ditto.
+	(struct vms_private_data_struct): Update fields.
+	(struct vms_section_data_struct): New type.
+
+	* vms.c: Update copyright year, fix comments,
+	Fix includes for DECC, add prototypes.
+	(vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
+	some initializers.
+	Use flavour to set is_vax, location_stack is removed.
+	(struct pair): Declare.
+	(fill_section_ptr): Initialize variables at declaration.
+	Add guard to set SECTION_SYM flag, handlde und section.
+	(vms_fixup_sections): Use struct pair for fill_section_ptr argument.
+	(_bfd_vms_slurp_object_records): New function, replaces previous
+	vms_object_p.
+	(vms_slurp_module): New function.
+	(vms_slurp_image): Ditto.
+	(vms_object_p): Complete rewrite.
+	(vms_mkobject): Use is_vax field to slect architecture.
+	(free_reloc_stream): New function.
+	(vms_convert_to_var): Ditto.
+	(vms_convert_to_var_1): Ditto.
+	(vms_convert_to_var_unix_filename): Ditto.
+	(vms_close_and_cleanup): Call free_reloc_stream, convert file to
+	VAR format on VMS.
+	(vms_new_section_hook): Set alignment to 0, allocate private data.
+	(vms_get_section_contents): Load content.
+	(vms_get_symbol_info): Handle undefined section.
+	(vms_find_nearest_line): Handle.
+	(alloc_reloc_stream): New function.
+	(vms_slurp_reloc_table): Ditto.
+	(vms_get_reloc_upper_bound): Make it real.
+	(vms_canonicalize_reloc): Do the real work.
+	(alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
+	ALPHA_R_BOH.
+	(vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
+	(vms_set_arch_mach): Check arch.
+	(vms_set_section_contents): Copy the content after allocation.
+	(vms_alpha_vec): Update object flags.
+
+	* vms-tir.c: Update copyright year, fix comments,
+	add prototypes for new functions.
+	(dst_define_location): New function.
+	(dst_restore_location): New function.
+	(dst_retrieve_location): New function.
+	(dst_check_allocation): New function.
+	(image_dump): Call dst_check_allocation.
+	(image_write_b): Ditto.
+	(image_write_w): Ditto.
+	(image_write_l): Ditto.
+	(image_write_q): Ditto.
+	(cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
+	STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
+	CTL_STKDL.
+	Call error handler instead of abort if name is not known.
+	(etir_sta): Add quarter_relocs argument and set it.
+	Fix cast.
+	(etir_sto): Ditto.
+	(etir_opr): Ditto, return FALSE in case of error.
+	(etir_ctl): Add quarter_relocs argument and set it, fix cast.
+	Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
+	(etir_stc): Add quarter_relocs argument and set it, fix cast.
+	Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
+	Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
+	Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
+	Return FALSE in case of error.
+	(tir_sta): Change sign of psect.
+	(tir_ctl): Ditto.
+	(tir_cmd): Fix cast. Makes tir_table static const.
+	(etir_cmd): Add quarter_relocs argument, makes etir_table const,
+	add argument to explain.
+	(analyze_etir): Initialize maxptr, add quarter_relocs
+	declaration, move some declarations into inner scopes.
+	Handle quarter_relocs and STO_IMM.
+	(_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
+	(_bfd_vms_slurp_relocs): New function.
+	(_bfd_vms_decode_relocs): New function.
+	(sto_imm): Rewritten.
+	(start_first_etbt_record): New function.
+	(start_another_etbt_record): Ditto.
+	(etir_output_check): Ditto.
+	(defer_reloc_p): Ditto.
+	(_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
+	a for-loop.  Correctly deals with contents, deals with .vmsdebug,
+	rewritte relocations handling.
+	(_bfd_vms_write_tbt): Removed.
+	(_bfd_vms_write_dbg): Ditto.
+
+	* vms-misc.c: Update copyright year, Fix comments.
+	(_bfd_vms_get_header_values): Use 'size' instead of 'length'.
+	(maybe_adjust_record_pointer_for_object): New function.
+	(_bfd_vms_get_first_record): New function, replaces ...
+	(_bfd_vms_get_record): ..  removed.
+	(_bfd_vms_get_object_record): New function.
+	(_bfd_vms_get_object_record): New function.
+	(vms_get_remaining_object_record): New function, replaces ...
+	(_bfd_vms_get_next_record): ... removed.
+	(add_new_contents): Removed.
+	(_bfd_save_vms_section): Removed.
+	(_bfd_get_vms_section): Removed.
+	(_bfd_vms_output_flush): Write in VAR format.
+	(new_symbol): Don't make UND section.
+
+	* vms-hdr.c: Update copyright year, update list of record handled.
+	(_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
+	(_bfd_vms_write_hdr): Strip vms and unix patches,
+	add comments, truncate module name at 31 characters,
+	use constants instead of hard-coded value,
+	write BFD version instead of a fixed string.
+	(_bfd_vms_slurp_ihd): New function.
+	(_bfd_vms_slurp_isd): Ditto.
+	(_bfd_vms_slurp_ihs): Ditto.
+	(new_module): Ditto.
+	(parse_module): Ditto
+	(build_module_list): Ditto.
+	(module_find_nearest_line): Ditto.
+	(_bfd_vms_find_nearest_dst_line): Ditto.
+	(vms_slurp_debug): Ditto.
+	(_bfd_vms_slurp_dbg): Ditto.
+	(_bfd_vms_slurp_tbt): Ditto.
+	(_bfd_vms_write_dbg): Ditto.
+	(_bfd_vms_write_tbt): Ditto.
+
+	* vms-gsd.c: Update copyright year, update list of records handled.
+	(EVAX_LITERALS_NAME): New macro.
+	(evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
+	(gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
+	(register_universal_symbol): New function and prototype.
+	(_bfd_vms_slurp_gsd): Fix indentations and casts,
+	improve debug messages,
+	use constants instead of hard-coded value,
+	fix missing endianness conversion,
+	handle global symbol (SYMG).
+	(bfd_vms_set_section_flags): New function.
+	(_bfd_vms_write_gsd): Don't write .vmsdebug section,
+	handle section literals,
+	fix indentation,
+	handle section bfd and vms flags,
+	don't output LIB$INITIALIZE symbol,
+	fix handling of weak symbols,
+	fix evax vs vax procedure descriptor,
+	handle absolute symbols.
+
+	* reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
+	BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
+
+	* makefile.vms (DEFS): Fix flags for VMS.
+
+	* bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
+
+	* bfd-in2.h: Regenerated.
+	* libbfd.h: Regenerated.
+
 2009-02-20  Cary Coutant  <ccoutant@google.com>
 
 	* vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 994759d..7870962 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2586,6 +2586,22 @@ share a common GP, and the target address is adjusted for
 STO_ALPHA_STD_GPLOAD.  */
   BFD_RELOC_ALPHA_BRSGP,
 
+/* The NOP relocation outputs a NOP if the longword displacement
+between two procedure entry points is < 2^21.  */
+  BFD_RELOC_ALPHA_NOP,
+
+/* The BSR relocation outputs a BSR if the longword displacement
+between two procedure entry points is < 2^21.  */
+  BFD_RELOC_ALPHA_BSR,
+
+/* The LDA relocation outputs a LDA if the longword displacement
+between two procedure entry points is < 2^16.  */
+  BFD_RELOC_ALPHA_LDA,
+
+/* The BOH relocation outputs a BSR if the longword displacement
+between two procedure entry points is < 2^21, or else a hint.  */
+  BFD_RELOC_ALPHA_BOH,
+
 /* Alpha thread-local storage relocations.  */
   BFD_RELOC_ALPHA_TLSGD,
   BFD_RELOC_ALPHA_TLSLDM,
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index 7cba51f..d3a295c 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -102,13 +102,21 @@ real_fopen (const char *filename, const char *modes)
     }
   else
     {
-      /* Attribute found - rebuild modes.  */
-      size_t modes_len = vms_attr - modes;
-
-      BFD_ASSERT (modes_len < sizeof (vms_modes));
-      memcpy (vms_modes, modes, modes_len);
-      vms_modes[modes_len] = 0;
-      return close_on_exec (fopen (filename, vms_modes, vms_attr + 1));
+      /* Attributes found.  Split.  */
+      size_t modes_len = strlen (modes) + 1;
+      char attrs[modes_len + 1];
+      char *at[3];
+      int i;
+
+      memcpy (attrs, modes, modes_len);
+      at[0] = attrs;
+      for (i = 0; i < 2; i++)
+	{
+	  at[i + 1] = strchr (at[i], ',');
+	  BFD_ASSERT (at[i + 1] != NULL);
+	  *(at[i + 1]++) = 0; /* Replace ',' with a nul, and skip it.  */
+	}
+      return close_on_exec (fopen (filename, at[0], at[1], at[2]));
     }
 #else /* !VMS */
 #if defined (HAVE_FOPEN64)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 04f5405..6cf3322 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2032,11 +2032,11 @@ static const bfd_vma elf32_arm_stub_long_branch_v4t_arm_thumb[] =
    to ARM.  */
 static const bfd_vma elf32_arm_stub_long_branch_thumb_only[] =
   {
-    0x4e02b540,         /* push {r6, lr} */
-                        /* ldr  r6, [pc, #8] */
-    0x473046fe,         /* mov  lr, pc */
-                        /* bx   r6 */
-    0xbf00bd40,         /* pop  {r6, pc} */
+    0x4802b401,         /* push {r0} */
+                        /* ldr  r0, [pc, #8] */
+    0xbc014684,         /* mov  ip, r0 */
+                        /* pop  {r0} */
+    0xbf004760,         /* bx   ip */
                         /* nop */
     0x00000000,         /* dcd  R_ARM_ABS32(X) */
   };
@@ -2045,13 +2045,10 @@ static const bfd_vma elf32_arm_stub_long_branch_thumb_only[] =
    available.  */
 static const bfd_vma elf32_arm_stub_long_branch_v4t_thumb_arm[] =
   {
-    0x4e03b540,         /* push {r6, lr} */
-                        /* ldr  r6, [pc, #12] */
-    0x473046fe,         /* mov  lr, pc */
-                        /* bx   r6 */
-    0xe8bd4040,         /* pop  {r6, pc} */
-    0xe12fff1e,         /* bx   lr */
-    0x00000000,         /* dcd  R_ARM_ABS32(X) */
+    0x46c04778,         /* bx   pc */
+                        /* nop   */
+    0xe51ff004,         /* ldr   pc, [pc, #-4] */
+    0x00000000,         /* dcd   R_ARM_ABS32(X) */
   };
 
 /* V4T Thumb -> ARM short branch stub. Shorter variant of the above
@@ -2819,20 +2816,27 @@ arm_type_of_stub (struct bfd_link_info *info,
 	      if (!thumb_only)
 		{
 		  stub_type = (info->shared | globals->pic_veneer)
+		    /* PIC stubs.  */
 		    ? ((globals->use_blx)
+		       /* V5T and above.  */
 		       ? arm_stub_long_branch_any_any_pic
+		       /* not yet supported on V4T.  */
 		       : arm_stub_none)
-		    : (globals->use_blx)
-		    ? arm_stub_long_branch_any_any
-		    : arm_stub_none;
+
+		    /* non-PIC stubs.  */
+		    : ((globals->use_blx)
+		       /* V5T and above.  */
+		       ? arm_stub_long_branch_any_any
+		       /* V4T.  */
+		       : arm_stub_long_branch_thumb_only);
 		}
 	      else
 		{
 		  stub_type = (info->shared | globals->pic_veneer)
+		    /* PIC stub not yet supported on V4T.  */
 		    ? arm_stub_none
-		    : (globals->use_blx)
-		    ? arm_stub_long_branch_thumb_only
-		    : arm_stub_none;
+		    /* non-PIC stub.  */
+		    : arm_stub_long_branch_thumb_only;
 		}
 	    }
 	  else
@@ -2849,12 +2853,19 @@ arm_type_of_stub (struct bfd_link_info *info,
 		}
 
 	      stub_type = (info->shared | globals->pic_veneer)
+		/* PIC stubs.  */
 		? ((globals->use_blx)
+		   /* V5T and above.  */
 		   ? arm_stub_long_branch_any_any_pic
+		   /* not yet supported on V4T.  */
 		   : arm_stub_none)
-		: (globals->use_blx)
-		? arm_stub_long_branch_any_any
-		: arm_stub_long_branch_v4t_thumb_arm;
+
+		/* non-PIC stubs.  */
+		: ((globals->use_blx)
+		   /* V5T and above.  */
+		   ? arm_stub_long_branch_any_any
+		   /* V4T.  */
+		   : arm_stub_long_branch_v4t_thumb_arm);
 
 	      /* Handle v4t short branches.  */
 	      if ((stub_type == arm_stub_long_branch_v4t_thumb_arm)
@@ -2876,7 +2887,7 @@ arm_type_of_stub (struct bfd_link_info *info,
 	    {
 	      (*_bfd_error_handler)
 		(_("%B(%s): warning: interworking not enabled.\n"
-		   "  first occurrence: %B: Thumb call to ARM"),
+		   "  first occurrence: %B: ARM call to Thumb"),
 		 sym_sec->owner, input_bfd, name);
 	    }
 
@@ -2887,10 +2898,14 @@ arm_type_of_stub (struct bfd_link_info *info,
 	      || !globals->use_blx)
 	    {
 	      stub_type = (info->shared | globals->pic_veneer)
+		/* PIC stubs.  */
 		? arm_stub_long_branch_any_any_pic
-		: (globals->use_blx)
-		? arm_stub_long_branch_any_any
-		: arm_stub_long_branch_v4t_arm_thumb;
+		/* non-PIC stubs.  */
+		: ((globals->use_blx)
+		   /* V5T and above.  */
+		   ? arm_stub_long_branch_any_any
+		   /* V4T.  */
+		   : arm_stub_long_branch_v4t_arm_thumb);
 	    }
 	}
       else
@@ -2900,7 +2915,9 @@ arm_type_of_stub (struct bfd_link_info *info,
 	      || (branch_offset < ARM_MAX_BWD_BRANCH_OFFSET))
 	    {
 	      stub_type = (info->shared | globals->pic_veneer)
+		/* PIC stubs.  */
 		? arm_stub_long_branch_any_any_pic
+		/* non-PIC stubs.  */
 		: arm_stub_long_branch_any_any;
 	    }
 	}
@@ -3188,7 +3205,7 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
     case arm_stub_long_branch_v4t_thumb_arm:
       _bfd_final_link_relocate (elf32_arm_howto_from_type (R_ARM_ABS32),
 				stub_bfd, stub_sec, stub_sec->contents,
-				stub_entry->stub_offset + 16, sym_value, 0);
+				stub_entry->stub_offset + 8, sym_value, 0);
       break;
     case arm_stub_short_branch_v4t_thumb_arm:
       {
@@ -11697,9 +11714,9 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry,
 	return FALSE;
       if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr))
 	return FALSE;
-      if (!elf32_arm_output_map_sym (osi, ARM_MAP_ARM, addr + 8))
+      if (!elf32_arm_output_map_sym (osi, ARM_MAP_ARM, addr + 4))
 	return FALSE;
-      if (!elf32_arm_output_map_sym (osi, ARM_MAP_DATA, addr + 16))
+      if (!elf32_arm_output_map_sym (osi, ARM_MAP_DATA, addr + 8))
 	return FALSE;
       break;
     case arm_stub_short_branch_v4t_thumb_arm:
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 26238b5..2ba7fc8 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -957,6 +957,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_ALPHA_GPREL_HI16",
   "BFD_RELOC_ALPHA_GPREL_LO16",
   "BFD_RELOC_ALPHA_BRSGP",
+  "BFD_RELOC_ALPHA_NOP",
+  "BFD_RELOC_ALPHA_BSR",
+  "BFD_RELOC_ALPHA_LDA",
+  "BFD_RELOC_ALPHA_BOH",
   "BFD_RELOC_ALPHA_TLSGD",
   "BFD_RELOC_ALPHA_TLSLDM",
   "BFD_RELOC_ALPHA_DTPMOD64",
diff --git a/bfd/makefile.vms b/bfd/makefile.vms
index 963441a..2e2d2a1 100644
--- a/bfd/makefile.vms
+++ b/bfd/makefile.vms
@@ -36,13 +36,15 @@ endif
 CFLAGS=/include=([],[-.include])$(DEFS)
 else
 ifeq ($(ARCH),ALPHA)
-DEFS=/define=(SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch",\
-"HAVE_vms_alpha_vec=1","unlink=remove","DEBUGDIR=NULL")
+DEFS=/define=(SELECT_VECS="&vms_alpha_vec",\
+  SELECT_ARCHITECTURES="&bfd_alpha_arch",\
+  "HAVE_vms_alpha_vec=1","unlink=remove","DEBUGDIR=NULL")
 else
 DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\
-"HAVE_vms_vax_vec=1","unlink=remove","const=")
+  "HAVE_vms_vax_vec=1","unlink=remove")
 endif
-CFLAGS=/noopt/debug/show=incl/name=(as_is,shortened)/include=([],[-.include])$(DEFS)/warnings=disable=(missingreturn,longextern)
+OPT=/noopt/debug
+CFLAGS=/name=(as_is,shortened)/include=([],[-.include])$(DEFS)$(OPT)
 endif
 
 
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 0c0fb1d..781147e 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -2110,6 +2110,30 @@ ENUMDOC
   STO_ALPHA_STD_GPLOAD.
 
 ENUM
+  BFD_RELOC_ALPHA_NOP
+ENUMDOC
+  The NOP relocation outputs a NOP if the longword displacement
+     between two procedure entry points is < 2^21.
+
+ENUM
+  BFD_RELOC_ALPHA_BSR


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


             reply	other threads:[~2009-02-23 14:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-23 14:09 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-06-12 22:31 jkratoch
2009-06-09 21:46 jkratoch
2009-04-19 17:07 jkratoch
2009-03-27 13:26 jkratoch
2009-03-27  0:35 jkratoch
2009-03-20 17:08 jkratoch
2009-03-15 14:37 jkratoch
2009-03-12 20:10 jkratoch
2009-02-21  0:31 jkratoch
2009-02-09 14:35 jkratoch
2009-01-27 14:39 jkratoch
2009-01-15 12:13 jkratoch
2009-01-10 23:26 jkratoch
2009-01-07 23:23 jkratoch
2009-01-06 16:46 jkratoch
2008-12-28 15:46 jkratoch
2008-12-28 15:35 jkratoch
2008-12-22 18:33 jkratoch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090223140927.5838.qmail@sourceware.org \
    --to=jkratoch@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).