public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-sergio-catch-syscall: Merge branch 'master' into archer-sergio-catch-syscall
@ 2009-01-15 19:19 sergio
  0 siblings, 0 replies; 3+ messages in thread
From: sergio @ 2009-01-15 19:19 UTC (permalink / raw)
  To: archer-commits

The branch, archer-sergio-catch-syscall has been updated
       via  584c4c32984f1d6b71895e89c9312461401a01b1 (commit)
       via  1b26519e2da4d8911270921f9f3f5d35a89bb4b0 (commit)
       via  0cfdf12ebb79fbe02ef38ba04ebf72e70209fe84 (commit)
       via  c6bf25e6e5ea9e480d09dfafd68b2748aca7b5a7 (commit)
       via  19a21ea3060f22dc3cd57af7de2d165295d1d564 (commit)
       via  bacf115a52bbab63860c290c368468f9969bfbb5 (commit)
       via  ec3e7bcd5ddd1692c834f61dcaeffaeaa5ad171a (commit)
       via  7b9ddb80ce43d46a1362b3446c122b5d2059a790 (commit)
       via  6de4ebe01d8ec1c109121e6f4f0ba4a6aa8c844d (commit)
       via  de0dac8e13465811dc1f6f0101b37f4e0cefb0ff (commit)
       via  24e811e5b400f3d15ecd15e4016f5bb703f3493b (commit)
       via  b3b8f7fcd034901efd2da7b2510d17b1659febd7 (commit)
       via  5f97626715295ce62acf56599a69501bff204f89 (commit)
       via  429a3006f056541ca2679131643b64629d9a8ca1 (commit)
       via  923cae23714297737070af0cb6127fff84e01934 (commit)
       via  2d6d3a41a5b8625d958f4f1c13d87203360710be (commit)
       via  d01d9f616da76337402f2a5614bb287a2307fd14 (commit)
       via  d52f6c771825f463ee4359051d169c4e7727e39f (commit)
       via  aa9ce73ea9e5d5f57acc0bf5cad43844c75bbf5f (commit)
       via  6e9fd0006cfd1fd96d286ae6ee1cd9196003da4e (commit)
       via  6c731926e209d61f297815028008facb3330afee (commit)
       via  5d956b6c873148aaf661851059b08adeb9e2478d (commit)
       via  8f40c7017844a39544a56c1a2a923ddf9c23acf4 (commit)
       via  9b4d98c60fcd1c022be194b1531b9b1d46f4bfff (commit)
       via  ca922ee40ab51547f0b3580f3f480bbac8be77a0 (commit)
       via  7f08c16c1ff2512e7dd909261899f1fa27e068bc (commit)
       via  62427248e95d5e0355ad214f9edb2756a31105d3 (commit)
       via  5452564e0a42f420c23232fbd9d67790ee282847 (commit)
       via  8e15d9dffb522ecb916e4e6a73e806d3ed2e451c (commit)
       via  f634ecc13a7c5644887d97b235919e788a6217f9 (commit)
       via  84047918f976f8b240a6c5a5c02d489a9869827b (commit)
       via  da268f9a9aaddf58af0ff324b447ef34a681f874 (commit)
       via  a06b996dcf762a276d85532ced1b55d5a6303edb (commit)
       via  6497550db50dc6a26a7c6b8d8b37a3fdf0ad1641 (commit)
       via  659f38d5c6585a19e99f14d9e537cfcb4e7c4d4e (commit)
       via  3f7d5964e85c0d620ad2cd2dcd486edac4b8b707 (commit)
       via  1a5d1c21ab02040a31d59e308cb1124003bbf7c7 (commit)
       via  916f4199c37d5371f1b6870db72fe8aee4ab14c0 (commit)
       via  144fbabf43efc102c284bf15a7e8f208869f8c37 (commit)
       via  bc655b7fd0fa70213e28695540f4e43da933bb60 (commit)
       via  b645d6a2ea0908336b70703d884d5702d1de3bee (commit)
       via  07b459a4e6c5130b469b934422e7655ea61ae99a (commit)
       via  7ec34a49aa9cb7d812021ba6667a0cfdd182676e (commit)
       via  4862c642a24472539ac705783835a847e5ec8b20 (commit)
       via  87305e8fba25e58c528850af46dbe886c0b33342 (commit)
       via  d9adab297c5c89dd458acb08e9802add640c1aac (commit)
       via  9a007bf02bc2dab12f94080fd81921f8c91e4ae5 (commit)
       via  a31f09673356bc0040bb850f21962549cd1a9cef (commit)
       via  69f6bc73a02f2a4d2f1125082dbcf3f5774539f7 (commit)
       via  b3b0cb4d915852276dbc8ace1556565d19d48a87 (commit)
       via  7a56a2c458cc543b6afc9db2dc3aefceedfbc51c (commit)
       via  dda21c0c8bc20cbaa85e2b24a7dfd7c4c0ce394e (commit)
       via  2e95d670cb8ca9b13c88fa6adbc7baef9239d0ea (commit)
       via  7cf22d1d6c85d9b75935dc65af7e12a609209424 (commit)
       via  51e678e7efcbe1e933d970491c733d84becb6768 (commit)
       via  58f8992d79a305a8427d5f592d0ccad451810d87 (commit)
       via  5ff7044261fce3ced393828fe0ed3cf66cf99651 (commit)
       via  9ae07e44039acecbd6047f49907b47131ebae43e (commit)
       via  784c173fcf9c84e1963a573a951291ef83054009 (commit)
       via  91394ed36ab2a6859c9be169f0eb5fccf0e95559 (commit)
       via  5f86b229221212b4c1c52869539798a25cc09455 (commit)
       via  7540d7a5126e83863832aaf8dfb88acdd77775ed (commit)
       via  1e70e6d6733c989b0f62aa4b90e9ca3e31fd601c (commit)
       via  91b400cbb0793ce12e724d0a74c20b2b69ba886a (commit)
       via  f53d9973143fcc59408221cff3695913a733c9d8 (commit)
       via  dfa92f2938a8a455558975906ac4fc6fab1994a9 (commit)
       via  113dc1139de965378886f0cda76aadcac0fc700c (commit)
       via  73b561a36d0072895e39cc25b599180f64bb8358 (commit)
       via  5e5bd1d1aaec8c5dc2d017559310c5d3b1f7e941 (commit)
       via  251821d85bf51b64556ffa53496f8d5b717d1b28 (commit)
       via  fc7825b81de334217f74fb3206bfc793cfa6d426 (commit)
       via  72e31e9dbd9ef0b29f4c217d0e4ec62a8240ed68 (commit)
       via  036999d0a933897c90eedebb8561fd61fe53b9e9 (commit)
       via  7002b113b9e2afed981d3eb9d4157c98a3a3c447 (commit)
       via  8ee6a98bd6643233f00f0c91693ea6a571d54182 (commit)
       via  21f684e3486b49b52365d0e6e012067f75c53a04 (commit)
       via  a296a0ecadd622bf0f1484bd0027196dea637915 (commit)
       via  f1aba448dbe81323a66229bee669b96c1975c092 (commit)
       via  427836f3214de2556bf2058fcbc34406ff8ce095 (commit)
       via  0859dc381bc745337a127755d33638f183e3f75d (commit)
       via  60e49fc0d2c1cb723806c540588a9fc9dc45f779 (commit)
       via  81592205b450e76260e628188cc24720d9d33a9d (commit)
       via  dcc61fc257100b0742340b450af4f958b138673d (commit)
       via  befd85e74b156e716882e75fdbd68ec5b07db36a (commit)
       via  a32f5f7e42cd949873aeb19f97e5308c8cb11a24 (commit)
       via  127bbf3a1da05460653cdc725da8b835cb3e4b28 (commit)
       via  e90465bc2f297fd8ad13589444565e33bc523ee5 (commit)
       via  c401d0f0d9ecf583e1ba7f3615843e6b990af2ee (commit)
       via  db684da85b5b658f953ed0bfa8a0dbd6b94b6222 (commit)
       via  edaa5febe3edb1e9cddeb2ac7600849553d5eb8f (commit)
       via  52e43ba70a07811d551d2c688fd75ce8fd5f8f51 (commit)
       via  10871c6b8a336f2b146936bdb760e5c60974638d (commit)
       via  03738d56d907cc637dc5d598fd733fe9dff3a8d1 (commit)
       via  a5061bc7b92b8e0047c1c8b8c22fb5446b859a1b (commit)
       via  4b91d20df87a5bbdf4d0921548e43a3a9d859fde (commit)
       via  7515bba947f7024128d2e7781ade7103f3e06ef8 (commit)
       via  f3c58c5f3e59ede0c7dcc1a0e6679357a3ffee3f (commit)
      from  15718ffaf00d4819e4d091f3ca0e82688e6b6c16 (commit)

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

- Log -----------------------------------------------------------------
commit 584c4c32984f1d6b71895e89c9312461401a01b1
Merge: 15718ffaf00d4819e4d091f3ca0e82688e6b6c16 1b26519e2da4d8911270921f9f3f5d35a89bb4b0
Author: Sergio Durigan Junior <sergiosdj@gmail.com>
Date:   Thu Jan 15 17:18:55 2009 -0200

    Merge branch 'master' into archer-sergio-catch-syscall
    
    Conflicts:
    
    	gdb/Makefile.in
    	gdb/gdbarch.c

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

