Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/gpl3/gdb/dist merge conflicts
details: https://anonhg.NetBSD.org/src/rev/908cbd726752
branches: trunk
changeset: 343419:908cbd726752
user: christos <christos%NetBSD.org@localhost>
date: Wed Feb 03 03:23:27 2016 +0000
description:
merge conflicts
diffstat:
external/gpl3/gdb/dist/bfd/coff-or32.c | 629 -
external/gpl3/gdb/dist/bfd/config.bfd | 81 +-
external/gpl3/gdb/dist/bfd/configure | 135 +-
external/gpl3/gdb/dist/bfd/configure.in | 1205 --
external/gpl3/gdb/dist/bfd/cpu-openrisc.c | 44 -
external/gpl3/gdb/dist/bfd/cpu-or32.c | 42 -
external/gpl3/gdb/dist/bfd/doc/Makefile.am | 6 +
external/gpl3/gdb/dist/bfd/doc/Makefile.in | 15 +-
external/gpl3/gdb/dist/bfd/doc/bfd.info | Bin
external/gpl3/gdb/dist/bfd/elf.c | 733 +-
external/gpl3/gdb/dist/bfd/elf32-i386.c | 204 +-
external/gpl3/gdb/dist/bfd/elf32-openrisc.c | 570 -
external/gpl3/gdb/dist/bfd/elf32-or32.c | 514 -
external/gpl3/gdb/dist/bfd/ticoff.h | 121 -
external/gpl3/gdb/dist/config.guess | 25 +-
external/gpl3/gdb/dist/config.sub | 11 +-
external/gpl3/gdb/dist/config/cloog.m4 | 152 -
external/gpl3/gdb/dist/cpu/openrisc.cpu | 774 -
external/gpl3/gdb/dist/cpu/openrisc.opc | 164 -
external/gpl3/gdb/dist/etc/configbuild.ein | 149 -
external/gpl3/gdb/dist/etc/configbuild.fig | 50 -
external/gpl3/gdb/dist/etc/configbuild.jin | Bin
external/gpl3/gdb/dist/etc/configbuild.tin | 9 -
external/gpl3/gdb/dist/etc/configdev.ein | 185 -
external/gpl3/gdb/dist/etc/configdev.fig | 80 -
external/gpl3/gdb/dist/etc/configdev.jin | Bin
external/gpl3/gdb/dist/etc/configdev.tin | 17 -
external/gpl3/gdb/dist/etc/configure.info | Bin
external/gpl3/gdb/dist/etc/configure.texi | 2646 ------
external/gpl3/gdb/dist/etc/fdl.texi | 505 -
external/gpl3/gdb/dist/etc/gnu-oids.texi | 52 -
external/gpl3/gdb/dist/etc/make-stds.texi | 1135 --
external/gpl3/gdb/dist/etc/standards.info | Bin
external/gpl3/gdb/dist/etc/standards.texi | 4235 ----------
external/gpl3/gdb/dist/gdb/ada-lang.c | 459 +-
external/gpl3/gdb/dist/gdb/alpha-nat.c | 211 -
external/gpl3/gdb/dist/gdb/alpha-osf1-tdep.c | 79 -
external/gpl3/gdb/dist/gdb/alphanbsd-tdep.c | 4 +-
external/gpl3/gdb/dist/gdb/amd64bsd-nat.c | 36 +
external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c | 10 +-
external/gpl3/gdb/dist/gdb/arm-tdep.c | 144 +-
external/gpl3/gdb/dist/gdb/cleanups.c | 297 -
external/gpl3/gdb/dist/gdb/cleanups.h | 69 -
external/gpl3/gdb/dist/gdb/common/common-defs.h | 13 +-
external/gpl3/gdb/dist/gdb/common/gdb_thread_db.h | 16 -
external/gpl3/gdb/dist/gdb/common/glibc_thread_db.h | 458 -
external/gpl3/gdb/dist/gdb/common/i386-cpuid.h | 63 -
external/gpl3/gdb/dist/gdb/common/i386-gcc-cpuid.h | 278 -
external/gpl3/gdb/dist/gdb/common/i386-xstate.h | 55 -
external/gpl3/gdb/dist/gdb/common/linux-btrace.c | 587 -
external/gpl3/gdb/dist/gdb/common/linux-btrace.h | 77 -
external/gpl3/gdb/dist/gdb/common/linux-osdata.c | 1638 ---
external/gpl3/gdb/dist/gdb/common/linux-osdata.h | 29 -
external/gpl3/gdb/dist/gdb/common/linux-procfs.c | 121 -
external/gpl3/gdb/dist/gdb/common/linux-procfs.h | 43 -
external/gpl3/gdb/dist/gdb/common/linux-ptrace.c | 544 -
external/gpl3/gdb/dist/gdb/common/linux-ptrace.h | 94 -
external/gpl3/gdb/dist/gdb/common/mips-linux-watch.c | 349 -
external/gpl3/gdb/dist/gdb/common/mips-linux-watch.h | 126 -
external/gpl3/gdb/dist/gdb/config/alpha/alpha-osf3.mh | 7 -
external/gpl3/gdb/dist/gdb/config/alpha/nm-osf3.h | 35 -
external/gpl3/gdb/dist/gdb/config/ia64/hpux.mh | 3 -
external/gpl3/gdb/dist/gdb/config/mips/irix5.mh | 4 -
external/gpl3/gdb/dist/gdb/config/mips/irix6.mh | 4 -
external/gpl3/gdb/dist/gdb/config/pa/hpux.mh | 3 -
external/gpl3/gdb/dist/gdb/config/vax/vax.mh | 2 -
external/gpl3/gdb/dist/gdb/configure | 1462 ++-
external/gpl3/gdb/dist/gdb/configure.ac | 117 +-
external/gpl3/gdb/dist/gdb/configure.host | 10 +-
external/gpl3/gdb/dist/gdb/configure.tgt | 17 +-
external/gpl3/gdb/dist/gdb/d-exp.c | 8 +-
external/gpl3/gdb/dist/gdb/dec-thread.c | 740 -
external/gpl3/gdb/dist/gdb/development.sh | 21 -
external/gpl3/gdb/dist/gdb/gdbserver/i386-low.c | 636 -
external/gpl3/gdb/dist/gdb/gdbserver/i386-low.h | 116 -
external/gpl3/gdb/dist/gdb/hppa-hpux-nat.c | 273 -
external/gpl3/gdb/dist/gdb/hppa-hpux-tdep.c | 1570 ---
external/gpl3/gdb/dist/gdb/hppa-tdep.c | 177 +-
external/gpl3/gdb/dist/gdb/hppa-tdep.h | 35 -
external/gpl3/gdb/dist/gdb/hppabsd-nat.c | 264 -
external/gpl3/gdb/dist/gdb/i386-nat.c | 886 --
external/gpl3/gdb/dist/gdb/i386-nat.h | 123 -
external/gpl3/gdb/dist/gdb/i386bsd-nat.c | 51 +-
external/gpl3/gdb/dist/gdb/i386bsd-nat.h | 3 +
external/gpl3/gdb/dist/gdb/ia64-hpux-nat.c | 756 -
external/gpl3/gdb/dist/gdb/ia64-hpux-tdep.c | 434 -
external/gpl3/gdb/dist/gdb/ia64-hpux-tdep.h | 24 -
external/gpl3/gdb/dist/gdb/inf-ptrace.c | 38 +-
external/gpl3/gdb/dist/gdb/inf-ttrace.c | 1224 --
external/gpl3/gdb/dist/gdb/inf-ttrace.h | 28 -
external/gpl3/gdb/dist/gdb/irix5-nat.c | 274 -
external/gpl3/gdb/dist/gdb/m68kbsd-tdep.c | 4 +-
external/gpl3/gdb/dist/gdb/mips-irix-tdep.c | 291 -
external/gpl3/gdb/dist/gdb/mipsnbsd-tdep.c | 4 +-
external/gpl3/gdb/dist/gdb/objfiles.c | 16 +-
external/gpl3/gdb/dist/gdb/p-exp.y | 10 +-
external/gpl3/gdb/dist/gdb/python/lib/gdb/command/bound_registers.py | 45 -
external/gpl3/gdb/dist/gdb/regcache.c | 12 +-
external/gpl3/gdb/dist/gdb/regset.c | 44 -
external/gpl3/gdb/dist/gdb/remote.c | 1907 +++-
external/gpl3/gdb/dist/gdb/sh-tdep.c | 9 +-
external/gpl3/gdb/dist/gdb/solib-ia64-hpux.c | 701 -
external/gpl3/gdb/dist/gdb/solib-ia64-hpux.h | 25 -
external/gpl3/gdb/dist/gdb/solib-irix.c | 655 -
external/gpl3/gdb/dist/gdb/solib-irix.h | 26 -
external/gpl3/gdb/dist/gdb/solib-osf.c | 639 -
external/gpl3/gdb/dist/gdb/solib-pa64.c | 654 -
external/gpl3/gdb/dist/gdb/solib-pa64.h | 25 -
external/gpl3/gdb/dist/gdb/solib-som.c | 891 --
external/gpl3/gdb/dist/gdb/solib-som.h | 35 -
external/gpl3/gdb/dist/gdb/solib.c | 341 +-
external/gpl3/gdb/dist/gdb/somread.c | 547 -
external/gpl3/gdb/dist/gdb/testsuite/config/vx.exp | 126 -
external/gpl3/gdb/dist/gdb/testsuite/config/vxworks.exp | 16 -
external/gpl3/gdb/dist/gdb/testsuite/config/vxworks29k.exp | 23 -
external/gpl3/gdb/dist/gdb/testsuite/dg-extract-results.py | 585 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.arch/ppc64-atomic-inst.c | 44 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.btrace/finish.exp | 59 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.btrace/next.exp | 76 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.btrace/nexti.exp | 76 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.btrace/x86-record_goto.S | 355 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.btrace/x86-tailcall.S | 279 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.btrace/x86-tailcall.c | 39 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter-debug.S | 122 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S | 166 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/Makefile.in | 42 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in | 25 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.aCC/optimize.c | 76 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp | 143 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.aCC/run.c | 37 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp | 148 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in | 30 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c | 358 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp | 334 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c | 10 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp | 146 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c | 229 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c | 9 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp | 74 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c | 37 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp | 119 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp | 182 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s | 104 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp | 230 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/reg.s | 96 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c | 43 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp | 156 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp | 331 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk | 74 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh | 34 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/Makefile.in | 25 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/average.c | 46 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/sum.c | 15 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb.c | 20 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb0.c | 39 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb0.h | 36 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb1.c | 33 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp | 67 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp | 95 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp | 316 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/Makefile.in | 25 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/bs14602.c | 9 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp | 111 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/solib-d.c | 6 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp | 271 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c | 12 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c | 11 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in | 26 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp | 223 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x1.cc | 25 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x2.cc | 14 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.cc | 7 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h | 22 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp | 86 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x1.cc | 16 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x2.cc | 17 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x3.cc | 6 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp | 165 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x1.cc | 15 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc | 7 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x3.cc | 21 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp | 66 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h | 30 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc | 15 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc | 3 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr | 8 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr.pa64 | 8 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/gdb.objdbg/tools/test-objdbg.cc | 4 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.hp/tools/odump | 7 -
external/gpl3/gdb/dist/gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in | 63 -
external/gpl3/gdb/dist/gdb/tui/tui-stack.c | 93 +-
external/gpl3/gdb/dist/gdb/utils.c | 235 +-
external/gpl3/gdb/dist/gdb/varobj.c | 218 +-
external/gpl3/gdb/dist/gdb/vax-nat.c | 106 -
external/gpl3/gdb/dist/gdb/windows-termcap.c | 76 -
external/gpl3/gdb/dist/include/coff/or32.h | 288 -
external/gpl3/gdb/dist/include/elf/openrisc.h | 39 -
external/gpl3/gdb/dist/include/elf/or32.h | 56 -
external/gpl3/gdb/dist/include/gdbm.h | 91 -
external/gpl3/gdb/dist/include/opcode/or32.h | 181 -
external/gpl3/gdb/dist/include/opcode/ppc.h | 22 +
external/gpl3/gdb/dist/opcodes/arm-dis.c | 3888 ++++++---
external/gpl3/gdb/dist/opcodes/configure | 3 +-
external/gpl3/gdb/dist/opcodes/configure.in | 399 -
external/gpl3/gdb/dist/opcodes/openrisc-asm.c | 649 -
external/gpl3/gdb/dist/opcodes/openrisc-desc.c | 1018 --
external/gpl3/gdb/dist/opcodes/openrisc-desc.h | 288 -
external/gpl3/gdb/dist/opcodes/openrisc-dis.c | 556 -
external/gpl3/gdb/dist/opcodes/openrisc-ibld.c | 1009 --
external/gpl3/gdb/dist/opcodes/openrisc-opc.c | 682 -
external/gpl3/gdb/dist/opcodes/openrisc-opc.h | 113 -
external/gpl3/gdb/dist/opcodes/or32-dis.c | 325 -
external/gpl3/gdb/dist/opcodes/or32-opc.c | 1031 --
external/gpl3/gdb/dist/sim/arm/tconfig.in | 17 -
external/gpl3/gdb/dist/sim/bfin/tconfig.in | 27 -
external/gpl3/gdb/dist/sim/common/callback.c | 94 +-
external/gpl3/gdb/dist/sim/common/create-version.sh | 38 -
external/gpl3/gdb/dist/sim/common/run-sim.h | 93 -
external/gpl3/gdb/dist/sim/common/run.c | 357 -
external/gpl3/gdb/dist/sim/common/tconfig.in | 19 -
external/gpl3/gdb/dist/sim/configure | 36 +-
external/gpl3/gdb/dist/sim/cris/tconfig.in | 55 -
external/gpl3/gdb/dist/sim/erc32/end.c | 27 -
external/gpl3/gdb/dist/sim/frv/tconfig.in | 42 -
external/gpl3/gdb/dist/sim/h8300/tconfig.in | 17 -
external/gpl3/gdb/dist/sim/iq2000/tconfig.in | 42 -
external/gpl3/gdb/dist/sim/lm32/tconfig.in | 27 -
external/gpl3/gdb/dist/sim/m32r/tconfig.in | 44 -
external/gpl3/gdb/dist/sim/mcore/sysdep.h | 94 -
external/gpl3/gdb/dist/sim/microblaze/sysdep.h | 94 -
external/gpl3/gdb/dist/sim/mips/Makefile.in | 9 +-
external/gpl3/gdb/dist/sim/mips/tconfig.in | 40 -
external/gpl3/gdb/dist/sim/mn10300/Makefile.in | 8 +-
external/gpl3/gdb/dist/sim/mn10300/tconfig.in | 29 -
external/gpl3/gdb/dist/sim/moxie/sysdep.h | 94 -
external/gpl3/gdb/dist/sim/sh/tconfig.in | 17 -
external/gpl3/gdb/dist/sim/sh64/tconfig.in | 45 -
external/gpl3/gdb/dist/sim/v850/Makefile.in | 4 -
external/gpl3/gdb/dist/src-release | 318 -
239 files changed, 7467 insertions(+), 49124 deletions(-)
diffs (truncated from 62717 to 300 lines):
diff -r d569f8121038 -r 908cbd726752 external/gpl3/gdb/dist/bfd/coff-or32.c
--- a/external/gpl3/gdb/dist/bfd/coff-or32.c Wed Feb 03 02:59:08 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,629 +0,0 @@
-/* BFD back-end for OpenRISC 1000 COFF binaries.
- Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012
- Free Software Foundation, Inc.
- Contributed by Ivan Guzvinec <ivang%opencores.org@localhost>
-
- This file is part of BFD, the Binary File Descriptor library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
- MA 02110-1301, USA. */
-
-#define OR32 1
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/or32.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-static bfd_reloc_status_type or32_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
-
-#define INSERT_HWORD(WORD,HWORD) \
- (((WORD) & 0xffff0000) | ((HWORD)& 0x0000ffff))
-#define EXTRACT_HWORD(WORD) \
- ((WORD) & 0x0000ffff)
-#define SIGN_EXTEND_HWORD(HWORD) \
- ((HWORD) & 0x8000 ? (HWORD)|(~0xffffL) : (HWORD))
-
-#define INSERT_JUMPTARG(WORD,JT) \
- (((WORD) & 0xfc000000) | ((JT)& 0x03ffffff))
-#define EXTRACT_JUMPTARG(WORD) \
- ((WORD) & 0x03ffffff)
-#define SIGN_EXTEND_JUMPTARG(JT) \
- ((JT) & 0x04000000 ? (JT)|(~0x03ffffffL) : (JT))
-
-/* Provided the symbol, returns the value reffed. */
-
-static long
-get_symbol_value (asymbol *symbol)
-{
- long relocation = 0;
-
- if (bfd_is_com_section (symbol->section))
- relocation = 0;
- else
- relocation = symbol->value +
- symbol->section->output_section->vma +
- symbol->section->output_offset;
-
- return relocation;
-}
-
-/* This function is in charge of performing all the or32 relocations. */
-
-static bfd_reloc_status_type
-or32_reloc (bfd *abfd,
- arelent *reloc_entry,
- asymbol *symbol_in,
- void * data,
- asection *input_section,
- bfd *output_bfd,
- char **error_message)
-{
- /* The consth relocation comes in two parts, we have to remember
- the state between calls, in these variables. */
- static bfd_boolean part1_consth_active = FALSE;
- static unsigned long part1_consth_value;
-
- unsigned long insn;
- unsigned long sym_value;
- unsigned long unsigned_value;
- unsigned short r_type;
- long signed_value;
-
- unsigned long addr = reloc_entry->address ; /*+ input_section->vma*/
- bfd_byte *hit_data =addr + (bfd_byte *)(data);
-
- r_type = reloc_entry->howto->type;
-
- if (output_bfd)
- {
- /* Partial linking - do nothing. */
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- if (symbol_in != NULL
- && bfd_is_und_section (symbol_in->section))
- {
- /* Keep the state machine happy in case we're called again. */
- if (r_type == R_IHIHALF)
- {
- part1_consth_active = TRUE;
- part1_consth_value = 0;
- }
-
- return bfd_reloc_undefined;
- }
-
- if ((part1_consth_active) && (r_type != R_IHCONST))
- {
- part1_consth_active = FALSE;
- *error_message = (char *) "Missing IHCONST";
-
- return bfd_reloc_dangerous;
- }
-
- sym_value = get_symbol_value (symbol_in);
-
- switch (r_type)
- {
- case R_IREL:
- insn = bfd_get_32(abfd, hit_data);
-
- /* Take the value in the field and sign extend it. */
- signed_value = EXTRACT_JUMPTARG (insn);
- signed_value = SIGN_EXTEND_JUMPTARG (signed_value);
- signed_value <<= 2;
-
- /* See the note on the R_IREL reloc in coff_or32_relocate_section. */
- if (signed_value == - (long) reloc_entry->address)
- signed_value = 0;
-
- signed_value += sym_value + reloc_entry->addend;
- /* Relative jmp/call, so subtract from the value the
- address of the place we're coming from. */
- signed_value -= (reloc_entry->address
- + input_section->output_section->vma
- + input_section->output_offset);
- if (signed_value > 0x7ffffff || signed_value < -0x8000000)
- return bfd_reloc_overflow;
-
- signed_value >>= 2;
- insn = INSERT_JUMPTARG (insn, signed_value);
- bfd_put_32 (abfd, insn, hit_data);
- break;
-
- case R_ILOHALF:
- insn = bfd_get_32 (abfd, hit_data);
- unsigned_value = EXTRACT_HWORD (insn);
- unsigned_value += sym_value + reloc_entry->addend;
- insn = INSERT_HWORD (insn, unsigned_value);
- bfd_put_32 (abfd, insn, hit_data);
- break;
-
- case R_IHIHALF:
- insn = bfd_get_32 (abfd, hit_data);
-
- /* consth, part 1
- Just get the symbol value that is referenced. */
- part1_consth_active = TRUE;
- part1_consth_value = sym_value + reloc_entry->addend;
-
- /* Don't modify insn until R_IHCONST. */
- break;
-
- case R_IHCONST:
- insn = bfd_get_32 (abfd, hit_data);
-
- /* consth, part 2
- Now relocate the reference. */
- if (! part1_consth_active)
- {
- *error_message = (char *) "Missing IHIHALF";
- return bfd_reloc_dangerous;
- }
-
- /* sym_ptr_ptr = r_symndx, in coff_slurp_reloc_table() */
- unsigned_value = 0; /*EXTRACT_HWORD(insn) << 16;*/
- unsigned_value += reloc_entry->addend; /* r_symndx */
- unsigned_value += part1_consth_value;
- unsigned_value = unsigned_value >> 16;
- insn = INSERT_HWORD (insn, unsigned_value);
- part1_consth_active = FALSE;
- bfd_put_32 (abfd, insn, hit_data);
- break;
-
- case R_BYTE:
- insn = bfd_get_8 (abfd, hit_data);
- unsigned_value = insn + sym_value + reloc_entry->addend;
- if (unsigned_value & 0xffffff00)
- return bfd_reloc_overflow;
- bfd_put_8 (abfd, unsigned_value, hit_data);
- break;
-
- case R_HWORD:
- insn = bfd_get_16 (abfd, hit_data);
- unsigned_value = insn + sym_value + reloc_entry->addend;
- if (unsigned_value & 0xffff0000)
- return bfd_reloc_overflow;
- bfd_put_16 (abfd, insn, hit_data);
- break;
-
- case R_WORD:
- insn = bfd_get_32 (abfd, hit_data);
- insn += sym_value + reloc_entry->addend;
- bfd_put_32 (abfd, insn, hit_data);
- break;
-
- default:
- *error_message = _("Unrecognized reloc");
- return bfd_reloc_dangerous;
- }
-
- return bfd_reloc_ok;
-}
-
-/* type rightshift
- size
- bitsize
- pc-relative
- bitpos
- absolute
- complain_on_overflow
- special_function
- relocation name
- partial_inplace
- src_mask
-*/
-
-/* FIXME: I'm not real sure about this table. */
-static reloc_howto_type howto_table[] =
-{
- { R_ABS, 0, 3, 32, FALSE, 0, complain_overflow_bitfield, or32_reloc, "ABS", TRUE, 0xffffffff,0xffffffff, FALSE },
- EMPTY_HOWTO (1),
- EMPTY_HOWTO (2),
- EMPTY_HOWTO (3),
- EMPTY_HOWTO (4),
- EMPTY_HOWTO (5),
- EMPTY_HOWTO (6),
- EMPTY_HOWTO (7),
- EMPTY_HOWTO (8),
- EMPTY_HOWTO (9),
- EMPTY_HOWTO (10),
- EMPTY_HOWTO (11),
- EMPTY_HOWTO (12),
- EMPTY_HOWTO (13),
- EMPTY_HOWTO (14),
- EMPTY_HOWTO (15),
- EMPTY_HOWTO (16),
- EMPTY_HOWTO (17),
- EMPTY_HOWTO (18),
- EMPTY_HOWTO (19),
- EMPTY_HOWTO (20),
- EMPTY_HOWTO (21),
- EMPTY_HOWTO (22),
- EMPTY_HOWTO (23),
- { R_IREL, 0, 3, 32, TRUE, 0, complain_overflow_signed, or32_reloc, "IREL", TRUE, 0xffffffff,0xffffffff, FALSE },
- { R_IABS, 0, 3, 32, FALSE, 0, complain_overflow_bitfield, or32_reloc, "IABS", TRUE, 0xffffffff,0xffffffff, FALSE },
- { R_ILOHALF, 0, 3, 16, TRUE, 0, complain_overflow_signed, or32_reloc, "ILOHALF", TRUE, 0x0000ffff,0x0000ffff, FALSE },
- { R_IHIHALF, 0, 3, 16, TRUE, 16,complain_overflow_signed, or32_reloc, "IHIHALF", TRUE, 0xffff0000,0xffff0000, FALSE },
- { R_IHCONST, 0, 3, 16, TRUE, 0, complain_overflow_signed, or32_reloc, "IHCONST", TRUE, 0xffff0000,0xffff0000, FALSE },
- { R_BYTE, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, or32_reloc, "BYTE", TRUE, 0x000000ff,0x000000ff, FALSE },
- { R_HWORD, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, or32_reloc, "HWORD", TRUE, 0x0000ffff,0x0000ffff, FALSE },
- { R_WORD, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, or32_reloc, "WORD", TRUE, 0xffffffff,0xffffffff, FALSE },
-};
-
-#define BADMAG(x) OR32BADMAG (x)
-
-#define RELOC_PROCESSING(relent, reloc, symbols, abfd, section) \
- reloc_processing (relent, reloc, symbols, abfd, section)
-
-static void
-reloc_processing (arelent *relent,
- struct internal_reloc *reloc,
- asymbol **symbols,
- bfd *abfd,
- asection *section)
-{
- static bfd_vma ihihalf_vaddr = (bfd_vma) -1;
-
- relent->address = reloc->r_vaddr;
- relent->howto = howto_table + reloc->r_type;
-
- if (reloc->r_type == R_IHCONST)
- {
- /* The address of an R_IHCONST should always be the address of
- the immediately preceding R_IHIHALF. relocs generated by gas
- are correct, but relocs generated by High C are different (I
- can't figure out what the address means for High C). We can
- handle both gas and High C by ignoring the address here, and
Home |
Main Index |
Thread Index |
Old Index