Summary of changes:
 bfd/ChangeLog                                      |   82 +
 bfd/elf32-cris.c                                   |   10 +-
 bfd/elf32-spu.c                                    | 1188 +++-
 bfd/elf32-spu.h                                    |    9 +-
 bfd/elflink.c                                      |   41 +-
 bfd/syms.c                                         |    9 +-
 bfd/version.h                                      |    2 +-
 gdb/CONTRIBUTE                                     |    3 +-
 gdb/ChangeLog                                      |  359 ++
 gdb/MAINTAINERS                                    |    3 +
 gdb/Makefile.in                                    |   11 +-
 gdb/NEWS                                           |    3 +
 gdb/ada-lang.c                                     |   10 +-
 gdb/amd64-windows-nat.c                            |   92 +
 sim/igen/filter_host.c => gdb/amd64-windows-tdep.c |   37 +-
 gdb/arch-utils.c                                   |    8 +-
 gdb/breakpoint.c                                   |  151 +-
 gdb/cli/cli-cmds.c                                 |   11 +-
 gdb/cli/cli-decode.c                               |    4 +
 gdb/cli/cli-script.c                               |  101 +-
 gdb/cli/cli-script.h                               |    3 +-
 gdb/coff-pe-read.c                                 |   25 +-
 gdb/config/djgpp/fnchange.lst                      |   10 +
 gdb/config/i386/cygwin.mh                          |    2 +-
 gdb/config/i386/mingw.mh                           |    2 +-
 gdb/config/i386/mingw64.mh                         |    2 +
 .../gen-itable.h => gdb/config/i386/nm-cygwin64.h  |   24 +-
 gdb/config/pa/linux.mh                             |    1 -
 gdb/configure                                      |    2 +-
 gdb/configure.ac                                   |    2 +-
 gdb/configure.host                                 |    4 +-
 gdb/configure.tgt                                  |   10 +-
 gdb/corefile.c                                     |    5 +-
 gdb/defs.h                                         |    2 -
 gdb/doc/ChangeLog                                  |   37 +
 gdb/doc/annotate.texinfo                           |   28 +-
 gdb/doc/gdb.texinfo                                |  101 +-
 gdb/doc/gdbint.texinfo                             |   41 +-
 gdb/doc/stabs.texinfo                              |   43 +-
 gdb/dwarf2loc.c                                    |    9 +-
 gdb/event-top.c                                    |    4 +-
 gdb/exec.c                                         |   11 +-
 gdb/f-typeprint.c                                  |   26 +-
 gdb/gdb_curses.h                                   |    2 +-
 gdb/gdbarch.c                                      |  318 +-
 gdb/gdbarch.sh                                     |   26 +-
 gdb/gdbserver/ChangeLog                            |    5 +
 gdb/gdbserver/win32-low.c                          |    1 +
 gdb/gdbtypes.c                                     |   45 +-
 gdb/i386-cygwin-tdep.c                             |   48 +-
 gdb/i386-windows-nat.c                             |   76 +
 gdb/infrun.c                                       |    1 -
 gdb/interps.c                                      |    1 -
 gdb/mdebugread.c                                   |   10 +-
 gdb/mi/mi-main.c                                   |    5 +-
 gdb/remote-sim.c                                   |   17 +-
 gdb/remote.c                                       |   25 +
 gdb/ser-mingw.c                                    |    5 +-
 gdb/symfile.c                                      |    1 +
 gdb/target.c                                       |   15 +-
 gdb/testsuite/ChangeLog                            |   14 +
 gdb/testsuite/gdb.ada/ref_tick_size/p.adb          |    2 +-
 gdb/testsuite/gdb.ada/ref_tick_size/pck.adb        |    2 +-
 gdb/testsuite/gdb.ada/ref_tick_size/pck.ads        |    2 +-
 gdb/testsuite/gdb.base/define.exp                  |   37 +-
 gdb/testsuite/gdb.fortran/derived-type.exp         |   61 +-
 gdb/testsuite/gdb.fortran/subarray.exp             |   58 +-
 gdb/testsuite/gdb.python/python.exp                |    2 +-
 gdb/top.c                                          |    8 -
 gdb/utils.c                                        |   10 +-
 gdb/valarith.c                                     |   12 +-
 gdb/valops.c                                       |   10 +-
 gdb/value.c                                        |   18 +-
 gdb/value.h                                        |    5 +
 gdb/varobj.c                                       |    2 +-
 gdb/version.in                                     |    2 +-
 gdb/win32-termcap.c                                |   65 -
 gdb/{win32-nat.c => windows-nat.c}                 |  401 +-
 sim/common/version.h => gdb/windows-nat.h          |   13 +-
 gdb/windows-tdep.c                                 |   39 +
 gdb/{i386-cygwin-tdep.h => windows-tdep.h}         |   17 +-
 include/ChangeLog                                  |    8 +
 include/gdb/ChangeLog                              |    5 +
 include/gdb/callback.h                             |    8 +-
 include/gdb/fileio.h                               |    2 +-
 include/gdb/remote-sim.h                           |    2 +-
 include/gdb/signals.h                              |    3 +-
 include/gdb/sim-arm.h                              |    2 +-
 include/gdb/sim-cr16.h                             |    2 +-
 include/gdb/sim-d10v.h                             |    2 +-
 include/gdb/sim-frv.h                              |    2 +-
 include/gdb/sim-h8300.h                            |    2 +-
 include/gdb/sim-m32c.h                             |    2 +-
 include/gdb/sim-ppc.h                              |    2 +-
 include/gdb/sim-sh.h                               |    3 +-
 include/opcode/ChangeLog                           |    5 +
 include/opcode/ppc.h                               |    8 +-
 include/plugin-api.h                               |   21 +-
 libiberty/ChangeLog                                |    9 +
 libiberty/cp-demangle.c                            |   17 +-
 opcodes/ChangeLog                                  |   82 +
 opcodes/bfin-dis.c                                 |    2 +-
 opcodes/i386-dis.c                                 |   32 +-
 opcodes/i386-gen.c                                 |   93 +-
 opcodes/i386-init.h                                |  106 +-
 opcodes/i386-opc.h                                 |   22 +-
 opcodes/i386-opc.tbl                               |   17 +-
 opcodes/i386-tbl.h                                 | 3564 ++++++------
 opcodes/ppc-dis.c                                  |    3 +-
 opcodes/ppc-opc.c                                  | 6206 ++++++++++----------
 sim/ChangeLog                                      |   17 +
 sim/Makefile.in                                    |    2 +-
 sim/arm/Makefile.in                                |    2 +-
 sim/arm/iwmmxt.c                                   |    2 +-
 sim/arm/iwmmxt.h                                   |    2 +-
 sim/arm/maverick.c                                 |    2 +-
 sim/arm/wrapper.c                                  |    2 +-
 sim/common/ChangeLog                               |   11 +
 sim/common/Make-common.in                          |    2 +-
 sim/common/Makefile.in                             |    2 +-
 sim/common/callback.c                              |    8 +-
 sim/common/cgen-cpu.h                              |    2 +-
 sim/common/cgen-defs.h                             |    2 +-
 sim/common/cgen-engine.h                           |    2 +-
 sim/common/cgen-mem.h                              |    2 +-
 sim/common/cgen-ops.h                              |   42 +-
 sim/common/cgen-par.c                              |    2 +-
 sim/common/cgen-par.h                              |    2 +-
 sim/common/cgen-run.c                              |    2 +-
 sim/common/cgen-scache.c                           |    3 +-
 sim/common/cgen-scache.h                           |    2 +-
 sim/common/cgen-sim.h                              |    2 +-
 sim/common/cgen-trace.c                            |    2 +-
 sim/common/cgen-trace.h                            |    2 +-
 sim/common/cgen-types.h                            |    2 +-
 sim/common/cgen-utils.c                            |    2 +-
 sim/common/dv-core.c                               |    2 +-
 sim/common/dv-glue.c                               |    2 +-
 sim/common/dv-pal.c                                |    2 +-
 sim/common/dv-sockser.c                            |    2 +-
 sim/common/genmloop.sh                             |    2 +-
 sim/common/hw-alloc.c                              |    2 +-
 sim/common/hw-alloc.h                              |    2 +-
 sim/common/hw-base.c                               |    2 +-
 sim/common/hw-base.h                               |    2 +-
 sim/common/hw-device.c                             |    2 +-
 sim/common/hw-device.h                             |    2 +-
 sim/common/hw-events.c                             |    2 +-
 sim/common/hw-events.h                             |    2 +-
 sim/common/hw-handles.c                            |    2 +-
 sim/common/hw-handles.h                            |    2 +-
 sim/common/hw-instances.c                          |    2 +-
 sim/common/hw-instances.h                          |    2 +-
 sim/common/hw-main.h                               |    2 +-
 sim/common/hw-ports.c                              |    2 +-
 sim/common/hw-ports.h                              |    2 +-
 sim/common/hw-properties.c                         |    2 +-
 sim/common/hw-properties.h                         |    2 +-
 sim/common/hw-tree.c                               |    2 +-
 sim/common/hw-tree.h                               |    2 +-
 sim/common/nrun.c                                  |    2 +-
 sim/common/run-sim.h                               |    2 +-
 sim/common/run.c                                   |    2 +-
 sim/common/sim-abort.c                             |    2 +-
 sim/common/sim-alu.h                               |    2 +-
 sim/common/sim-arange.c                            |    2 +-
 sim/common/sim-arange.h                            |    2 +-
 sim/common/sim-base.h                              |    2 +-
 sim/common/sim-basics.h                            |    2 +-
 sim/common/sim-bits.c                              |    2 +-
 sim/common/sim-bits.h                              |    2 +-
 sim/common/sim-config.c                            |    2 +-
 sim/common/sim-config.h                            |    2 +-
 sim/common/sim-core.c                              |    2 +-
 sim/common/sim-core.h                              |    2 +-
 sim/common/sim-cpu.c                               |    2 +-
 sim/common/sim-cpu.h                               |    2 +-
 sim/common/sim-endian.c                            |    2 +-
 sim/common/sim-endian.h                            |    2 +-
 sim/common/sim-engine.c                            |    2 +-
 sim/common/sim-engine.h                            |    2 +-
 sim/common/sim-events.c                            |    2 +-
 sim/common/sim-events.h                            |    2 +-
 sim/common/sim-fpu.c                               |    3 +-
 sim/common/sim-fpu.h                               |    3 +-
 sim/common/sim-hload.c                             |    2 +-
 sim/common/sim-hrw.c                               |    2 +-
 sim/common/sim-hw.c                                |    2 +-
 sim/common/sim-hw.h                                |    2 +-
 sim/common/sim-info.c                              |    2 +-
 sim/common/sim-inline.c                            |    2 +-
 sim/common/sim-inline.h                            |    2 +-
 sim/common/sim-io.c                                |    2 +-
 sim/common/sim-io.h                                |    6 +-
 sim/common/sim-load.c                              |    2 +-
 sim/common/sim-memopt.c                            |    2 +-
 sim/common/sim-memopt.h                            |    2 +-
 sim/common/sim-model.c                             |    3 +-
 sim/common/sim-model.h                             |    3 +-
 sim/common/sim-module.c                            |    3 +-
 sim/common/sim-module.h                            |    2 +-
 sim/common/sim-n-bits.h                            |    2 +-
 sim/common/sim-n-core.h                            |    2 +-
 sim/common/sim-n-endian.h                          |    2 +-
 sim/common/sim-options.c                           |    3 +-
 sim/common/sim-options.h                           |    2 +-
 sim/common/sim-profile.c                           |    2 +-
 sim/common/sim-profile.h                           |    3 +-
 sim/common/sim-reason.c                            |    2 +-
 sim/common/sim-reg.c                               |    2 +-
 sim/common/sim-resume.c                            |    2 +-
 sim/common/sim-run.c                               |    2 +-
 sim/common/sim-signal.c                            |    2 +-
 sim/common/sim-signal.h                            |    2 +-
 sim/common/sim-stop.c                              |    2 +-
 sim/common/sim-trace.c                             |    3 +-
 sim/common/sim-trace.h                             |    3 +-
 sim/common/sim-types.h                             |    2 +-
 sim/common/sim-utils.c                             |    2 +-
 sim/common/sim-utils.h                             |    2 +-
 sim/common/sim-watch.c                             |    2 +-
 sim/common/sim-watch.h                             |    2 +-
 sim/common/syscall.c                               |    3 +-
 sim/common/version.h                               |    2 +-
 sim/cr16/Makefile.in                               |    2 +-
 sim/cr16/cr16_sim.h                                |    4 +-
 sim/cr16/endian.c                                  |    4 +-
 sim/cr16/gencode.c                                 |    4 +-
 sim/cr16/interp.c                                  |    4 +-
 sim/cr16/simops.c                                  |    4 +-
 sim/cris/Makefile.in                               |    2 +-
 sim/cris/cris-sim.h                                |    3 +-
 sim/cris/cris-tmpl.c                               |    3 +-
 sim/cris/crisv10f.c                                |    3 +-
 sim/cris/crisv32f.c                                |    3 +-
 sim/cris/devices.c                                 |    3 +-
 sim/cris/dv-cris.c                                 |    2 +-
 sim/cris/dv-rv.c                                   |    2 +-
 sim/cris/mloop.in                                  |    2 +-
 sim/cris/rvdummy.c                                 |    2 +-
 sim/cris/sim-if.c                                  |    3 +-
 sim/cris/sim-main.h                                |    3 +-
 sim/cris/tconfig.in                                |    2 +-
 sim/cris/traps.c                                   |   77 +-
 sim/d10v/Makefile.in                               |    2 +-
 sim/erc32/Makefile.in                              |    3 +-
 sim/frv/ChangeLog                                  |    4 +
 sim/frv/Makefile.in                                |    2 +-
 sim/frv/cache.c                                    |    2 +-
 sim/frv/cache.h                                    |    3 +-
 sim/frv/devices.c                                  |    2 +-
 sim/frv/frv-sim.h                                  |    2 +-
 sim/frv/frv.c                                      |    2 +-
 sim/frv/interrupts.c                               |    3 +-
 sim/frv/memory.c                                   |    2 +-
 sim/frv/mloop.in                                   |    2 +-
 sim/frv/options.c                                  |    2 +-
 sim/frv/pipeline.c                                 |    2 +-
 sim/frv/profile-fr400.c                            |    2 +-
 sim/frv/profile-fr400.h                            |    2 +-
 sim/frv/profile-fr450.c                            |    2 +-
 sim/frv/profile-fr500.c                            |    2 +-
 sim/frv/profile-fr500.h                            |    2 +-
 sim/frv/profile-fr550.c                            |    2 +-
 sim/frv/profile-fr550.h                            |    2 +-
 sim/frv/profile.c                                  |    2 +-
 sim/frv/profile.h                                  |    2 +-
 sim/frv/registers.c                                |    3 +-
 sim/frv/registers.h                                |    2 +-
 sim/frv/reset.c                                    |    2 +-
 sim/frv/sem.c                                      |  108 +-
 sim/frv/sim-if.c                                   |    3 +-
 sim/frv/sim-main.h                                 |    3 +-
 sim/frv/traps.c                                    |    2 +-
 sim/h8300/Makefile.in                              |    2 +-
 sim/igen/Makefile.in                               |    2 +-
 sim/igen/compare_igen_models                       |    2 +-
 sim/igen/filter.c                                  |    2 +-
 sim/igen/filter.h                                  |    2 +-
 sim/igen/filter_host.c                             |    2 +-
 sim/igen/filter_host.h                             |    2 +-
 sim/igen/gen-engine.c                              |    2 +-
 sim/igen/gen-engine.h                              |    2 +-
 sim/igen/gen-icache.c                              |    2 +-
 sim/igen/gen-icache.h                              |    2 +-
 sim/igen/gen-idecode.c                             |    2 +-
 sim/igen/gen-idecode.h                             |    2 +-
 sim/igen/gen-itable.c                              |    2 +-
 sim/igen/gen-itable.h                              |    2 +-
 sim/igen/gen-model.c                               |    2 +-
 sim/igen/gen-model.h                               |    2 +-
 sim/igen/gen-semantics.c                           |    2 +-
 sim/igen/gen-semantics.h                           |    2 +-
 sim/igen/gen-support.c                             |    2 +-
 sim/igen/gen-support.h                             |    2 +-
 sim/igen/gen.c                                     |    2 +-
 sim/igen/gen.h                                     |    2 +-
 sim/igen/igen.c                                    |    2 +-
 sim/igen/igen.h                                    |    2 +-
 sim/igen/ld-cache.c                                |    2 +-
 sim/igen/ld-cache.h                                |    2 +-
 sim/igen/ld-decode.c                               |    2 +-
 sim/igen/ld-decode.h                               |    2 +-
 sim/igen/ld-insn.c                                 |    2 +-
 sim/igen/ld-insn.h                                 |    2 +-
 sim/igen/lf.c                                      |    2 +-
 sim/igen/lf.h                                      |    2 +-
 sim/igen/misc.c                                    |    2 +-
 sim/igen/misc.h                                    |    2 +-
 sim/igen/table.c                                   |    2 +-
 sim/igen/table.h                                   |    2 +-
 sim/iq2000/Makefile.in                             |    2 +-
 sim/iq2000/iq2000-sim.h                            |    2 +-
 sim/iq2000/iq2000.c                                |    2 +-
 sim/iq2000/mloop.in                                |    2 +-
 sim/iq2000/sim-if.c                                |    2 +-
 sim/m32c/Makefile.in                               |    2 +-
 sim/m32c/blinky.S                                  |    2 +-
 sim/m32c/configure.in                              |    2 +-
 sim/m32c/cpu.h                                     |    2 +-
 sim/m32c/gdb-if.c                                  |    2 +-
 sim/m32c/gloss.S                                   |    2 +-
 sim/m32c/int.c                                     |    2 +-
 sim/m32c/int.h                                     |    2 +-
 sim/m32c/load.c                                    |    2 +-
 sim/m32c/load.h                                    |    2 +-
 sim/m32c/m32c.opc                                  |    2 +-
 sim/m32c/main.c                                    |    2 +-
 sim/m32c/mem.c                                     |    2 +-
 sim/m32c/mem.h                                     |    2 +-
 sim/m32c/misc.c                                    |    2 +-
 sim/m32c/misc.h                                    |    2 +-
 sim/m32c/opc2c.c                                   |    2 +-
 sim/m32c/r8c.opc                                   |    2 +-
 sim/m32c/reg.c                                     |    2 +-
 sim/m32c/safe-fgets.c                              |    2 +-
 sim/m32c/safe-fgets.h                              |    2 +-
 sim/m32c/sample.S                                  |    2 +-
 sim/m32c/sample.ld                                 |    2 +-
 sim/m32c/sample2.c                                 |    2 +-
 sim/m32c/srcdest.c                                 |    2 +-
 sim/m32c/syscalls.c                                |    2 +-
 sim/m32c/syscalls.h                                |    2 +-
 sim/m32c/trace.c                                   |    2 +-
 sim/m32c/trace.h                                   |    2 +-
 sim/m32r/Makefile.in                               |    2 +-
 sim/m32r/devices.c                                 |    2 +-
 sim/m32r/m32r-sim.h                                |    2 +-
 sim/m32r/m32r.c                                    |    2 +-
 sim/m32r/m32r2.c                                   |    3 +-
 sim/m32r/m32rx.c                                   |    2 +-
 sim/m32r/mloop.in                                  |    3 +-
 sim/m32r/mloop2.in                                 |    2 +-
 sim/m32r/mloopx.in                                 |    3 +-
 sim/m32r/sim-if.c                                  |    2 +-
 sim/m32r/traps-linux.c                             |    2 +-
 sim/m32r/traps.c                                   |    2 +-
 sim/m68hc11/Makefile.in                            |    3 +-
 sim/m68hc11/dv-m68hc11.c                           |    2 +-
 sim/m68hc11/dv-m68hc11eepr.c                       |    2 +-
 sim/m68hc11/dv-m68hc11sio.c                        |    3 +-
 sim/m68hc11/dv-m68hc11spi.c                        |    3 +-
 sim/m68hc11/dv-m68hc11tim.c                        |    2 +-
 sim/m68hc11/dv-nvram.c                             |    2 +-
 sim/m68hc11/emulos.c                               |    2 +-
 sim/m68hc11/gencode.c                              |    3 +-
 sim/m68hc11/interp.c                               |    2 +-
 sim/m68hc11/interrupts.c                           |    2 +-
 sim/m68hc11/interrupts.h                           |    3 +-
 sim/m68hc11/m68hc11_sim.c                          |    2 +-
 sim/m68hc11/sim-main.h                             |    2 +-
 sim/mcore/Makefile.in                              |    2 +-
 sim/mcore/interp.c                                 |    2 +-
 sim/mcore/sysdep.h                                 |    2 +-
 sim/mips/cp1.c                                     |    2 +-
 sim/mips/cp1.h                                     |    3 +-
 sim/mips/dsp.c                                     |    2 +-
 sim/mips/dv-tx3904cpu.c                            |    2 +-
 sim/mips/dv-tx3904irc.c                            |    2 +-
 sim/mips/dv-tx3904sio.c                            |    2 +-
 sim/mips/dv-tx3904tmr.c                            |    2 +-
 sim/mips/mdmx.c                                    |    2 +-
 sim/mips/sim-main.h                                |    3 +-
 sim/mn10300/Makefile.in                            |    2 +-
 sim/mn10300/dv-mn103cpu.c                          |    2 +-
 sim/mn10300/dv-mn103int.c                          |    2 +-
 sim/mn10300/dv-mn103iop.c                          |    2 +-
 sim/mn10300/dv-mn103ser.c                          |    2 +-
 sim/mn10300/dv-mn103tim.c                          |    2 +-
 sim/ppc/ChangeLog                                  |    4 +
 sim/ppc/altivec_expression.h                       |    2 +-
 sim/ppc/altivec_registers.h                        |    2 +-
 sim/ppc/dp-bit.c                                   |    2 +-
 sim/ppc/e500_expression.h                          |    2 +-
 sim/ppc/e500_registers.h                           |    2 +-
 sim/ppc/gdb-sim.c                                  |    2 +-
 sim/ppc/ppc-instructions                           |    2 +-
 sim/sh/Makefile.in                                 |    2 +-
 sim/sh64/Makefile.in                               |    2 +-
 sim/sh64/eng.h                                     |    2 +-
 sim/sh64/sh64-sim.h                                |    2 +-
 sim/sh64/sh64.c                                    |    2 +-
 sim/sh64/sim-if.c                                  |    2 +-
 sim/testsuite/ChangeLog                            |    5 +
 sim/testsuite/Makefile.in                          |    2 +-
 sim/testsuite/common/bits-gen.c                    |    2 +-
 sim/testsuite/d10v-elf/Makefile.in                 |    2 +-
 sim/testsuite/frv-elf/Makefile.in                  |    2 +-
 sim/testsuite/m32r-elf/Makefile.in                 |    2 +-
 sim/testsuite/mips64el-elf/Makefile.in             |    2 +-
 sim/testsuite/sim/cris/asm/asm.exp                 |    2 +-
 sim/testsuite/sim/cris/c/c.exp                     |    2 +-
 sim/testsuite/sim/cris/c/hellodyn3.c               |    9 +
 sim/testsuite/sim/cris/c/mmap5.c                   |   91 +
 sim/testsuite/sim/cris/c/mmap6.c                   |    8 +
 sim/testsuite/sim/cris/c/mmap7.c                   |   14 +
 sim/testsuite/sim/cris/c/mmap8.c                   |    9 +
 sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp        |    2 +-
 sim/testsuite/sim/mips/testutils.inc               |    2 +-
 sim/testsuite/sim/mips/utils-dsp.inc               |    2 +-
 sim/testsuite/sim/mips/utils-fpu.inc               |    2 +-
 sim/testsuite/sim/mips/utils-mdmx.inc              |    2 +-
 sim/v850/Makefile.in                               |    2 +-
 423 files changed, 8515 insertions(+), 6679 deletions(-)
 create mode 100644 gdb/amd64-windows-nat.c
 copy sim/igen/filter_host.c => gdb/amd64-windows-tdep.c (53%)
 create mode 100644 gdb/config/i386/mingw64.mh
 copy sim/igen/gen-itable.h => gdb/config/i386/nm-cygwin64.h (53%)
 create mode 100644 gdb/i386-windows-nat.c
 delete mode 100644 gdb/win32-termcap.c
 rename gdb/{win32-nat.c => windows-nat.c} (86%)
 copy sim/common/version.h => gdb/windows-nat.h (74%)
 create mode 100644 gdb/windows-tdep.c
 rename gdb/{i386-cygwin-tdep.h => windows-tdep.h} (66%)
 create mode 100644 sim/testsuite/sim/cris/c/hellodyn3.c
 create mode 100644 sim/testsuite/sim/cris/c/mmap5.c
 create mode 100644 sim/testsuite/sim/cris/c/mmap6.c
 create mode 100644 sim/testsuite/sim/cris/c/mmap7.c
 create mode 100644 sim/testsuite/sim/cris/c/mmap8.c

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c114076..bc2df92 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,85 @@
+2009-01-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/9727
+	* elflink.c (elf_gc_sweep): Exclude the group section if the
+	first member of the section group is excluded.
+
+2009-01-14  Alan Modra  <amodra@bigpond.net.au>
+
+	PR 9735
+	* syms.c (_bfd_stab_section_find_nearest_line): Don't free
+	saved filename, use bfd_alloc rather than bfd_malloc for it.
+
+2009-01-13  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.
+
+2009-01-13  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-spu.c (remove_cycles): Always set call->max_depth.
+
+2009-01-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
+
+2009-01-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
+	num_lines_log2.
+	(struct got_entry): Add br_addr.
+	(struct call_info): Add priority.
+	(struct function_info): Add lr_store and sp_adjust.
+	(spu_elf_setup): Init line_size_log2 and num_lines_log2.
+	(spu_elf_find_overlays): For soft-icache, mark any section within cache
+	area as an overlay, and check that no other overlays exist.  Look up
+	icache overlay manager entry sym.
+	(BRA_STUBS, BRA, BRASL): Define.
+	(enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
+	(needs_ovl_stub): Adjust for soft-icache.  Return priority encoded
+	in branch insn.
+	(count_stub, build_stub): Support soft-icache.
+	(build_spuear_stubs, process_stubs): Adjust build_stub call.
+	(spu_elf_size_stubs): Size soft-icache stubs.
+	(overlay_index): New function.
+	(spu_elf_build_stubs): Make static.  Support soft-icache.
+	(spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
+	(find_function_stack_adjust): Save lr store and stack adjust insn
+	offsets.
+	(maybe_insert_function): Adjust find_function_stack_adjust call.
+	(mark_functions_via_relocs): Retrieve priority.
+	(remove_cycles): Only warn about pruned arcs when stack_analysis.
+	(sort_calls): Sort by priority first.
+	(mark_overlay_section): Ignore .ovl.init.
+	(sum_stack): Only print when stack_analysis.
+	(print_one_overlay_section): New function, extracted from..
+	(spu_elf_auto_overlay): ..here.  Support soft-icache overlays.
+	(spu_elf_stack_analysis): Only print when htab->stack_analysis.
+	(spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
+	analysis.  Call spu_elf_build_stubs.
+	(spu_elf_relocate_section): For soft-icache encode overlay index
+	into addresses.
+	(spu_elf_output_symbol_hook): Support soft-icache.
+	(spu_elf_modify_program_headers: Likewise.
+
+	* elf32-spu.h (struct spu_elf_params): Add lrlive_analysis.  Rename
+	num_regions to num_lines.  Add line_size and max_branch.
+	(enum _ovly_flavour): Add ovly_soft_icache.
+	(spu_elf_build_stubs): Delete.
+
+2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
+	relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
+
+2009-01-07  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
+	<case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
+	the program, the known offset starts at the negative size of the
+	TLS section.
+	<case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
+	Similar.
+
 2009-01-05  Joel Sherrill <joel.sherrill@oarcorp.com>
 
 	* config.bfd: Add lm32-*-rtems*.
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index ea268fc..dbc00ba 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1721,8 +1721,9 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	      bfd_vma off;
 
 	      /* The symbol is defined in the program, so just write
-		 (1, known_tpoffset) into the GOT.  */
+		 (1, -prog_tls_size+known_tpoffset) into the GOT.  */
 	      relocation -= elf_hash_table (info)->tls_sec->vma;
+	      relocation -= elf_hash_table (info)->tls_sec->size;
 
 	      if (h != NULL)
 		{
@@ -1872,8 +1873,9 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	      bfd_vma off;
 
 	      /* The symbol is defined in the program, so just write
-		 the known_tpoffset into the GOT.  */
+		 the -prog_tls_size+known_tpoffset into the GOT.  */
 	      relocation -= elf_hash_table (info)->tls_sec->vma;
+	      relocation -= elf_hash_table (info)->tls_sec->size;
 
 	      if (h != NULL)
 		off = h->got.offset;
@@ -2001,7 +2003,9 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 
 	  /* NULL if we had an error.  */
 	  relocation -= elf_hash_table (info)->tls_sec == NULL
-	    ? 0 : elf_hash_table (info)->tls_sec->vma;
+	    ? 0
+	    : (elf_hash_table (info)->tls_sec->vma
+	       + elf_hash_table (info)->tls_sec->size);
 
 	  /* The TLS-relative offset is the relocation.  */
 	  break;
diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c
index 447aa8d..318c5b4 100644
--- a/bfd/elf32-spu.c
+++ b/bfd/elf32-spu.c
@@ -1,6 +1,6 @@
 /* SPU specific support for 32-bit ELF
 
-   Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -301,6 +301,7 @@ struct spu_link_hash_table
 
   /* Shortcuts to overlay sections.  */
   asection *ovtab;
+  asection *init;
   asection *toe;
   asection **ovl_sec;
 
@@ -320,6 +321,10 @@ struct spu_link_hash_table
   /* Total number of overlays.  */
   unsigned int num_overlays;
 
+  /* For soft icache.  */
+  unsigned int line_size_log2;
+  unsigned int num_lines_log2;
+
   /* How much memory we have.  */
   unsigned int local_store;
   /* Local store --auto-overlay should reserve for non-overlay
@@ -345,7 +350,10 @@ struct got_entry
 {
   struct got_entry *next;
   unsigned int ovl;
-  bfd_vma addend;
+  union {
+    bfd_vma addend;
+    bfd_vma br_addr;
+  };
   bfd_vma stub_addr;
 };
 
@@ -360,6 +368,7 @@ struct call_info
   unsigned int max_depth;
   unsigned int is_tail : 1;
   unsigned int is_pasted : 1;
+  unsigned int priority : 13;
 };
 
 struct function_info
@@ -382,6 +391,10 @@ struct function_info
   unsigned int call_count;
   /* Address range of (this part of) function.  */
   bfd_vma lo, hi;
+  /* Offset where we found a store of lr, or -1 if none found.  */
+  bfd_vma lr_store;
+  /* Offset where we found the stack adjustment insn.  */
+  bfd_vma sp_adjust;
   /* Stack usage.  */
   int stack;
   /* Distance from root of call tree.  Tail and hot/cold branches
@@ -415,6 +428,9 @@ struct spu_elf_stack_info
   struct function_info fun[1];
 };
 
+static struct function_info *find_function (asection *, bfd_vma,
+					    struct bfd_link_info *);
+
 /* Create a spu ELF linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -449,6 +465,8 @@ spu_elf_setup (struct bfd_link_info *info, struct spu_elf_params *params)
 {
   struct spu_link_hash_table *htab = spu_hash_table (info);
   htab->params = params;
+  htab->line_size_log2 = bfd_log2 (htab->params->line_size);
+  htab->num_lines_log2 = bfd_log2 (htab->params->num_lines);
 }
 
 /* Find the symbol for the given R_SYMNDX in IBFD and set *HP and *SYMP
@@ -597,6 +615,7 @@ spu_elf_find_overlays (struct bfd_link_info *info)
   unsigned int i, n, ovl_index, num_buf;
   asection *s;
   bfd_vma ovl_end;
+  const char *ovly_mgr_entry;
 
   if (info->output_bfd->section_count < 2)
     return FALSE;
@@ -622,51 +641,149 @@ spu_elf_find_overlays (struct bfd_link_info *info)
   /* Sort them by vma.  */
   qsort (alloc_sec, n, sizeof (*alloc_sec), sort_sections);
 
-  /* Look for overlapping vmas.  Any with overlap must be overlays.
-     Count them.  Also count the number of overlay regions.  */
   ovl_end = alloc_sec[0]->vma + alloc_sec[0]->size;
-  for (ovl_index = 0, num_buf = 0, i = 1; i < n; i++)
+  if (htab->params->ovly_flavour == ovly_soft_icache)
     {
-      s = alloc_sec[i];
-      if (s->vma < ovl_end)
+      /* Look for an overlapping vma to find the first overlay section.  */
+      bfd_vma vma_start = 0;
+      bfd_vma lma_start = 0;
+
+      for (i = 1; i < n; i++)
 	{
-	  asection *s0 = alloc_sec[i - 1];
+	  s = alloc_sec[i];
+	  if (s->vma < ovl_end)
+	    {
+	      asection *s0 = alloc_sec[i - 1];
+	      vma_start = s0->vma;
+	      lma_start = s0->lma;
+	      ovl_end = (s0->vma
+			 + ((bfd_vma) 1
+			    << (htab->num_lines_log2 + htab->line_size_log2)));
+	      --i;
+	      break;
+	    }
+	  else
+	    ovl_end = s->vma + s->size;
+	}
 
-	  if (spu_elf_section_data (s0)->u.o.ovl_index == 0)
+      /* Now find any sections within the cache area.  */
+      for (ovl_index = 0, num_buf = 0; i < n; i++)
+	{
+	  s = alloc_sec[i];
+	  if (s->vma >= ovl_end)
+	    break;
+
+	  /* A section in an overlay area called .ovl.init is not
+	     an overlay, in the sense that it might be loaded in
+	     by the overlay manager, but rather the initial
+	     section contents for the overlay buffer.  */
+	  if (strncmp (s->name, ".ovl.init", 9) != 0)
 	    {
-	      alloc_sec[ovl_index] = s0;
-	      spu_elf_section_data (s0)->u.o.ovl_index = ++ovl_index;
-	      spu_elf_section_data (s0)->u.o.ovl_buf = ++num_buf;
+	      num_buf = ((s->vma - vma_start) >> htab->line_size_log2) + 1;
+	      if (((s->vma - vma_start) & (htab->params->line_size - 1))
+		  || ((s->lma - lma_start) & (htab->params->line_size - 1)))
+		{
+		  info->callbacks->einfo (_("%X%P: overlay section %A "
+					    "does not start on a cache line.\n"),
+					  s);
+		  return FALSE;
+		}
+	      else if (s->size > htab->params->line_size)
+		{
+		  info->callbacks->einfo (_("%X%P: overlay section %A "
+					    "is larger than a cache line.\n"),
+					  s);
+		  return FALSE;
+		}
+
+	      alloc_sec[ovl_index++] = s;
+	      spu_elf_section_data (s)->u.o.ovl_index
+		= ((s->lma - lma_start) >>  htab->line_size_log2) + 1;
+	      spu_elf_section_data (s)->u.o.ovl_buf = num_buf;
 	    }
-	  alloc_sec[ovl_index] = s;
-	  spu_elf_section_data (s)->u.o.ovl_index = ++ovl_index;
-	  spu_elf_section_data (s)->u.o.ovl_buf = num_buf;
-	  if (s0->vma != s->vma)
+	}
+
+      /* Ensure there are no more overlay sections.  */
+      for ( ; i < n; i++)
+	{
+	  s = alloc_sec[i];
+	  if (s->vma < ovl_end)
 	    {
-	      info->callbacks->einfo (_("%X%P: overlay sections %A and %A "
-					"do not start at the same address.\n"),
-				      s0, s);
+	      info->callbacks->einfo (_("%X%P: overlay section %A "
+					"is not in cache area.\n"),
+				      alloc_sec[i-1]);
 	      return FALSE;
 	    }
-	  if (ovl_end < s->vma + s->size)
+	  else
+	    ovl_end = s->vma + s->size;
+	}
+    }
+  else
+    {
+      /* Look for overlapping vmas.  Any with overlap must be overlays.
+	 Count them.  Also count the number of overlay regions.  */
+      for (ovl_index = 0, num_buf = 0, i = 1; i < n; i++)
+	{
+	  s = alloc_sec[i];
+	  if (s->vma < ovl_end)
+	    {
+	      asection *s0 = alloc_sec[i - 1];
+
+	      if (spu_elf_section_data (s0)->u.o.ovl_index == 0)
+		{
+		  ++num_buf;
+		  if (strncmp (s0->name, ".ovl.init", 9) != 0)
+		    {
+		      alloc_sec[ovl_index] = s0;
+		      spu_elf_section_data (s0)->u.o.ovl_index = ++ovl_index;
+		      spu_elf_section_data (s0)->u.o.ovl_buf = num_buf;
+		    }
+		  else
+		    ovl_end = s->vma + s->size;
+		}
+	      if (strncmp (s->name, ".ovl.init", 9) != 0)
+		{
+		  alloc_sec[ovl_index] = s;
+		  spu_elf_section_data (s)->u.o.ovl_index = ++ovl_index;
+		  spu_elf_section_data (s)->u.o.ovl_buf = num_buf;
+		  if (s0->vma != s->vma)
+		    {
+		      info->callbacks->einfo (_("%X%P: overlay sections %A "
+						"and %A do not start at the "
+						"same address.\n"),
+					      s0, s);
+		      return FALSE;
+		    }
+		  if (ovl_end < s->vma + s->size)
+		    ovl_end = s->vma + s->size;
+		}
+	    }
+	  else
 	    ovl_end = s->vma + s->size;
 	}
-      else
-	ovl_end = s->vma + s->size;
     }
 
   htab->num_overlays = ovl_index;
   htab->num_buf = num_buf;
   htab->ovl_sec = alloc_sec;
-  htab->ovly_load = elf_link_hash_lookup (&htab->elf, "__ovly_load",
+  ovly_mgr_entry = "__ovly_load";
+  if (htab->params->ovly_flavour == ovly_soft_icache)
+    ovly_mgr_entry = "__icache_br_handler";
+  htab->ovly_load = elf_link_hash_lookup (&htab->elf, ovly_mgr_entry,
 					  FALSE, FALSE, FALSE);
-  htab->ovly_return = elf_link_hash_lookup (&htab->elf, "__ovly_return",
-					    FALSE, FALSE, FALSE);
+  if (htab->params->ovly_flavour != ovly_soft_icache)
+    htab->ovly_return = elf_link_hash_lookup (&htab->elf, "__ovly_return",
+					      FALSE, FALSE, FALSE);
   return ovl_index != 0;
 }
 
-#define BRSL	0x33000000
+/* Non-zero to use bra in overlay stubs rather than br.  */
+#define BRA_STUBS 0
+
+#define BRA	0x30000000
+#define BRASL	0x31000000
 #define BR	0x32000000
+#define BRSL	0x33000000
 #define NOP	0x40200000
 #define LNOP	0x00200000
 #define ILA	0x42000000
@@ -736,7 +853,15 @@ maybe_needs_stubs (asection *input_section)
 enum _stub_type
 {
   no_stub,
-  ovl_stub,
+  call_ovl_stub,
+  br000_ovl_stub,
+  br001_ovl_stub,
+  br010_ovl_stub,
+  br011_ovl_stub,
+  br100_ovl_stub,
+  br101_ovl_stub,
+  br110_ovl_stub,
+  br111_ovl_stub,
   nonovl_stub,
   stub_error
 };
@@ -756,8 +881,9 @@ needs_ovl_stub (struct elf_link_hash_entry *h,
   struct spu_link_hash_table *htab = spu_hash_table (info);
   enum elf_spu_reloc_type r_type;
   unsigned int sym_type;
-  bfd_boolean branch;
+  bfd_boolean branch, hint, call;
   enum _stub_type ret = no_stub;
+  bfd_byte insn[4];
 
   if (sym_sec == NULL
       || sym_sec->output_section == bfd_abs_section_ptr
@@ -775,14 +901,9 @@ needs_ovl_stub (struct elf_link_hash_entry *h,
 	 makes setjmp/longjmp between overlays work.  */
       if (strncmp (h->root.root.string, "setjmp", 6) == 0
 	  && (h->root.root.string[6] == '\0' || h->root.root.string[6] == '@'))
-	ret = ovl_stub;
+	ret = call_ovl_stub;
     }
 
-  /* Usually, symbols in non-overlay sections don't need stubs.  */
-  if (spu_elf_section_data (sym_sec->output_section)->u.o.ovl_index == 0
-      && !htab->params->non_overlay_stubs)
-    return ret;
-
   if (h != NULL)
     sym_type = h->type;
   else
@@ -790,10 +911,10 @@ needs_ovl_stub (struct elf_link_hash_entry *h,
 
   r_type = ELF32_R_TYPE (irela->r_info);
   branch = FALSE;
+  hint = FALSE;
+  call = FALSE;
   if (r_type == R_SPU_REL16 || r_type == R_SPU_ADDR16)
     {
-      bfd_byte insn[4];
-
       if (contents == NULL)
 	{
 	  contents = insn;
@@ -806,10 +927,12 @@ needs_ovl_stub (struct elf_link_hash_entry *h,
       else
 	contents += irela->r_offset;
 
-      if (is_branch (contents) || is_hint (contents))
+      branch = is_branch (contents);
+      hint = is_hint (contents);
+      if (branch || hint)
 	{
-	  branch = TRUE;
-	  if ((contents[0] & 0xfd) == 0x31
+	  call = (contents[0] & 0xfd) == 0x31;
+	  if (call
 	      && sym_type != STT_FUNC
 	      && contents != insn)
 	    {
@@ -840,20 +963,45 @@ needs_ovl_stub (struct elf_link_hash_entry *h,
 	}
     }
 
-  if (sym_type != STT_FUNC
-      && !branch
-      && (sym_sec->flags & SEC_CODE) == 0)
+  if ((!branch && htab->params->ovly_flavour == ovly_soft_icache)
+      || (sym_type != STT_FUNC
+	  && !(branch || hint)
+	  && (sym_sec->flags & SEC_CODE) == 0))
+    return no_stub;
+
+  /* Usually, symbols in non-overlay sections don't need stubs.  */
+  if (spu_elf_section_data (sym_sec->output_section)->u.o.ovl_index == 0
+      && !htab->params->non_overlay_stubs)
     return ret;
 
   /* A reference from some other section to a symbol in an overlay
      section needs a stub.  */
   if (spu_elf_section_data (sym_sec->output_section)->u.o.ovl_index
        != spu_elf_section_data (input_section->output_section)->u.o.ovl_index)
-    ret = ovl_stub;
+    {
+      if (call || sym_type == STT_FUNC)
+	ret = call_ovl_stub;
+      else
+	{
+	  ret = br000_ovl_stub;
+
+	  if (branch)
+	    {
+	      unsigned int lrlive = (contents[1] & 0x70) >> 4;
+	      ret += lrlive;
+	    }
+	}
+    }


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


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

* [SCM]  archer-sergio-catch-syscall: Merge branch 'master' into archer-sergio-catch-syscall
@ 2009-02-05 21:37 sergio
  0 siblings, 0 replies; 3+ messages in thread
From: sergio @ 2009-02-05 21:37 UTC (permalink / raw)
  To: archer-commits

The branch, archer-sergio-catch-syscall has been updated
       via  311a7c56cfdf598ed6d4ac291cbee28a3b9863b9 (commit)
       via  83244659d8ba6362e7dbd7dfafb8ed1cf6e51c0a (commit)
       via  a3bba34e704e8ff71dba954c74452217cb40124d (commit)
       via  34083a97307a6f1456c9455997c4b5471ba21330 (commit)
       via  9b9259f61cdcbec6d68eb9cedef6819f288053ed (commit)
       via  331acbfdd7b4c6734baad6d4d4c2c1489a9a22a1 (commit)
       via  12ee80b84d3220d99f5396deb7b072e51d7d1afd (commit)
       via  55a909760e801aafcf7e031b098cf2161d248d9a (commit)
       via  48a6038a855c30477e907307ab8b7d3834c575c1 (commit)
       via  fe4c4e465347fee881541b71c140a773f42a0ce6 (commit)
       via  e1d633a3fafbf670c686f59f3007b6280da50625 (commit)
       via  5c8d779d999734da634d5905e5a945d98cab69d8 (commit)
       via  54596033c019654f4a92f8d99c62a2cfb02b8b19 (commit)
       via  7a228ded75afbcc5af87b9cd26e54ceea0b3cb25 (commit)
       via  d8ccded1bd72290e07a69451f708292a76fe7a7a (commit)
       via  f1737c87c2af20d1325583a5ab7861a4dd5a0111 (commit)
       via  5d8468a9859aabe67d53f6babf5c2321e2abf000 (commit)
       via  937201738a21d48c627d2200ca73de7960d46786 (commit)
       via  b861fbb2404426ae5f91fe2d92b9809a487698fa (commit)
       via  8c64d8171f82fb656a5c7f77895867bb0d7372ad (commit)
       via  0a35ab92d3b16aadbf63f6079a61b9a71b9ebcb7 (commit)
       via  4b1236ddb168d1eeed42dfcca0e64973301451cf (commit)
       via  81ebe44fd16047d8bd1f695003bec53eb50b1051 (commit)
       via  0cd91cc2b97d671e6f2035f26c34cc134b800228 (commit)
       via  e7579ed59ad66782474d31635dd5cbc26ecbcf94 (commit)
       via  09547ab8a96a6f3636ceacdf11c66e8f333c0a03 (commit)
       via  5845b55b1b01b9339c2384806e7107d321a4237c (commit)
       via  8e4acafc10950e2d83954aa8f56714403a2c604b (commit)
       via  d112c9579d4e97ddbaf61e762316154fe187b2f7 (commit)
       via  32e15a5e8946225fa4e9c11f6fc2040adae79e38 (commit)
       via  cf7d1af3ff6a6913b472bdee56b083604ee5b87e (commit)
       via  9efdb5ea40104f4be915361c462fe596302efe86 (commit)
       via  6bcccbac081b4d742322d319b8df687fe78501c8 (commit)
       via  3a8e057c013d2df89a90b7c94e5ac5842d8f6b77 (commit)
       via  a967bdb3b666cf75b608da72d82d61f3bb7d05df (commit)
       via  114a09c3fef29ad0d580c86c81338dceb176b8bb (commit)
       via  c02cfd685030e8f65a7727a14cc303790e0e94c7 (commit)
       via  e71c3f1030c5a9ae8a4b54f030b0ed1797074554 (commit)
       via  c80176fdeed48b514d2dc005005b6483fb85e8dd (commit)
       via  24f23f293583eea2a35a3a46b6f1b5034c12bbad (commit)
       via  d235a2f3d48298dd7a2b6841108965292dd78907 (commit)
      from  6dea2c97a8617f01b34dc9d04810f31c049f4834 (commit)

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

- Log -----------------------------------------------------------------
commit 311a7c56cfdf598ed6d4ac291cbee28a3b9863b9
Merge: 6dea2c97a8617f01b34dc9d04810f31c049f4834 83244659d8ba6362e7dbd7dfafb8ed1cf6e51c0a
Author: Sergio Durigan Junior <sergiosdj@gmail.com>
Date:   Thu Feb 5 19:29:36 2009 -0200

    Merge branch 'master' into archer-sergio-catch-syscall
    
    Conflicts:
    	gdb/main.c
    	gdb/target.c
    	gdb/target.h

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

Summary of changes:
 bfd/ChangeLog                              |   98 ++
 bfd/bfd-in2.h                              |   15 +
 bfd/dwarf2.c                               |   19 +-
 bfd/elf-attrs.c                            |    4 +-
 bfd/elf-bfd.h                              |    9 -
 bfd/elf-eh-frame.c                         |   30 +-
 bfd/elf.c                                  |   44 +-
 bfd/elf32-arm.c                            |    8 +-
 bfd/elf32-cris.c                           |    8 +-
 bfd/elf32-m68k.c                           | 1520 ++++++++++++++++++++--------
 bfd/elf32-mep.c                            |    3 +-
 bfd/elflink.c                              |   19 +-
 bfd/elfxx-mips.c                           |    2 +-
 bfd/libbfd.h                               |   17 +-
 bfd/reloc.c                                |   30 +
 bfd/version.h                              |    2 +-
 config/ChangeLog                           |    8 +
 config/tcl.m4                              |   14 +-
 gdb/ChangeLog                              |   83 ++
 gdb/Makefile.in                            |    2 +-
 gdb/aclocal.m4                             |   24 +-
 gdb/amd64-linux-tdep.c                     |   10 +
 gdb/amd64-tdep.c                           |  729 +++++++++++++-
 gdb/amd64-tdep.h                           |    8 +
 gdb/breakpoint.c                           |   29 +-
 gdb/breakpoint.h                           |    3 +-
 gdb/completer.c                            |   32 +-
 gdb/config.in                              |    7 +
 gdb/configure                              |  410 +++++----
 gdb/configure.ac                           |  138 ++-
 gdb/corefile.c                             |   34 -
 gdb/doc/ChangeLog                          |   17 +
 gdb/doc/gdb.texinfo                        |   66 +-
 gdb/gdbcore.h                              |    5 -
 gdb/infrun.c                               |   20 +
 gdb/main.c                                 |  149 +++-
 gdb/mi/mi-cmd-break.c                      |   11 +-
 gdb/target.c                               |   77 +-
 gdb/target.h                               |    4 +
 gdb/testsuite/ChangeLog                    |   37 +
 gdb/testsuite/gdb.arch/amd64-disp-step.S   |  153 +++
 gdb/testsuite/gdb.arch/amd64-disp-step.exp |  219 ++++
 gdb/testsuite/gdb.arch/i386-disp-step.S    |   64 ++
 gdb/testsuite/gdb.arch/i386-disp-step.exp  |  112 ++
 gdb/testsuite/gdb.cp/Makefile.in           |    2 +-
 gdb/testsuite/gdb.cp/call-c.cc             |    3 +
 gdb/testsuite/gdb.cp/call-c.exp            |    3 +
 gdb/testsuite/gdb.cp/cpcompletion.exp      |   72 ++
 gdb/testsuite/gdb.cp/pr9594.cc             |   51 +
 gdb/testsuite/gdb.mi/mi-break.exp          |   16 +
 gdb/testsuite/lib/mi-support.exp           |    4 +-
 gdb/thread.c                               |    8 +
 gdb/valops.c                               |    8 +-
 gdb/version.in                             |    2 +-
 include/elf/ChangeLog                      |    4 +
 include/elf/m68k.h                         |   19 +
 include/opcode/ChangeLog                   |    9 +
 include/opcode/i386.h                      |   26 +-
 opcodes/ChangeLog                          |   19 +
 opcodes/arm-dis.c                          |    8 +-
 opcodes/mep-asm.c                          |   37 -
 opcodes/mep-desc.c                         | 1136 +++++++--------------
 opcodes/mep-desc.h                         |   33 +-
 opcodes/mep-dis.c                          |   39 -
 opcodes/mep-ibld.c                         |  211 ----
 opcodes/mep-opc.c                          |  268 +-----
 opcodes/mep-opc.h                          |   26 +-
 opcodes/mips-opc.c                         |    4 +-
 68 files changed, 4005 insertions(+), 2296 deletions(-)
 create mode 100644 gdb/testsuite/gdb.arch/amd64-disp-step.S
 create mode 100644 gdb/testsuite/gdb.arch/amd64-disp-step.exp
 create mode 100644 gdb/testsuite/gdb.arch/i386-disp-step.S
 create mode 100644 gdb/testsuite/gdb.arch/i386-disp-step.exp
 create mode 100644 gdb/testsuite/gdb.cp/cpcompletion.exp
 create mode 100644 gdb/testsuite/gdb.cp/pr9594.cc

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f6102d5..76d435b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,101 @@
+2009-02-03  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* bfd-in2.h: Regenerate.
+	* elf32-m68k.c: Handle 2-slot GOT entries.  Rename variables and
+	fields from n_entries to n_slots where appropriate, update comments.
+	(HOWTO): Add TLS relocations.
+	(reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
+	(enum elf_m68k_got_offset_size): New enum.
+	(struct elf_m68k_got_entry.type): Move field to ...
+	(struct elf_m68k_got_entry_key): ... here.  Update all uses.
+	(elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
+	functions.
+	(elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
+	functions.
+	(struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
+	fields into n_entries array.  Update comments.
+	(elf_m68k_init_got): Simplify, update all uses.
+	(elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
+	(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
+	GOT entries; update name, update all uses.
+	(ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
+	(elf_m68k_get_got_entry): Update.
+	(elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
+	simplify.
+	(elf_m68k_remove_got_entry_type): Simplify.
+	(elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
+	(elf_m68k_can_merge_gots): Update.
+	(elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
+	(struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
+	GOT entries, simplify.
+	(elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
+	(struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
+	field, remove obsoleted local_n_entries field.
+	(elf_m68k_partition_multi_got_2): New static function.
+	(elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
+	update.
+	(elf_m68k_remove_got_entry_type): Update.
+	(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
+	(elf_m68k_check_relocs): Handle TLS relocations.  Remove unnecessary 
+	update of sgot->size and srelgot->size.
+	(elf_m68k_gc_sweep_hook): Update.
+	(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
+	(elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
+	TLS relocations.
+	* reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
+	* libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
+
+2009-02-02  DJ Delorie  <dj@redhat.com>
+
+	* elf32-mep.c (config_names): Regenerate configuration.
+
+2009-02-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (bfd_elf_get_str_section): Don't declare.
+	(bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
+	* elf.c (bfd_elf_get_str_section): Make static.
+	(bfd_elf_find_section): Delete.
+	* libbfd.h: Regenerate.
+
+2009-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
+	(_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
+
+2009-01-31  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (on_needed_list): New function.
+	(elf_link_add_object_symbols): Link in --as-needed libs if they
+	satisfy undefined symbols in other libs.
+
+2009-01-30  Julian Brown  <julian@codesourcery.com>
+
+	* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
+	EXEC_P or DYNAMIC flags, and skip sections which are being linked
+	with --just-symbols (-R).
+
+2009-01-29  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* dwarf2.c (read_rangelist): Use read_address to read low_pc and
+	high_pc in order to properly sign-extend VMAs.
+
+2009-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
+            Mark Shinwell  <shinwell@codesourcery.com>
+            Catherine Moore  <clm@codesourcery.com>
+
+	* elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
+
+2009-01-28  Catherine Moore <clm@codesourcery.com>
+
+	* elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
+	SEC_LOAD for dynamic relocation sections.
+
+2009-01-27  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
+	(info)->tls_size, not elf_hash_table (info)->tls_sec->size for
+	the size of local TLS data.
+
 2009-01-27  Andreas Schwab  <schwab@suse.de>
 
 	* mach-o.c (bfd_mach_o_archive_p): Restrict the number of
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 779f03a..b79fa5c 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2363,6 +2363,21 @@ The 24-bit relocation is used in some Intel 960 configurations.  */
   BFD_RELOC_68K_GLOB_DAT,
   BFD_RELOC_68K_JMP_SLOT,
   BFD_RELOC_68K_RELATIVE,
+  BFD_RELOC_68K_TLS_GD32,
+  BFD_RELOC_68K_TLS_GD16,
+  BFD_RELOC_68K_TLS_GD8,
+  BFD_RELOC_68K_TLS_LDM32,
+  BFD_RELOC_68K_TLS_LDM16,
+  BFD_RELOC_68K_TLS_LDM8,
+  BFD_RELOC_68K_TLS_LDO32,
+  BFD_RELOC_68K_TLS_LDO16,
+  BFD_RELOC_68K_TLS_LDO8,
+  BFD_RELOC_68K_TLS_IE32,
+  BFD_RELOC_68K_TLS_IE16,
+  BFD_RELOC_68K_TLS_IE8,
+  BFD_RELOC_68K_TLS_LE32,
+  BFD_RELOC_68K_TLS_LE16,
+  BFD_RELOC_68K_TLS_LE8,
 
 /* Linkage-table relative.  */
   BFD_RELOC_32_BASEREL,
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 4f2e38c..0c18253 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1803,20 +1803,11 @@ read_rangelist (struct comp_unit *unit, struct arange *arange, bfd_uint64_t offs
       bfd_vma low_pc;
       bfd_vma high_pc;
 
-      if (unit->addr_size == 4)
-	{
-	  low_pc = read_4_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 4;
-	  high_pc = read_4_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 4;
-	}
-      else
-	{
-	  low_pc = read_8_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 8;
-	  high_pc = read_8_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 8;
-	}
+      low_pc = read_address (unit, ranges_ptr);
+      ranges_ptr += unit->addr_size;
+      high_pc = read_address (unit, ranges_ptr);
+      ranges_ptr += unit->addr_size;
+
       if (low_pc == 0 && high_pc == 0)
 	break;
       if (low_pc == -1UL && high_pc != -1UL)
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
index e60053b..568bd7c 100644
--- a/bfd/elf-attrs.c
+++ b/bfd/elf-attrs.c
@@ -238,7 +238,7 @@ elf_new_obj_attr (bfd *abfd, int vendor, int tag)
 
   if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
     {
-      /* Knwon tags are preallocated.  */
+      /* Known tags are preallocated.  */
       attr = &elf_known_obj_attributes (abfd)[vendor][tag];
     }
   else
@@ -272,7 +272,7 @@ bfd_elf_get_obj_attr_int (bfd *abfd, int vendor, int tag)
 
   if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
     {
-      /* Knwon tags are preallocated.  */
+      /* Known tags are preallocated.  */
       return elf_known_obj_attributes (abfd)[vendor][tag].i;
     }
   else
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index c1cc63e..7b8fa69 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1626,8 +1626,6 @@ extern unsigned int _bfd_elf_section_from_bfd_section
   (bfd *, asection *);
 extern char *bfd_elf_string_from_elf_section
   (bfd *, unsigned, unsigned);
-extern char *bfd_elf_get_str_section
-  (bfd *, unsigned);
 extern Elf_Internal_Sym *bfd_elf_get_elf_syms
   (bfd *, Elf_Internal_Shdr *, size_t, size_t, Elf_Internal_Sym *, void *,
    Elf_External_Sym_Shndx *);
@@ -1671,8 +1669,6 @@ extern bfd_boolean bfd_elf_make_generic_object
   (bfd *);
 extern bfd_boolean bfd_elf_mkcorefile
   (bfd *);
-extern Elf_Internal_Shdr *bfd_elf_find_section
-  (bfd *, char *);
 extern bfd_boolean _bfd_elf_make_section_from_shdr
   (bfd *, Elf_Internal_Shdr *, const char *, int);
 extern bfd_boolean _bfd_elf_make_section_from_phdr
@@ -2143,11 +2139,6 @@ extern bfd_boolean _bfd_elf_merge_object_attributes (bfd *, bfd *);
 /* Large common section.  */
 extern asection _bfd_elf_large_com_section;
 
-/* SH ELF specific routine.  */
-
-extern bfd_boolean _sh_elf_set_mach_from_flags
-  (bfd *);
-
 /* This is the condition under which finish_dynamic_symbol will be called.
    If our finish_dynamic_symbol isn't called, we'll need to do something
    about initializing any .plt and .got entries in relocate_section.  */
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 579a6b8..3567c24 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -549,16 +549,6 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 	     < (bfd_size_type) ((buf) - ehbuf)))	\
     cookie->rel++
 
-#define REQUIRE_CLEARED_RELOCS(buf)			\
-  while (cookie->rel < cookie->relend			\
-	 && (cookie->rel->r_offset			\
-	     < (bfd_size_type) ((buf) - ehbuf)))	\
-    {							\
-      REQUIRE (cookie->rel->r_info == 0);		\
-      REQUIRE (cookie->rel->r_addend == 0);		\
-      cookie->rel++;					\
-    }
-
 #define GET_RELOC(buf)					\
   ((cookie->rel < cookie->relend			\
     && (cookie->rel->r_offset				\
@@ -817,16 +807,16 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 
 	  buf = last_fde + 4 + hdr_length;
 
-	  /* Cleared FDE?  The instructions will not be cleared but verify all
-	     the relocation entries for them are cleared.  */
-	  if (rsec == NULL)
-	    {
-	      REQUIRE_CLEARED_RELOCS (buf);
-	    }
-	  else
-	    {
-	      SKIP_RELOCS (buf);
-	    }
+	  /* For NULL RSEC (cleared FDE belonging to a discarded section)
+	     the relocations are commonly cleared.  We do not sanity check if
+	     all these relocations are cleared as (1) relocations to
+	     .gcc_except_table will remain uncleared (they will get dropped
+	     with the drop of this unused FDE) and (2) BFD already safely drops
+	     relocations of any type to .eh_frame by
+	     elf_section_ignore_discarded_relocs.
+	     TODO: The .gcc_except_table entries should be also filtered as
+	     .eh_frame entries; or GCC could rather use COMDAT for them.  */
+	  SKIP_RELOCS (buf);
 	}
 
       /* Try to interpret the CFA instructions and find the first
diff --git a/bfd/elf.c b/bfd/elf.c
index 0009ee8..44af469 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1,7 +1,8 @@
 /* ELF executable support for BFD.
 
    Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -258,7 +259,7 @@ bfd_elf_mkcorefile (bfd *abfd)
   return bfd_elf_make_generic_object (abfd);
 }
 
-char *
+static char *
 bfd_elf_get_str_section (bfd *abfd, unsigned int shindex)
 {
   Elf_Internal_Shdr **i_shdrp;
@@ -1019,45 +1020,6 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
   return TRUE;
 }
 
-/*
-INTERNAL_FUNCTION
-	bfd_elf_find_section
-
-SYNOPSIS
-	struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
-
-DESCRIPTION
-	Helper functions for GDB to locate the string tables.
-	Since BFD hides string tables from callers, GDB needs to use an
-	internal hook to find them.  Sun's .stabstr, in particular,
-	isn't even pointed to by the .stab section, so ordinary
-	mechanisms wouldn't work to find it, even if we had some.
-*/
-
-struct elf_internal_shdr *
-bfd_elf_find_section (bfd *abfd, char *name)
-{
-  Elf_Internal_Shdr **i_shdrp;
-  char *shstrtab;
-  unsigned int max;
-  unsigned int i;
-
-  i_shdrp = elf_elfsections (abfd);
-  if (i_shdrp != NULL)
-    {
-      shstrtab = bfd_elf_get_str_section (abfd,
-					  elf_elfheader (abfd)->e_shstrndx);
-      if (shstrtab != NULL)
-	{
-	  max = elf_numsections (abfd);
-	  for (i = 1; i < max; i++)
-	    if (!strcmp (&shstrtab[i_shdrp[i]->sh_name], name))
-	      return i_shdrp[i];
-	}
-    }
-  return 0;
-}
-
 const char *const bfd_elf_section_type_names[] = {
   "SHT_NULL", "SHT_PROGBITS", "SHT_SYMTAB", "SHT_STRTAB",
   "SHT_RELA", "SHT_HASH", "SHT_DYNAMIC", "SHT_NOTE",
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 5fdd138..de063e6 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -4998,6 +4998,10 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info)
   if (globals->vfp11_fix == BFD_ARM_VFP11_FIX_NONE)
     return TRUE;
 
+  /* Skip this BFD if it corresponds to an executable or dynamic object.  */
+  if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0)
+    return TRUE;
+
   for (sec = abfd->sections; sec != NULL; sec = sec->next)
     {
       unsigned int i, span, first_fmac = 0, veneer_of_insn = 0;
@@ -5008,6 +5012,8 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info)
       if (elf_section_type (sec) != SHT_PROGBITS
           || (elf_section_flags (sec) & SHF_EXECINSTR) == 0
           || (sec->flags & SEC_EXCLUDE) != 0
+	  || sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS
+	  || sec->output_section == bfd_abs_section_ptr
           || strcmp (sec->name, VFP11_ERRATUM_VENEER_SECTION_NAME) == 0)
         continue;
 
@@ -9643,7 +9649,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
 			flagword flags;
 
 			flags = bfd_get_section_flags (dynobj, sreloc);
-			flags &= ~(SEC_LOAD | SEC_ALLOC);
+			flags |= (SEC_LOAD | SEC_ALLOC);
 			bfd_set_section_flags (dynobj, sreloc, flags);
 		      }
 		  }
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 16b0b45..bd6de29 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1694,7 +1694,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	  relocation -= elf_hash_table (info)->tls_sec == NULL
 	    ? 0 : (elf_hash_table (info)->tls_sec->vma
 		   + (info->shared
-		      ? 0 : elf_hash_table (info)->tls_sec->size));
+		      ? 0 : elf_hash_table (info)->tls_size));
 	  break;
 
 	case R_CRIS_32_GD:
@@ -1737,7 +1737,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	      /* The symbol is defined in the program, so just write
 		 (1, -prog_tls_size+known_tpoffset) into the GOT.  */
 	      relocation -= elf_hash_table (info)->tls_sec->vma;
-	      relocation -= elf_hash_table (info)->tls_sec->size;
+	      relocation -= elf_hash_table (info)->tls_size;
 
 	      if (h != NULL)
 		{
@@ -1889,7 +1889,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	      /* The symbol is defined in the program, so just write
 		 the -prog_tls_size+known_tpoffset into the GOT.  */
 	      relocation -= elf_hash_table (info)->tls_sec->vma;
-	      relocation -= elf_hash_table (info)->tls_sec->size;
+	      relocation -= elf_hash_table (info)->tls_size;
 
 	      if (h != NULL)
 		off = h->got.offset;
@@ -2019,7 +2019,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	  relocation -= elf_hash_table (info)->tls_sec == NULL
 	    ? 0
 	    : (elf_hash_table (info)->tls_sec->vma
-	       + elf_hash_table (info)->tls_sec->size);
+	       + elf_hash_table (info)->tls_size);
 
 	  /* The TLS-relative offset is the relocation.  */
 	  break;
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index cb7eb5e..542501b 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -1,6 +1,6 @@
 /* Motorola 68k series support for 32-bit ELF
    Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -114,6 +114,263 @@ static reloc_howto_type howto_table[] = {
 	 0,			/* src_mask */
 	 0,			/* dst_mask */
 	 FALSE),
+
+  /* TLS general dynamic variable reference.  */
+  HOWTO (R_68K_TLS_GD32,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_GD32",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_GD16,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_GD16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_GD8,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */
+	 8,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_GD8",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x000000ff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic variable reference.  */
+  HOWTO (R_68K_TLS_LDM32,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_LDM32",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_LDM16,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_LDM16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_LDM8,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */


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


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

* [SCM]  archer-sergio-catch-syscall: Merge branch 'master' into archer-sergio-catch-syscall
@ 2009-01-29 14:14 sergio
  0 siblings, 0 replies; 3+ messages in thread
From: sergio @ 2009-01-29 14:14 UTC (permalink / raw)
  To: archer-commits

The branch, archer-sergio-catch-syscall has been updated
       via  e299bcf841ede7f374150939e6660de9059a7ce5 (commit)
       via  7f38f003c49fa058eb1f46f4e5625f5224cd9d6d (commit)
       via  587fa1a9ae4b6dcbce35a510d850032ce1df12cf (commit)
       via  1491427ae8c6205fe1f325da1201419313e3c3b9 (commit)
       via  52da3cb816963552920c3bd1be6d382d4debad8a (commit)
       via  ccee8cf101a68a9595867638c100086715ae1944 (commit)
       via  c51205a752a5c26e0e4f1a5763b89dd33432c6fe (commit)
       via  b51efefd842bea521c5ee25306bd73eeab74fa85 (commit)
       via  5b87a749027154f0aa0120ac1c24e726c483a8a0 (commit)
       via  3ce76e710f43751f99e1ac6137ccc4ef9e4b9f07 (commit)
       via  bf06624c54fe05cce54fef983fa7d329c500404a (commit)
       via  8b58bcf2f83e4f98a2ca9202d477b725abb90e72 (commit)
       via  051a1cf006b13a738f7f2697bc897c57d7cb163b (commit)
       via  b4d75490715058a51d045b89561bfce02fa331b6 (commit)
       via  b3d79b8ed687dfa889f46d03a17f37c42e945a2b (commit)
       via  3a4ab0a3e31d115b1b9f3ab9e14f3efcf124a5d7 (commit)
       via  aea85d57cdd9eda9faca88f025d58cc7e9f49f7f (commit)
       via  68be5f29099b8bba57a3a5bb87946511f4f82c62 (commit)
       via  59388d5a95d91cc3710b91f2b3b334f126517ad5 (commit)
       via  aefee5ed5cf0909fc174b538be69a7de3f63a91f (commit)
       via  2b33b569bdebeb623beabc36cc43c545701b6d93 (commit)
       via  c68ed5493b7c919af1cb950b542f72d62bd08882 (commit)
       via  b1482bb07699c150bcbc2cc915d2ae039ebaee80 (commit)
       via  d46ef7dd9c96079bbfb7b2c675a98fbacc37dba5 (commit)
       via  b7ee711e348c8b8bd07bc810142fe468a7da9d04 (commit)
       via  ecdf4477c1cba445b81193d6609f06aebdebeba9 (commit)
       via  1f14283bfadf9f5d9b68b8863947c0d4fb2c3cf2 (commit)
       via  857c05cde38f5b6529d4eb2e2570710b65b71b11 (commit)
       via  a1e78a92edb65f61398f75fa82122fa36a31f3dc (commit)
       via  9316ed5bdad1416e32f5be97d20cb573ac0bf64c (commit)
       via  fa9d7815fd365b52135be091938481fb5307fce4 (commit)
       via  ecf101f78860519418555b966e4ed5061286a2a9 (commit)
       via  1a6c57ddde9b9fb62dbcf7230d4f1308d3674df1 (commit)
       via  c090d23b34b137ce98f9de62537fa2fb13ca1ecd (commit)
       via  e6e9396c648fd22fe476b17352ed52a40bb2e0bd (commit)
       via  d7fb7dd25e0ab498d182b0c214270ec0703e6720 (commit)
       via  502a1d8a6089ed66188719292520c9baed722691 (commit)
       via  17ba7979fefa3603c3c150026b7f1e6084080b00 (commit)
       via  5de3a5856a0feb2e905caea5b965558b68e0bf4c (commit)
       via  9e8f01670d7d7334a7fb65c8329968bedf3c90f1 (commit)
       via  aabca0d611c0e34a0d6996210e53851d2b7789d8 (commit)
       via  b5e43e479bba74752908cedf4badff85ed25f9e6 (commit)
       via  1925ddc4c2bd7ec1446f291468fa3983d3ba4755 (commit)
       via  4fa71ccefb5491b8ed6e55d9c5e85c2236ca6151 (commit)
       via  4d5395266d494570a0cbc8b792da41185f4663c2 (commit)
       via  ed4a78fc3d59d21c02818380df85dff422ba12aa (commit)
       via  d74817b84bb759030de2dedb4c64adf008955433 (commit)
       via  68ccdda06ddeb6dd689615c1817e4e766b243c06 (commit)
       via  3edeb2f06956b32f7c8a4df32ca9039de7e4a78a (commit)
       via  1602efbcae70b4e40b4c8e3e0dac82a0dee91acf (commit)
       via  d28c2e65ddf50a889532bf15e5ec570018373292 (commit)
       via  dbfa9cc7e9016dde29373bc472533daacce53b65 (commit)
       via  81a55f1427d48710e2d699f134a6c59f78f5550b (commit)
       via  6178fc046d036ba0639a456272b63ab099edaf82 (commit)
       via  a48c179934bee9df3f67fcaaf632242e40d30e84 (commit)
       via  d641b754fd63c07aefd102230909dd015f851331 (commit)
       via  c4c2286bc98cad3c54a9b5d017ee3b150e680ac2 (commit)
       via  6cf613d6c791e0d6a785dc97654956f13139b9b7 (commit)
       via  35c95b2b57b61d962e5404886905dfe2829fb6bb (commit)
       via  8d2e8ad63204a3019f9b12f4a467a6e2b9a6c23b (commit)
       via  fae81fd61a19c98ca18a8b6b98d2840fa9dd5ade (commit)
       via  bb8e50ab4853f6b18efacc3328fa2075539d8974 (commit)
       via  2b330cc803da788211cd4b66e87cfd6bc21dfbab (commit)
       via  363c7b345f7d0730bd202c1775efeaf3d8254ed2 (commit)
       via  e7f2b7951a4b2190a967e367e5395a1c3e2d4802 (commit)
       via  dd5681c3362ddd4c5933fcaba245ff6333034f38 (commit)
       via  e6bd8f2abf2aff1a2ed7b29daaff68f918be9b88 (commit)
       via  4e8d44f12e27f569721e742bceccdfee35a78e2f (commit)
       via  6da1a829889ede67cb1d79801d7e303ffa6b4528 (commit)
       via  11a5ed3eee53962a18e0c348ac6ad6ccde4430a3 (commit)
       via  76d4004ac49829afe4cf6398c12d180b0d5242e1 (commit)
       via  306a5665b5c0cb1b3e097bbc23b79620f59e2cf0 (commit)
       via  d438502cf4d0f80282a5b84ab8e7425acd1a53c1 (commit)
       via  c0ec56f7f57d5d83ad589fb16255de691561f997 (commit)
       via  ff95333fe26824a2b1982e3ddcdc8d56d13d66a3 (commit)
       via  847915664fd893f065928e0b73911025973c0d68 (commit)
       via  feb4d18f5aa47204581b1e2f916ee4c34817e31f (commit)
       via  1aad842f599a7f2ae77c7ad85898471e503e83b2 (commit)
       via  a06be778506917cc0d66485bc74dfdf92f212506 (commit)
       via  82ab01cef505b98e5217e350fb1ce0fa5bdb5667 (commit)
       via  96dd75b5a8d23c3be6309de91768869003583298 (commit)
       via  56adda13173a3b8a2355b6b2865ff6d25059e1ca (commit)
       via  8ce9a2934dc0e16e01bb9dd0276fe05e90c39688 (commit)
       via  c86ee81222651c3e2c8694e71dcc5c7036b2aefc (commit)
       via  460b2283a3b26e9df8c9a91006806b46924c5945 (commit)
       via  7f81dd5c655ca22f862d168a3f8ac87edf4e96e0 (commit)
       via  e67de9c4083ea465357e9dd982e1c9be8d3ae9cc (commit)
       via  3a910fb838b06f989303f531482efb1189017055 (commit)
      from  584c4c32984f1d6b71895e89c9312461401a01b1 (commit)

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

- Log -----------------------------------------------------------------
commit e299bcf841ede7f374150939e6660de9059a7ce5
Merge: 584c4c32984f1d6b71895e89c9312461401a01b1 7f38f003c49fa058eb1f46f4e5625f5224cd9d6d
Author: Sergio Durigan Junior <sergiosdj@gmail.com>
Date:   Thu Jan 29 12:13:31 2009 -0200

    Merge branch 'master' into archer-sergio-catch-syscall

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

Summary of changes:
 COPYING.NEWLIB                                     |   31 +
 ChangeLog                                          |   15 +
 Makefile.def                                       |    5 +-
 Makefile.in                                        |   20 +
 bfd/ChangeLog                                      |  199 ++++++
 bfd/Makefile.am                                    |    7 +-
 bfd/Makefile.in                                    |   19 +-
 bfd/coffcode.h                                     |   17 +-
 bfd/config.bfd                                     |    4 +
 bfd/configure                                      |   79 ++--
 bfd/configure.in                                   |   45 +-
 bfd/dwarf2.c                                       |   17 +-
 bfd/elf-attrs.c                                    |  154 ++---
 bfd/elf-bfd.h                                      |  106 +---
 bfd/elf-hppa.h                                     |   26 +-
 bfd/elf.c                                          |   17 +-
 bfd/elf32-arm.c                                    |  644 +++++++++++++++-----
 bfd/elf32-cris.c                                   |   26 +-
 bfd/elf32-ppc.c                                    |   47 ++-
 bfd/elf32-spu.c                                    |   28 +-
 bfd/elf32-spu.h                                    |    5 +-
 bfd/elflink.c                                      |  243 ++++----
 bfd/elfxx-ia64.c                                   |  306 +++++++++-
 bfd/elfxx-target.h                                 |    4 +
 bfd/mach-o.c                                       |    5 +
 bfd/pdp11.c                                        |   25 +-
 bfd/po/SRC-POTFILES.in                             |    3 +
 bfd/targets.c                                      |    2 +
 bfd/version.h                                      |    2 +-
 bfd/vmsutil.c                                      |  265 ++++++++
 bfd/vmsutil.h                                      |   20 +
 configure                                          |    4 +
 configure.ac                                       |    4 +
 gdb/ChangeLog                                      |  230 +++++++
 gdb/NEWS                                           |    6 +-
 gdb/cli/cli-decode.c                               |   21 +
 gdb/cli/cli-setshow.c                              |    6 +
 gdb/command.h                                      |   14 +
 gdb/doc/ChangeLog                                  |   16 +
 gdb/doc/gdb.texinfo                                |   40 ++-
 gdb/dummy-frame.c                                  |  112 +++--
 gdb/dummy-frame.h                                  |   16 +-
 gdb/eval.c                                         |   17 +-
 gdb/findvar.c                                      |   75 +---
 gdb/frame.c                                        |   60 +--
 gdb/frame.h                                        |   18 -
 gdb/gdbserver/ChangeLog                            |   24 +
 gdb/gdbserver/gdbreplay.c                          |    2 +-
 gdb/gdbserver/regcache.c                           |    2 -
 gdb/gdbserver/server.c                             |   74 ++-
 gdb/gdbserver/server.h                             |    5 +-
 gdb/gdbserver/thread-db.c                          |    2 +-
 gdb/gdbserver/utils.c                              |   19 +-
 gdb/gdbthread.h                                    |   17 +
 gdb/gdbtypes.c                                     |   53 +--
 gdb/gnu-v3-abi.c                                   |    2 +-
 gdb/hppa-hpux-tdep.c                               |    2 +-
 gdb/inf-ptrace.c                                   |    8 +-
 gdb/inf-ttrace.c                                   |    5 +-
 gdb/infcall.c                                      |  375 ++++++++----
 gdb/infcmd.c                                       |   28 +-
 gdb/inferior.h                                     |   28 +-
 gdb/infrun.c                                       |  221 +++++---
 gdb/linux-nat.c                                    |   12 +-
 gdb/objfiles.c                                     |    4 +-
 gdb/objfiles.h                                     |    6 +
 gdb/procfs.c                                       |    8 +-
 gdb/signals/signals.c                              |   12 +-
 gdb/solib.c                                        |  110 +++--
 gdb/solist.h                                       |    9 +
 gdb/stack.c                                        |    2 +-
 gdb/target.h                                       |    6 +-
 gdb/testsuite/ChangeLog                            |   53 ++
 gdb/testsuite/gdb.base/break.exp                   |    2 +-
 gdb/testsuite/gdb.base/call-signal-resume.exp      |  159 +++++
 gdb/testsuite/gdb.base/call-signals.c              |   89 +++
 gdb/testsuite/gdb.base/find.exp                    |    2 +-
 gdb/testsuite/gdb.base/hook-stop-frame.c           |   32 +
 gdb/testsuite/gdb.base/hook-stop-frame.exp         |   55 ++
 gdb/testsuite/gdb.base/interrupt.c                 |   18 +-
 gdb/testsuite/gdb.base/interrupt.exp               |   38 ++-
 gdb/testsuite/gdb.base/radix.exp                   |   17 +-
 gdb/testsuite/gdb.base/sepdebug.exp                |    2 +-
 gdb/testsuite/gdb.base/unwindonsignal.c            |   65 ++
 gdb/testsuite/gdb.base/unwindonsignal.exp          |   98 +++
 gdb/testsuite/gdb.cp/pr9631.cc                     |   42 ++
 gdb/testsuite/gdb.cp/pr9631.exp                    |   48 ++
 gdb/testsuite/gdb.mi/mi-syn-frame.exp              |    7 +-
 gdb/testsuite/gdb.mi/mi2-syn-frame.exp             |    7 +-
 gdb/testsuite/gdb.server/file-transfer.exp         |    2 +-
 gdb/testsuite/gdb.threads/interrupted-hand-call.c  |  149 +++++
 .../gdb.threads/interrupted-hand-call.exp          |   92 +++
 .../gdb.threads/thread-unwindonsignal.exp          |  117 ++++
 gdb/thread.c                                       |   52 ++-
 gdb/tui/tui-disasm.c                               |   15 +-
 gdb/tui/tui-winsource.c                            |   16 +-
 gdb/utils.c                                        |  166 ++++-
 gdb/valops.c                                       |   58 ++-
 gdb/valprint.c                                     |   20 +-
 gdb/value.h                                        |    5 +-
 gdb/version.in                                     |    2 +-
 include/elf/ChangeLog                              |   17 +
 include/elf/arm.h                                  |   44 +-
 include/elf/ia64.h                                 |   23 +-
 libiberty/ChangeLog                                |    6 +
 libiberty/configure                                |   30 -
 libiberty/configure.ac                             |   23 -
 opcodes/ChangeLog                                  |   18 +
 opcodes/configure                                  |   62 +-
 opcodes/configure.in                               |   32 +-
 opcodes/fr30-asm.c                                 |    2 +-
 opcodes/fr30-dis.c                                 |    4 +-
 opcodes/fr30-ibld.c                                |    4 +-
 opcodes/frv-asm.c                                  |    2 +-
 opcodes/frv-dis.c                                  |    4 +-
 opcodes/frv-ibld.c                                 |    4 +-
 opcodes/ip2k-asm.c                                 |    2 +-
 opcodes/ip2k-dis.c                                 |    4 +-
 opcodes/ip2k-ibld.c                                |    4 +-
 opcodes/iq2000-asm.c                               |    2 +-
 opcodes/iq2000-dis.c                               |    4 +-
 opcodes/iq2000-ibld.c                              |    4 +-
 opcodes/m32c-asm.c                                 |    2 +-
 opcodes/m32c-dis.c                                 |    4 +-
 opcodes/m32c-ibld.c                                |    4 +-
 opcodes/m32r-asm.c                                 |    2 +-
 opcodes/m32r-dis.c                                 |    4 +-
 opcodes/m32r-ibld.c                                |    4 +-
 opcodes/mep-asm.c                                  |    2 +-
 opcodes/mep-dis.c                                  |    4 +-
 opcodes/mep-ibld.c                                 |    4 +-
 opcodes/mt-asm.c                                   |    2 +-
 opcodes/mt-dis.c                                   |    4 +-
 opcodes/mt-ibld.c                                  |    4 +-
 opcodes/openrisc-asm.c                             |    2 +-
 opcodes/openrisc-dis.c                             |    4 +-
 opcodes/openrisc-ibld.c                            |    4 +-
 opcodes/po/POTFILES.in                             |    8 +
 opcodes/xc16x-asm.c                                |    2 +-
 opcodes/xc16x-dis.c                                |    4 +-
 opcodes/xc16x-ibld.c                               |    4 +-
 opcodes/xstormy16-asm.c                            |    2 +-
 opcodes/xstormy16-dis.c                            |    4 +-
 opcodes/xstormy16-ibld.c                           |    4 +-
 sim/ChangeLog                                      |   20 +
 sim/cris/sim-if.c                                  |  127 ++++-
 sim/testsuite/ChangeLog                            |    6 +
 sim/testsuite/lib/sim-defs.exp                     |    4 +-
 sim/testsuite/sim/cris/asm/bare3.ms                |   41 ++
 sim/testsuite/sim/cris/asm/opterr3.ms              |   10 +
 sim/testsuite/sim/cris/asm/opterr4.ms              |    7 +
 sim/testsuite/sim/cris/asm/opterr5.ms              |    7 +
 152 files changed, 4708 insertions(+), 1376 deletions(-)
 create mode 100644 bfd/vmsutil.c
 create mode 100644 bfd/vmsutil.h
 create mode 100644 gdb/testsuite/gdb.base/call-signal-resume.exp
 create mode 100644 gdb/testsuite/gdb.base/call-signals.c
 create mode 100644 gdb/testsuite/gdb.base/hook-stop-frame.c
 create mode 100644 gdb/testsuite/gdb.base/hook-stop-frame.exp
 create mode 100644 gdb/testsuite/gdb.base/unwindonsignal.c
 create mode 100644 gdb/testsuite/gdb.base/unwindonsignal.exp
 create mode 100644 gdb/testsuite/gdb.cp/pr9631.cc
 create mode 100644 gdb/testsuite/gdb.cp/pr9631.exp
 create mode 100644 gdb/testsuite/gdb.threads/interrupted-hand-call.c
 create mode 100644 gdb/testsuite/gdb.threads/interrupted-hand-call.exp
 create mode 100644 gdb/testsuite/gdb.threads/thread-unwindonsignal.exp
 create mode 100644 sim/testsuite/sim/cris/asm/bare3.ms
 create mode 100644 sim/testsuite/sim/cris/asm/opterr3.ms
 create mode 100644 sim/testsuite/sim/cris/asm/opterr4.ms
 create mode 100644 sim/testsuite/sim/cris/asm/opterr5.ms

First 500 lines of diff:
diff --git a/COPYING.NEWLIB b/COPYING.NEWLIB
index b3cccd8..68ff0c2 100644
--- a/COPYING.NEWLIB
+++ b/COPYING.NEWLIB
@@ -767,3 +767,34 @@ SUCH DAMAGE.
  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  SUCH DAMAGE.
+
+
+(35) - ARM Ltd (arm and thumb variant targets only)
+
+ Copyright (c) 2009 ARM Ltd
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. The name of the company may not be used to endorse or promote
+    products derived from this software without specific prior written
+    permission.
+
+ THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
diff --git a/ChangeLog b/ChangeLog
index 9ee88bf..1da2e0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2009-01-21  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* COPYING.NEWLIB: Add ARM license.
+
+2009-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.def (configure-opcodes): Depend on configure-libiberty.
+	(all-opcodes): Depend on all-libiberty.
+	* Makefile.in: Regenerate.
+
+2009-01-15  Douglas B Rupp  <rupp@gnat.com>
+
+	* configure.ac (ia64*-*-*vms*): Add case with no gdb or ld support.
+	* configure: Regenerate.
+
 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 	Backport link test fix from upstream Libtool:
diff --git a/Makefile.def b/Makefile.def
index dea795a..fee4dda 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -4,7 +4,8 @@ AutoGen definitions Makefile.tpl;
 // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
 // This file was originally written by Nathanael Nerode.
 //
-//   Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation
+//   Copyright 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
@@ -357,6 +358,8 @@ dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };
 dependencies = { module=configure-bfd; on=configure-intl; };
 dependencies = { module=all-bfd; on=all-libiberty; };
 dependencies = { module=all-bfd; on=all-intl; };
+dependencies = { module=configure-opcodes; on=configure-libiberty; hard=true; };
+dependencies = { module=all-opcodes; on=all-libiberty; };
 
 dependencies = { module=configure-binutils; on=configure-intl; };
 dependencies = { module=all-binutils; on=all-libiberty; };
diff --git a/Makefile.in b/Makefile.in
index ab03aab..2df155e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -55311,6 +55311,26 @@ all-stageb3g2-bfd: maybe-all-stageb3g2-intl
 all-stage4-bfd: maybe-all-stage4-intl
 all-stageprofile-bfd: maybe-all-stageprofile-intl
 all-stagefeedback-bfd: maybe-all-stagefeedback-intl
+configure-opcodes: configure-libiberty
+
+configure-stage1-opcodes: configure-stage1-libiberty
+configure-stage2-opcodes: configure-stage2-libiberty
+configure-stageb2g0-opcodes: configure-stageb2g0-libiberty
+configure-stage3-opcodes: configure-stage3-libiberty
+configure-stageb3g2-opcodes: configure-stageb3g2-libiberty
+configure-stage4-opcodes: configure-stage4-libiberty
+configure-stageprofile-opcodes: configure-stageprofile-libiberty
+configure-stagefeedback-opcodes: configure-stagefeedback-libiberty
+all-opcodes: maybe-all-libiberty
+
+all-stage1-opcodes: maybe-all-stage1-libiberty
+all-stage2-opcodes: maybe-all-stage2-libiberty
+all-stageb2g0-opcodes: maybe-all-stageb2g0-libiberty
+all-stage3-opcodes: maybe-all-stage3-libiberty
+all-stageb3g2-opcodes: maybe-all-stageb3g2-libiberty
+all-stage4-opcodes: maybe-all-stage4-libiberty
+all-stageprofile-opcodes: maybe-all-stageprofile-libiberty
+all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty
 configure-binutils: maybe-configure-intl
 
 configure-stage1-binutils: maybe-configure-stage1-intl
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index bc2df92..f6102d5 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,202 @@
+2009-01-27  Andreas Schwab  <schwab@suse.de>
+
+	* mach-o.c (bfd_mach_o_archive_p): Restrict the number of
+	architectures in the archive.
+
+2009-01-27  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL>
+	<R_CRIS_32_DTPREL>: Correct relocation value.
+
+	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8>
+	<R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefined
+	symbols with non-default visibility.
+
+2009-01-26  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
+	describing the trampolines.
+	(ppc_elf_relocate_section): Update relocs to describe the
+	trampolines.
+
+2009-01-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure that
+	branch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17F
+	and R_PARISC_PCREL12F relocations.
+
+2009-01-24  Alan Modra  <amodra@bigpond.net.au>
+
+	PR 6022
+	* elflink.c (find_version_for_sym): New function split out from,
+	but without export_dynamic test, ..
+	(_bfd_elf_link_assign_sym_version): ..here.
+	(_bfd_elf_export_symbol): Use it.
+
+2009-01-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_assign_sym_version_info): Delete.
+	(struct elf_info_failed, struct elf_find_verdep_info): Move to..
+	* elflink.c: ..here, somewhat modified.
+	* elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,
+	_bfd_elf_link_find_version_dependencies,
+	_bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,
+	_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
+	_bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don't
+	declare..
+	* elflink.c: ..and make static here.
+	(_bfd_elf_link_find_version_dependencies): Adjust for removal
+	of output_bfd from struct elf_find_verdep_info.
+	(_bfd_elf_link_assign_sym_version): Similarly adjust to use
+	struct elf_info_failed.
+	(bfd_elf_size_dynamic_sections): Adjust.
+
+2009-01-22  Alan Modra  <amodra@bigpond.net.au>
+
+	PR 6832
+	* dwarf2.c (find_line): Don't update stash->sec_info_ptr until
+	after comp_unit_find_line call.
+
+2009-01-21  Nick Clifton  <nickc@redhat.com>
+
+	PR 9769
+	* vmsutil.c (vms_file_stats_name): Remove use of unsupported
+	tm_gmtoff field in struct tm.
+
+2009-01-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-spu.h (struct spu_elf_params): Add non_ia_text.
+	* elf32-spu.c (mark_overlay_section): Only include .text.ia.*
+	sections in soft-icache lines unless non_ia_text.  Don't add
+	rodata if doing so would exceed line size.
+
+2009-01-19  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
+	types than bfd_link_hash_indirect, before early return, call
+	_bfd_elf_link_hash_copy_indirect.
+
+2009-01-19  Andrew Stubbs  <ams@codesourcery.com>
+
+	* elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
+	* elf-bfd.h (elf_backend_data): Add obj_attrs_order.
+	* elf32-arm.c (elf32_arm_obj_attrs_order): New function.
+	(elf_backend_obj_attrs_order): New define.
+	* elfxx-target.h (elf_backend_obj_attrs_order): New define.
+	(elfNN_bed): Add elf_backend_obj_attrs_order.
+
+2009-01-19  Andrew Stubbs  <ams@codesourcery.com>
+
+	* elf-attrs.c (is_default_attr): Substitute magic numbers with macros.
+	(obj_attr_size): Likewise.
+	(write_obj_attribute): Likewise.
+	(_bfd_elf_copy_obj_attributes): Likewise.
+	(_bfd_elf_parse_attributes): Likewise.
+	* elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.
+	(ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.
+	(ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.
+	(ATTR_TYPE_HAS_NO_DEFAULT): New define.
+	* elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numbers
+	with macros.
+
+2009-01-19  Andrew Stubbs  <ams@codesourcery.com>
+
+	* elf-attrs.c (is_default_attr): Support defaultless attributes.
+	(bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
+	(bfd_elf_add_obj_attr_string): Likewise.
+	(bfd_elf_add_obj_attr_int_string): Likewise.
+	(_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
+	* elf-bfd.h (struct obj_attribute): Document new flag bit.
+	* elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
+	Tag_nodefaults has no default value.
+	(elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
+	comment to reflect the new state.
+
+2009-01-19  Alan Modra  <amodra@bigpond.net.au>
+
+	PR 9695
+	* pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.
+	(some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.
+	(adjust_z_magix): Delete dead code handling QMAGIC.
+
+2009-01-16  Kai Tietz  <kai.tietz@onevision.com>
+
+	* coffcode.h (styp_to_sec_flags): Correct interpretation of
+	IMAGE_SCN_MEM_DISCARDABLE.
+
+2009-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute
+	SHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.
+	* configure.in (commonbfdlib): Delete.
+	(SHARED_LDFLAGS): Rename from WIN32LDFLAGS/
+	(SHARED_LIBADD): Rename from WIN32LIBADD.  Add pic libiberty if such
+	is available, not just for linux.
+	* po/SRC-POTFILES.in: Regenerate.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+
+2009-01-15  Andrew Stubbs  <ams@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+
+	* elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
+	ARM attributes in ABI 2.07.
+	* elf32-arm.c (get_secondary_compatible_arch): New function.
+	(set_secondary_compatible_arch): New function.
+	(tag_cpu_arch_combine): New function.
+	(elf32_arm_copy_one_eabi_other_attribute): Delete function.
+	(elf32_arm_copy_eabi_other_attribute_list): Delete function.
+	(elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
+	make it fit with order_01243.
+	Add support for Tag_also_compatible_with,
+	Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
+	Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
+	Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
+	Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
+	Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
+	Tag_VFP_arch and Tag_ABI_FP_16bit_format.
+	Rework the way unknown attributes are handled.
+	Defer errors until all attributes have been processed.
+
+2009-01-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename to
+	bfd_elf_add_obj_attr_int_string.
+	Read Tag_compatibility from its new location in the attribute array,
+	rather than the attribute list.
+	(_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->
+	bfd_elf_add_obj_attr_int_string.
+	(_bfd_elf_parse_attributes): Likewise.
+	(_bfd_elf_merge_object_attributes): There's now only one
+	Tag_compatibility, and it's in the array, not the list.
+	* elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to include
+	Tag_compatibility.
+	(bfd_elf_add_obj_attr_compat): Rename to
+	bfd_elf_add_obj_attr_int_string.
+	(bfd_elf_add_proc_attr_compat): Rename to
+	bfd_elf_add_proc_attr_int_string.
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handle
+	Tag_compatibility.
+
+2009-01-15  Douglas B Rupp  <rupp@gnat.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
+	(BFD32_BACKENDS_CFILES): Add new file vmsutil.c
+	(vmsutil.lo): Add dependency rule.
+	* Makefile.in: Regenerate.
+	* config.bfd (ia64*-*-*vms*): Add case.
+	* configure.in (bfd_elf64_ia64_vms_vec): Add case.
+	* configure: Regenerate.
+	* vmsutil.c: New file.
+	* vmsutil.h: New file.
+	* elf-bfd.h (struct bfd_elf_special_section): Change type of
+	attr to bfd_vma.
+	* elfxx-ia64.c (elfNN_vms_post_process_headers,
+	elfNN_vms_section_processing, elfNN_vms_final_write_processing,
+	elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
+	elfNN_vms_object_p): New functions
+	* targets.c (bfd_elf64_ia64_vms_vec): New target.
+
 2009-01-14  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/9727
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 4eac4a0..593647c 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -371,6 +371,7 @@ BFD32_BACKENDS = \
 	vms-hdr.lo \
 	vms-misc.lo \
 	vms-tir.lo \
+	vmsutil.lo \
 	xcofflink.lo \
 	xsym.lo \
 	xtensa-isa.lo \
@@ -552,6 +553,7 @@ BFD32_BACKENDS_CFILES = \
 	vms-hdr.c \
 	vms-misc.c \
 	vms-tir.c \
+	vmsutil.c \
 	xcofflink.c \
 	xsym.c \
 	xtensa-isa.c \
@@ -767,8 +769,8 @@ ofiles: stamp-ofiles ; @true
 # libbfd_la_SOURCES, we put BFD64_LIBS in OFILES instead.
 libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
 libbfd_la_DEPENDENCIES = $(OFILES) ofiles
-libbfd_la_LIBADD = `cat ofiles` @WIN32LIBADD@
-libbfd_la_LDFLAGS = -release `cat libtool-soversion` @WIN32LDFLAGS@
+libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@
+libbfd_la_LDFLAGS = -release `cat libtool-soversion` @SHARED_LDFLAGS@
 
 # libtool will build .libs/libbfd.a.  We create libbfd.a in the build
 # directory so that we don't have to convert all the programs that use
@@ -1833,6 +1835,7 @@ vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
 vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
+vmsutil.lo: vmsutil.c vmsutil.h $(INCDIR)/ansidecl.h
 xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \
   libcoff.h libxcoff.h
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index fc370b0..afaadb7 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -203,14 +203,14 @@ REPORT_BUGS_TEXI = @REPORT_BUGS_TEXI@
 REPORT_BUGS_TO = @REPORT_BUGS_TO@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
+SHARED_LDFLAGS = @SHARED_LDFLAGS@
+SHARED_LIBADD = @SHARED_LIBADD@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TDEFINES = @TDEFINES@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
-WIN32LDFLAGS = @WIN32LDFLAGS@
-WIN32LIBADD = @WIN32LIBADD@
 XGETTEXT = @XGETTEXT@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
@@ -637,6 +637,7 @@ BFD32_BACKENDS = \
 	vms-hdr.lo \
 	vms-misc.lo \
 	vms-tir.lo \
+	vmsutil.lo \
 	xcofflink.lo \
 	xsym.lo \
 	xtensa-isa.lo \
@@ -818,6 +819,7 @@ BFD32_BACKENDS_CFILES = \
 	vms-hdr.c \
 	vms-misc.c \
 	vms-tir.c \
+	vmsutil.c \
 	xcofflink.c \
 	xsym.c \
 	xtensa-isa.c \
@@ -975,8 +977,8 @@ OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@ @bfd64_libs@
 # libbfd_la_SOURCES, we put BFD64_LIBS in OFILES instead.
 libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
 libbfd_la_DEPENDENCIES = $(OFILES) ofiles
-libbfd_la_LIBADD = `cat ofiles` @WIN32LIBADD@
-libbfd_la_LDFLAGS = -release `cat libtool-soversion` @WIN32LDFLAGS@
+libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@
+libbfd_la_LDFLAGS = -release `cat libtool-soversion` @SHARED_LDFLAGS@
 
 # libtool will build .libs/libbfd.a.  We create libbfd.a in the build
 # directory so that we don't have to convert all the programs that use
@@ -2022,15 +2024,15 @@ elf32-iq2000.lo: elf32-iq2000.c $(INCDIR)/filenames.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/reloc-macros.h \
   elf32-target.h
-elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h elf-bfd.h \
-  $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
-  $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h $(INCDIR)/elf/reloc-macros.h \
-  elf32-target.h
 elf32-m32c.lo: elf32-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
   $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32c.h \
   $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
   elf32-target.h
+elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h elf-bfd.h \
+  $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+  $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h $(INCDIR)/elf/reloc-macros.h \
+  elf32-target.h
 elf32-m32r.lo: elf32-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
   $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32r.h \
@@ -2429,6 +2431,7 @@ vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
 vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
+vmsutil.lo: vmsutil.c vmsutil.h $(INCDIR)/ansidecl.h
 xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \
   libcoff.h libxcoff.h
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 12d2ad5..db0b2e9 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -1069,10 +1069,19 @@ styp_to_sec_flags (bfd *abfd,
 	  sec_flags &= ~ SEC_READONLY;
 	  break;
 	case IMAGE_SCN_MEM_DISCARDABLE:
-	  /* The MS PE spec sets the DISCARDABLE flag on .reloc sections
-	     but we do not want them to be labelled as debug section, since
-	     then strip would remove them.  */
-	  if (! CONST_STRNEQ (name, ".reloc"))
+	  /* The MS PE spec says that debug sections are DISCARDABLE,
+	     but the presence of a DISCARDABLE flag does not necessarily
+	     mean that a given section contains debug information.  Thus
+	     we only set the SEC_DEBUGGING flag on sections that we
+	     recognise as containing debug information.  */
+	     if (CONST_STRNEQ (name, DOT_DEBUG)
+#ifdef _COMMENT
+	      || strcmp (name, _COMMENT) == 0
+#endif
+#ifdef COFF_LONG_SECTION_NAMES
+  	      || CONST_STRNEQ (name, GNU_LINKONCE_WI)
+#endif
+	      || CONST_STRNEQ (name, ".stab"))
 	    sec_flags |= SEC_DEBUGGING;
 	  break;
 	case IMAGE_SCN_MEM_SHARED:
diff --git a/bfd/config.bfd b/bfd/config.bfd
index e3d2b86..d9865e6 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -187,6 +187,10 @@ case "${targ}" in
     targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
     want64=true
     ;;
+  ia64*-*-*vms*)
+    targ_defvec=bfd_elf64_ia64_vms_vec
+    want64=true
+    ;;
   sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf64_sparc_freebsd_vec
     targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec"
diff --git a/bfd/configure b/bfd/configure
index a3ca40f..eaab98d 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -458,7 +458,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S OBJDUMP ac_ct_OBJDUMP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 DEBUGDIR PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI WARN_CFLAGS NO_WERROR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GENINSRC_NEVER_TRUE GENINSRC_NEVER_FALSE INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT MKINSTALLDIRS MSGFMT MSGMERGE HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_64BIT_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT BFD_HOSTPTR_T CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG WIN32LDFLAGS WIN32LIBADD TDEFINES wordsize bfd64_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults datarootdir docdir htmldir LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S OBJDUMP ac_ct_OBJDUMP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 DEBUGDIR PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI WARN_CFLAGS NO_WERROR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GENINSRC_NEVER_TRUE GENINSRC_NEVER_FALSE INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT MKINSTALLDIRS MSGFMT MSGMERGE HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_64BIT_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT BFD_HOSTPTR_T CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG SHARED_LDFLAGS SHARED_LIBADD TDEFINES wordsize bfd64_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults datarootdir docdir htmldir LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 ac_pwd=`pwd`
 
@@ -1012,7 +1012,6 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)
   --enable-targets        alternative target configurations
-  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library
   --enable-secureplt      Default to creating read-only plt entries


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


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

end of thread, other threads:[~2009-02-05 21:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-15 19:19 [SCM] archer-sergio-catch-syscall: Merge branch 'master' into archer-sergio-catch-syscall sergio
2009-01-29 14:14 sergio
2009-02-05 21:37 sergio

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).