summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SOURCES27
-rwxr-xr-xarm-eabi/bin/arbin557696 -> 655232 bytes
-rwxr-xr-xarm-eabi/bin/asbin1010240 -> 1198816 bytes
-rwxr-xr-xarm-eabi/bin/c++bin688203 -> 877685 bytes
-rwxr-xr-xarm-eabi/bin/g++bin688203 -> 877685 bytes
-rwxr-xr-xarm-eabi/bin/gccbin675936 -> 863994 bytes
-rwxr-xr-xarm-eabi/bin/ldbin824448 -> 942848 bytes
-rwxr-xr-xarm-eabi/bin/ld.bfdbin824448 -> 942848 bytes
-rwxr-xr-xarm-eabi/bin/nmbin541820 -> 635672 bytes
-rwxr-xr-xarm-eabi/bin/objcopybin690620 -> 806296 bytes
-rwxr-xr-xarm-eabi/bin/objdumpbin837820 -> 989784 bytes
-rwxr-xr-xarm-eabi/bin/ranlibbin557728 -> 655232 bytes
-rwxr-xr-xarm-eabi/bin/stripbin690620 -> 806296 bytes
-rwxr-xr-xbin/arm-eabi-addr2linebin533308 -> 626840 bytes
-rwxr-xr-xbin/arm-eabi-arbin557696 -> 655232 bytes
-rwxr-xr-xbin/arm-eabi-asbin1010240 -> 1198816 bytes
-rwxr-xr-xbin/arm-eabi-c++bin273360 -> 332792 bytes
-rwxr-xr-xbin/arm-eabi-c++filtbin528988 -> 622296 bytes
-rwxr-xr-xbin/arm-eabi-cppbin273360 -> 328696 bytes
-rwxr-xr-xbin/arm-eabi-elfeditbin22232 -> 27456 bytes
-rwxr-xr-xbin/arm-eabi-g++bin273360 -> 332792 bytes
-rwxr-xr-xbin/arm-eabi-gccbin269264 -> 328696 bytes
-rwxr-xr-xbin/arm-eabi-gcc-4.6.x-googlebin269264 -> 328696 bytes
-rwxr-xr-xbin/arm-eabi-gcovbin87676 -> 105088 bytes
-rwxr-xr-xbin/arm-eabi-gdbbin2933744 -> 4122744 bytes
-rwxr-xr-xbin/arm-eabi-gdbtuibin2933744 -> 4122744 bytes
-rwxr-xr-xbin/arm-eabi-gprofbin599516 -> 693624 bytes
-rwxr-xr-xbin/arm-eabi-ldbin824448 -> 942848 bytes
-rwxr-xr-xbin/arm-eabi-ld.bfdbin824448 -> 942848 bytes
-rwxr-xr-xbin/arm-eabi-nmbin541820 -> 635672 bytes
-rwxr-xr-xbin/arm-eabi-objcopybin690620 -> 806296 bytes
-rwxr-xr-xbin/arm-eabi-objdumpbin837820 -> 989784 bytes
-rwxr-xr-xbin/arm-eabi-ranlibbin557728 -> 655232 bytes
-rwxr-xr-xbin/arm-eabi-readelfbin311392 -> 326904 bytes
-rwxr-xr-xbin/arm-eabi-runbin707344 -> 854968 bytes
-rwxr-xr-xbin/arm-eabi-sizebin533276 -> 626744 bytes
-rwxr-xr-xbin/arm-eabi-stringsbin533244 -> 626744 bytes
-rwxr-xr-xbin/arm-eabi-stripbin690620 -> 806296 bytes
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/crti.obin1776 -> 1776 bytes
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/crtn.obin1732 -> 1732 bytes
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/install-tools/mkheaders.conf2
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/libgcc.abin459722 -> 460122 bytes
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/libgcov.abin266080 -> 266264 bytes
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/plugin/include/auto-host.h8
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/plugin/include/config/initfini-array.h41
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/plugin/include/configargs.h2
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/plugin/include/output.h2
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm-preds.h2
-rw-r--r--lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm.h1
-rw-r--r--lib/libarm-elf-linux-sim.abin784062 -> 0 bytes
-rw-r--r--lib/libarm-linux-android-sim.abin0 -> 1192794 bytes
-rw-r--r--lib/libbfd.abin4993426 -> 0 bytes
-rwxr-xr-xlib/libbfd.la41
-rw-r--r--lib/libiberty.abin780796 -> 1204764 bytes
-rw-r--r--lib/libintl.abin174596 -> 0 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/cc1bin39339481 -> 47040814 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/cc1plusbin42528409 -> 50903764 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/collect2bin322648 -> 423914 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/install-tools/fixinclbin324841 -> 415041 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/libfunction_reordering_plugin.so.0.0.0bin72105 -> 89427 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/liblto_plugin.so.0.0.0bin195611 -> 238575 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/lto-wrapperbin93502 -> 114284 bytes
-rwxr-xr-xlibexec/gcc/arm-eabi/4.6.x-google/lto1bin37318025 -> 44647203 bytes
-rw-r--r--share/gdb/python/gdb/__init__.py18
-rw-r--r--share/gdb/python/gdb/command/__init__.py16
-rw-r--r--share/gdb/python/gdb/command/pretty_printers.py370
-rw-r--r--share/gdb/python/gdb/printing.py208
-rw-r--r--share/gdb/python/gdb/types.py91
-rw-r--r--share/gdb/syscalls/amd64-linux.xml2
-rw-r--r--share/gdb/syscalls/gdb-syscalls.dtd2
-rw-r--r--share/gdb/syscalls/i386-linux.xml2
-rw-r--r--share/gdb/syscalls/mips-n32-linux.xml319
-rw-r--r--share/gdb/syscalls/mips-n64-linux.xml312
-rw-r--r--share/gdb/syscalls/mips-o32-linux.xml347
-rw-r--r--share/gdb/syscalls/ppc-linux.xml2
-rw-r--r--share/gdb/syscalls/ppc64-linux.xml2
-rw-r--r--share/gdb/syscalls/sparc-linux.xml344
-rw-r--r--share/gdb/syscalls/sparc64-linux.xml326
-rw-r--r--share/info/annotate.info126
-rw-r--r--share/info/as.info1062
-rw-r--r--share/info/bfd.info2310
-rw-r--r--share/info/binutils.info62
-rw-r--r--share/info/configure.info120
-rw-r--r--share/info/cpp.info150
-rw-r--r--share/info/cppinternals.info26
-rw-r--r--share/info/dir3
-rw-r--r--share/info/gcc.info572
-rw-r--r--share/info/gccinstall.info170
-rw-r--r--share/info/gccint.info690
-rw-r--r--share/info/gdb.info7309
-rw-r--r--share/info/gdbint.info983
-rw-r--r--share/info/gprof.info62
-rw-r--r--share/info/ld.info166
-rw-r--r--share/info/stabs.info284
-rw-r--r--share/info/standards.info678
-rw-r--r--share/man/man1/arm-eabi-gdb.12
-rw-r--r--share/man/man1/arm-eabi-gdbtui.12
-rw-r--r--share/man/man1/arm-eabi-run.12
98 files changed, 12188 insertions, 5078 deletions
diff --git a/SOURCES b/SOURCES
index 1c58ef8..c5ec43a 100644
--- a/SOURCES
+++ b/SOURCES
@@ -2,27 +2,27 @@ Sources for this prebuilt toolchain can be downloaded from Android Opensource
Project GIT repository git://android.googlesource.com/toolchain.
Configure options:
-export CC="gcc -m32"
-export CXX="g++ -m32"
-export ABI=32
+export CC="gcc -m64"
+export CXX="g++ -m64"
+export ABI=64
path/to/build/configure --target=arm-eabi \
- --host=i686-linux-gnu --build=i686-linux-gnu \
+ --host=x86_64-linux-gnu --build=x86_64-linux-gnu \
--with-gcc-version=4.6 --with-binutils-version=2.21 \
--with-gmp-version=4.2.4 --with-mpfr-version=2.4.1 \
- --with-gdb-version=7.1.x --with-arch=armv5te \
+ --with-gdb-version=7.3.x --with-arch=armv5te \
--with-sysroot=[ics generic sysroot] \
--with-gold-version=2.21 --disable-gold \
--disable-multilib
gcc/ synced to
- commit 3f73d6ef90458b45bbbb33ef4c2b174d4662a22d
+ commit 872d5db7c3471a9d7fa78a290f84eb13b13f587a
Author: Jing Yu <jingyu@google.com>
- Date: Wed Feb 15 15:40:16 2012 -0800
+ Date: Mon Mar 26 11:12:29 2012 -0700
binutils/ synced to
- commit d5d495ac8d60e791eab3c6efe795b5c9cff91e33
+ commit 4f7a86c0b53a80a21dae1015f6d6b857ed6e02ed
Author: Jing Yu <jingyu@google.com>
- Date: Wed Feb 15 16:11:53 2012 -0800
+ Date: Mon Apr 9 10:57:02 2012 -0700
gdb/ synced to
commit d3fbc74c42021bf9d385a3d3b8813d0d91318137
@@ -40,6 +40,11 @@ mpfr/ synced to
Date: Thu Nov 5 17:50:13 2009 -0800
build/ synced to
- commit 5ef7fa6f214e96660a9b16343fea904831e5e6e2
+ commit bdb501d14ede0c21cd6bd73699b01ec027637d5f
Author: Jing Yu <jingyu@google.com>
- Date: Wed Feb 15 16:03:22 2012 -0800
+ Date: Fri Apr 20 15:18:24 2012 -0700
+
+expat/ synced to
+ commit 40172a0ae9d40a068f1e1a48ffcf6a1ccf765ed5
+ Author: Jing Yu <jingyu@google.com>
+ Date: Wed Feb 15 16:16:33 2012 -0800
diff --git a/arm-eabi/bin/ar b/arm-eabi/bin/ar
index 59be087..99361cd 100755
--- a/arm-eabi/bin/ar
+++ b/arm-eabi/bin/ar
Binary files differ
diff --git a/arm-eabi/bin/as b/arm-eabi/bin/as
index 329b762..bdc0334 100755
--- a/arm-eabi/bin/as
+++ b/arm-eabi/bin/as
Binary files differ
diff --git a/arm-eabi/bin/c++ b/arm-eabi/bin/c++
index f7ab41f..c557e2e 100755
--- a/arm-eabi/bin/c++
+++ b/arm-eabi/bin/c++
Binary files differ
diff --git a/arm-eabi/bin/g++ b/arm-eabi/bin/g++
index f7ab41f..c557e2e 100755
--- a/arm-eabi/bin/g++
+++ b/arm-eabi/bin/g++
Binary files differ
diff --git a/arm-eabi/bin/gcc b/arm-eabi/bin/gcc
index 1db6ee2..e3f83e9 100755
--- a/arm-eabi/bin/gcc
+++ b/arm-eabi/bin/gcc
Binary files differ
diff --git a/arm-eabi/bin/ld b/arm-eabi/bin/ld
index a11fccb..10867be 100755
--- a/arm-eabi/bin/ld
+++ b/arm-eabi/bin/ld
Binary files differ
diff --git a/arm-eabi/bin/ld.bfd b/arm-eabi/bin/ld.bfd
index a11fccb..10867be 100755
--- a/arm-eabi/bin/ld.bfd
+++ b/arm-eabi/bin/ld.bfd
Binary files differ
diff --git a/arm-eabi/bin/nm b/arm-eabi/bin/nm
index 0955c8e..e1ffb63 100755
--- a/arm-eabi/bin/nm
+++ b/arm-eabi/bin/nm
Binary files differ
diff --git a/arm-eabi/bin/objcopy b/arm-eabi/bin/objcopy
index 3e5ba6c..48a5a65 100755
--- a/arm-eabi/bin/objcopy
+++ b/arm-eabi/bin/objcopy
Binary files differ
diff --git a/arm-eabi/bin/objdump b/arm-eabi/bin/objdump
index d2ef1b9..516f09e 100755
--- a/arm-eabi/bin/objdump
+++ b/arm-eabi/bin/objdump
Binary files differ
diff --git a/arm-eabi/bin/ranlib b/arm-eabi/bin/ranlib
index 920be7c..00d473c 100755
--- a/arm-eabi/bin/ranlib
+++ b/arm-eabi/bin/ranlib
Binary files differ
diff --git a/arm-eabi/bin/strip b/arm-eabi/bin/strip
index a4bfef7..3f71064 100755
--- a/arm-eabi/bin/strip
+++ b/arm-eabi/bin/strip
Binary files differ
diff --git a/bin/arm-eabi-addr2line b/bin/arm-eabi-addr2line
index b20d660..2f7ece1 100755
--- a/bin/arm-eabi-addr2line
+++ b/bin/arm-eabi-addr2line
Binary files differ
diff --git a/bin/arm-eabi-ar b/bin/arm-eabi-ar
index 59be087..99361cd 100755
--- a/bin/arm-eabi-ar
+++ b/bin/arm-eabi-ar
Binary files differ
diff --git a/bin/arm-eabi-as b/bin/arm-eabi-as
index 329b762..bdc0334 100755
--- a/bin/arm-eabi-as
+++ b/bin/arm-eabi-as
Binary files differ
diff --git a/bin/arm-eabi-c++ b/bin/arm-eabi-c++
index 79b5d17..4f24c88 100755
--- a/bin/arm-eabi-c++
+++ b/bin/arm-eabi-c++
Binary files differ
diff --git a/bin/arm-eabi-c++filt b/bin/arm-eabi-c++filt
index 48a6769..05ba5dd 100755
--- a/bin/arm-eabi-c++filt
+++ b/bin/arm-eabi-c++filt
Binary files differ
diff --git a/bin/arm-eabi-cpp b/bin/arm-eabi-cpp
index b375c4b..04bb12e 100755
--- a/bin/arm-eabi-cpp
+++ b/bin/arm-eabi-cpp
Binary files differ
diff --git a/bin/arm-eabi-elfedit b/bin/arm-eabi-elfedit
index f441c10..ed3dd18 100755
--- a/bin/arm-eabi-elfedit
+++ b/bin/arm-eabi-elfedit
Binary files differ
diff --git a/bin/arm-eabi-g++ b/bin/arm-eabi-g++
index 79b5d17..4f24c88 100755
--- a/bin/arm-eabi-g++
+++ b/bin/arm-eabi-g++
Binary files differ
diff --git a/bin/arm-eabi-gcc b/bin/arm-eabi-gcc
index 52a9e8b..de1023d 100755
--- a/bin/arm-eabi-gcc
+++ b/bin/arm-eabi-gcc
Binary files differ
diff --git a/bin/arm-eabi-gcc-4.6.x-google b/bin/arm-eabi-gcc-4.6.x-google
index 52a9e8b..de1023d 100755
--- a/bin/arm-eabi-gcc-4.6.x-google
+++ b/bin/arm-eabi-gcc-4.6.x-google
Binary files differ
diff --git a/bin/arm-eabi-gcov b/bin/arm-eabi-gcov
index f39c532..ecba9cc 100755
--- a/bin/arm-eabi-gcov
+++ b/bin/arm-eabi-gcov
Binary files differ
diff --git a/bin/arm-eabi-gdb b/bin/arm-eabi-gdb
index fef0caa..d244832 100755
--- a/bin/arm-eabi-gdb
+++ b/bin/arm-eabi-gdb
Binary files differ
diff --git a/bin/arm-eabi-gdbtui b/bin/arm-eabi-gdbtui
index f4ed586..4be3a85 100755
--- a/bin/arm-eabi-gdbtui
+++ b/bin/arm-eabi-gdbtui
Binary files differ
diff --git a/bin/arm-eabi-gprof b/bin/arm-eabi-gprof
index 94fb497..8ebdb9e 100755
--- a/bin/arm-eabi-gprof
+++ b/bin/arm-eabi-gprof
Binary files differ
diff --git a/bin/arm-eabi-ld b/bin/arm-eabi-ld
index a11fccb..10867be 100755
--- a/bin/arm-eabi-ld
+++ b/bin/arm-eabi-ld
Binary files differ
diff --git a/bin/arm-eabi-ld.bfd b/bin/arm-eabi-ld.bfd
index a11fccb..10867be 100755
--- a/bin/arm-eabi-ld.bfd
+++ b/bin/arm-eabi-ld.bfd
Binary files differ
diff --git a/bin/arm-eabi-nm b/bin/arm-eabi-nm
index 0955c8e..e1ffb63 100755
--- a/bin/arm-eabi-nm
+++ b/bin/arm-eabi-nm
Binary files differ
diff --git a/bin/arm-eabi-objcopy b/bin/arm-eabi-objcopy
index 3e5ba6c..48a5a65 100755
--- a/bin/arm-eabi-objcopy
+++ b/bin/arm-eabi-objcopy
Binary files differ
diff --git a/bin/arm-eabi-objdump b/bin/arm-eabi-objdump
index d2ef1b9..516f09e 100755
--- a/bin/arm-eabi-objdump
+++ b/bin/arm-eabi-objdump
Binary files differ
diff --git a/bin/arm-eabi-ranlib b/bin/arm-eabi-ranlib
index 920be7c..00d473c 100755
--- a/bin/arm-eabi-ranlib
+++ b/bin/arm-eabi-ranlib
Binary files differ
diff --git a/bin/arm-eabi-readelf b/bin/arm-eabi-readelf
index 0e82a0b..8f24e68 100755
--- a/bin/arm-eabi-readelf
+++ b/bin/arm-eabi-readelf
Binary files differ
diff --git a/bin/arm-eabi-run b/bin/arm-eabi-run
index fcb90eb..eed1036 100755
--- a/bin/arm-eabi-run
+++ b/bin/arm-eabi-run
Binary files differ
diff --git a/bin/arm-eabi-size b/bin/arm-eabi-size
index f89f429..2a7edd4 100755
--- a/bin/arm-eabi-size
+++ b/bin/arm-eabi-size
Binary files differ
diff --git a/bin/arm-eabi-strings b/bin/arm-eabi-strings
index 8a931cf..11e238c 100755
--- a/bin/arm-eabi-strings
+++ b/bin/arm-eabi-strings
Binary files differ
diff --git a/bin/arm-eabi-strip b/bin/arm-eabi-strip
index a4bfef7..3f71064 100755
--- a/bin/arm-eabi-strip
+++ b/bin/arm-eabi-strip
Binary files differ
diff --git a/lib/gcc/arm-eabi/4.6.x-google/crti.o b/lib/gcc/arm-eabi/4.6.x-google/crti.o
index 86d9921..ddfe6f1 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/crti.o
+++ b/lib/gcc/arm-eabi/4.6.x-google/crti.o
Binary files differ
diff --git a/lib/gcc/arm-eabi/4.6.x-google/crtn.o b/lib/gcc/arm-eabi/4.6.x-google/crtn.o
index e05f3f4..7249e8f 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/crtn.o
+++ b/lib/gcc/arm-eabi/4.6.x-google/crtn.o
Binary files differ
diff --git a/lib/gcc/arm-eabi/4.6.x-google/install-tools/mkheaders.conf b/lib/gcc/arm-eabi/4.6.x-google/install-tools/mkheaders.conf
index 090fd89..03e92a4 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/install-tools/mkheaders.conf
+++ b/lib/gcc/arm-eabi/4.6.x-google/install-tools/mkheaders.conf
@@ -1,3 +1,3 @@
-SYSTEM_HEADER_DIR="/tmp/android-1596/install/sysroot${sysroot_headers_suffix}/usr/include"
+SYSTEM_HEADER_DIR="/tmp/android-15472/install/sysroot${sysroot_headers_suffix}/usr/include"
OTHER_FIXINCLUDES_DIRS=""
STMP_FIXINC="stmp-fixinc"
diff --git a/lib/gcc/arm-eabi/4.6.x-google/libgcc.a b/lib/gcc/arm-eabi/4.6.x-google/libgcc.a
index f22ade0..400d960 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/libgcc.a
+++ b/lib/gcc/arm-eabi/4.6.x-google/libgcc.a
Binary files differ
diff --git a/lib/gcc/arm-eabi/4.6.x-google/libgcov.a b/lib/gcc/arm-eabi/4.6.x-google/libgcov.a
index e7c588f..a537776 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/libgcov.a
+++ b/lib/gcc/arm-eabi/4.6.x-google/libgcov.a
Binary files differ
diff --git a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/auto-host.h b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/auto-host.h
index 72a6cb9..0c8ccaf 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/auto-host.h
+++ b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/auto-host.h
@@ -1098,7 +1098,7 @@
/* Define .init_array/.fini_array sections are available and working. */
#ifndef USED_FOR_TARGET
-#define HAVE_INITFINI_ARRAY 1
+/* #undef HAVE_INITFINI_ARRAY */
#endif
@@ -1672,7 +1672,7 @@
/* The size of `long', as computed by sizeof. */
#ifndef USED_FOR_TARGET
-#define SIZEOF_LONG 4
+#define SIZEOF_LONG 8
#endif
@@ -1690,7 +1690,7 @@
/* The size of `void *', as computed by sizeof. */
#ifndef USED_FOR_TARGET
-#define SIZEOF_VOID_P 4
+#define SIZEOF_VOID_P 8
#endif
@@ -1817,7 +1817,7 @@
/* Number of bits in a file offset, on hosts where this is settable. */
#ifndef USED_FOR_TARGET
-#define _FILE_OFFSET_BITS 64
+/* #undef _FILE_OFFSET_BITS */
#endif
diff --git a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/config/initfini-array.h b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/config/initfini-array.h
new file mode 100644
index 0000000..bb48c70
--- /dev/null
+++ b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/config/initfini-array.h
@@ -0,0 +1,41 @@
+/* Definitions for ELF systems with .init_array/.fini_array section
+ support.
+ Copyright (C) 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+ GCC 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, or (at your
+ option) any later version.
+
+ GCC 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 GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_INITFINI_ARRAY
+
+#define USE_INITFINI_ARRAY
+
+#undef INIT_SECTION_ASM_OP
+#undef FINI_SECTION_ASM_OP
+
+#undef INIT_ARRAY_SECTION_ASM_OP
+#define INIT_ARRAY_SECTION_ASM_OP
+
+#undef FINI_ARRAY_SECTION_ASM_OP
+#define FINI_ARRAY_SECTION_ASM_OP
+
+/* Use .init_array/.fini_array section for constructors and destructors. */
+#undef TARGET_ASM_CONSTRUCTOR
+#define TARGET_ASM_CONSTRUCTOR default_elf_init_array_asm_out_constructor
+#undef TARGET_ASM_DESTRUCTOR
+#define TARGET_ASM_DESTRUCTOR default_elf_fini_array_asm_out_destructor
+
+#endif
diff --git a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/configargs.h b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/configargs.h
index 02b8e13..e7a2921 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/configargs.h
+++ b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/configargs.h
@@ -1,5 +1,5 @@
/* Generated automatically. */
-static const char configuration_arguments[] = "/tmp/android-1596/src/build/../gcc/gcc-4.6/configure --prefix=/usr/local --target=arm-eabi --host=i686-linux-gnu --build=i686-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/android-1596/obj/temp-install --with-mpfr=/tmp/android-1596/obj/temp-install --with-mpc=/tmp/android-1596/obj/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --with-abi=aapcs --with-gcc-version=4.6 --with-binutils-version=2.21 --with-gmp-version=4.2.4 --with-mpfr-version=2.4.1 --with-gdb-version=7.1.x --with-arch=armv5te --with-sysroot=/tmp/android-1596/install/sysroot --with-prefix=/tmp/android-1596/install --with-gold-version=2.21 --enable-gold --disable-gold --disable-multilib --program-transform-name='s&^&arm-eabi-&'";
+static const char configuration_arguments[] = "/tmp/android-15472/src/build/../gcc/gcc-4.6/configure --prefix=/usr/local --target=arm-eabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/android-15472/obj/temp-install --with-mpfr=/tmp/android-15472/obj/temp-install --with-mpc=/tmp/android-15472/obj/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --with-abi=aapcs --with-gcc-version=4.6 --with-binutils-version=2.21 --with-gmp-version=4.2.4 --with-mpfr-version=2.4.1 --with-gdb-version=7.3.x --with-arch=armv5te --with-sysroot=/tmp/android-15472/install/sysroot --with-prefix=/tmp/android-15472/install --with-gold-version=2.21 --enable-gold --disable-gold --disable-multilib --program-transform-name='s&^&arm-eabi-&'";
static const char thread_model[] = "single";
static const struct {
diff --git a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/output.h b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/output.h
index 7031b08..661b623 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/output.h
+++ b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/output.h
@@ -655,6 +655,8 @@ extern void file_end_indicate_split_stack (void);
extern void default_elf_asm_output_external (FILE *file, tree,
const char *);
+extern void default_elf_init_array_asm_out_constructor (rtx, int);
+extern void default_elf_fini_array_asm_out_destructor (rtx, int);
extern int maybe_assemble_visibility (tree);
extern int default_address_cost (rtx, bool);
diff --git a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm-preds.h b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm-preds.h
index bf4fbda..8a4ef55 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm-preds.h
+++ b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm-preds.h
@@ -1,5 +1,5 @@
/* Generated automatically by the program 'build/genpreds'
- from the machine description file '/tmp/android-1596/src/build/../gcc/gcc-4.6/gcc/config/arm/arm.md'. */
+ from the machine description file '/tmp/android-15472/src/build/../gcc/gcc-4.6/gcc/config/arm/arm.md'. */
#ifndef GCC_TM_PREDS_H
#define GCC_TM_PREDS_H
diff --git a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm.h b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm.h
index 19773af..5607431 100644
--- a/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm.h
+++ b/lib/gcc/arm-eabi/4.6.x-google/plugin/include/tm.h
@@ -22,6 +22,7 @@
# include "config/newlib-stdint.h"
# include "config/arm/aout.h"
# include "config/arm/arm.h"
+# include "config/initfini-array.h"
#endif
#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
# include "insn-flags.h"
diff --git a/lib/libarm-elf-linux-sim.a b/lib/libarm-elf-linux-sim.a
deleted file mode 100644
index 4f44de8..0000000
--- a/lib/libarm-elf-linux-sim.a
+++ /dev/null
Binary files differ
diff --git a/lib/libarm-linux-android-sim.a b/lib/libarm-linux-android-sim.a
new file mode 100644
index 0000000..bd8e8bb
--- /dev/null
+++ b/lib/libarm-linux-android-sim.a
Binary files differ
diff --git a/lib/libbfd.a b/lib/libbfd.a
deleted file mode 100644
index d63fcf9..0000000
--- a/lib/libbfd.a
+++ /dev/null
Binary files differ
diff --git a/lib/libbfd.la b/lib/libbfd.la
deleted file mode 100755
index a871f12..0000000
--- a/lib/libbfd.la
+++ /dev/null
@@ -1,41 +0,0 @@
-# libbfd.la - a libtool library file
-# Generated by libtool (GNU libtool 1.3134 2009-11-29) 2.2.7a
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname=''
-
-# Names of this library.
-library_names=''
-
-# The name of the static archive.
-old_library='libbfd.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=''
-
-# Libraries that this one depends upon.
-dependency_libs=' -lz'
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libbfd.
-current=0
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/usr/local/i686-pc-linux-gnu/arm-eabi/lib'
diff --git a/lib/libiberty.a b/lib/libiberty.a
index 9622d3c..2ec3856 100644
--- a/lib/libiberty.a
+++ b/lib/libiberty.a
Binary files differ
diff --git a/lib/libintl.a b/lib/libintl.a
deleted file mode 100644
index 86ede6f..0000000
--- a/lib/libintl.a
+++ /dev/null
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/cc1 b/libexec/gcc/arm-eabi/4.6.x-google/cc1
index 29779b6..760ca07 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/cc1
+++ b/libexec/gcc/arm-eabi/4.6.x-google/cc1
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/cc1plus b/libexec/gcc/arm-eabi/4.6.x-google/cc1plus
index 5863148..85d1bef 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/cc1plus
+++ b/libexec/gcc/arm-eabi/4.6.x-google/cc1plus
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/collect2 b/libexec/gcc/arm-eabi/4.6.x-google/collect2
index ad39746..f5eb46d 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/collect2
+++ b/libexec/gcc/arm-eabi/4.6.x-google/collect2
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/install-tools/fixincl b/libexec/gcc/arm-eabi/4.6.x-google/install-tools/fixincl
index 50517e0..8fc9f0f 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/install-tools/fixincl
+++ b/libexec/gcc/arm-eabi/4.6.x-google/install-tools/fixincl
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/libfunction_reordering_plugin.so.0.0.0 b/libexec/gcc/arm-eabi/4.6.x-google/libfunction_reordering_plugin.so.0.0.0
index e1e7936..5189b89 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/libfunction_reordering_plugin.so.0.0.0
+++ b/libexec/gcc/arm-eabi/4.6.x-google/libfunction_reordering_plugin.so.0.0.0
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/liblto_plugin.so.0.0.0 b/libexec/gcc/arm-eabi/4.6.x-google/liblto_plugin.so.0.0.0
index d30390e..10dfe2f 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/liblto_plugin.so.0.0.0
+++ b/libexec/gcc/arm-eabi/4.6.x-google/liblto_plugin.so.0.0.0
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/lto-wrapper b/libexec/gcc/arm-eabi/4.6.x-google/lto-wrapper
index 0d84bb1..6433fe6 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/lto-wrapper
+++ b/libexec/gcc/arm-eabi/4.6.x-google/lto-wrapper
Binary files differ
diff --git a/libexec/gcc/arm-eabi/4.6.x-google/lto1 b/libexec/gcc/arm-eabi/4.6.x-google/lto1
index 68e5573..5607b2d 100755
--- a/libexec/gcc/arm-eabi/4.6.x-google/lto1
+++ b/libexec/gcc/arm-eabi/4.6.x-google/lto1
Binary files differ
diff --git a/share/gdb/python/gdb/__init__.py b/share/gdb/python/gdb/__init__.py
new file mode 100644
index 0000000..43975c2
--- /dev/null
+++ b/share/gdb/python/gdb/__init__.py
@@ -0,0 +1,18 @@
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+# 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, see <http://www.gnu.org/licenses/>.
+
+import gdb.command.pretty_printers
+
+gdb.command.pretty_printers.register_pretty_printer_commands()
diff --git a/share/gdb/python/gdb/command/__init__.py b/share/gdb/python/gdb/command/__init__.py
new file mode 100644
index 0000000..ee2b61f
--- /dev/null
+++ b/share/gdb/python/gdb/command/__init__.py
@@ -0,0 +1,16 @@
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+# 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, see <http://www.gnu.org/licenses/>.
+
+
diff --git a/share/gdb/python/gdb/command/pretty_printers.py b/share/gdb/python/gdb/command/pretty_printers.py
new file mode 100644
index 0000000..86923d7
--- /dev/null
+++ b/share/gdb/python/gdb/command/pretty_printers.py
@@ -0,0 +1,370 @@
+# Pretty-printer commands.
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+# 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, see <http://www.gnu.org/licenses/>.
+
+"""GDB commands for working with pretty-printers."""
+
+import copy
+import gdb
+import re
+
+
+def parse_printer_regexps(arg):
+ """Internal utility to parse a pretty-printer command argv.
+
+ Arguments:
+ arg: The arguments to the command. The format is:
+ [object-regexp [name-regexp]].
+ Individual printers in a collection are named as
+ printer-name;subprinter-name.
+
+ Returns:
+ The result is a 3-tuple of compiled regular expressions, except that
+ the resulting compiled subprinter regexp is None if not provided.
+
+ Raises:
+ SyntaxError: an error processing ARG
+ """
+
+ argv = gdb.string_to_argv(arg);
+ argc = len(argv)
+ object_regexp = "" # match everything
+ name_regexp = "" # match everything
+ subname_regexp = None
+ if argc > 3:
+ raise SyntaxError("too many arguments")
+ if argc >= 1:
+ object_regexp = argv[0]
+ if argc >= 2:
+ name_subname = argv[1].split(";", 1)
+ name_regexp = name_subname[0]
+ if len(name_subname) == 2:
+ subname_regexp = name_subname[1]
+ # That re.compile raises SyntaxError was determined empirically.
+ # We catch it and reraise it to provide a slightly more useful
+ # error message for the user.
+ try:
+ object_re = re.compile(object_regexp)
+ except SyntaxError:
+ raise SyntaxError("invalid object regexp: %s" % object_regexp)
+ try:
+ name_re = re.compile (name_regexp)
+ except SyntaxError:
+ raise SyntaxError("invalid name regexp: %s" % name_regexp)
+ if subname_regexp is not None:
+ try:
+ subname_re = re.compile(subname_regexp)
+ except SyntaxError:
+ raise SyntaxError("invalid subname regexp: %s" % subname_regexp)
+ else:
+ subname_re = None
+ return(object_re, name_re, subname_re)
+
+
+def printer_enabled_p(printer):
+ """Internal utility to see if printer (or subprinter) is enabled."""
+ if hasattr(printer, "enabled"):
+ return printer.enabled
+ else:
+ return True
+
+
+class InfoPrettyPrinter(gdb.Command):
+ """GDB command to list all registered pretty-printers.
+
+ Usage: info pretty-printer [object-regexp [name-regexp]]
+
+ OBJECT-REGEXP is a regular expression matching the objects to list.
+ Objects are "global", the program space's file, and the objfiles within
+ that program space.
+
+ NAME-REGEXP matches the name of the pretty-printer.
+ Individual printers in a collection are named as
+ printer-name;subprinter-name.
+ """
+
+ def __init__ (self):
+ super(InfoPrettyPrinter, self).__init__("info pretty-printer",
+ gdb.COMMAND_DATA)
+
+ @staticmethod
+ def enabled_string(printer):
+ """Return "" if PRINTER is enabled, otherwise " [disabled]"."""
+ if printer_enabled_p(printer):
+ return ""
+ else:
+ return " [disabled]"
+
+ @staticmethod
+ def printer_name(printer):
+ """Return the printer's name."""
+ if hasattr(printer, "name"):
+ return printer.name
+ if hasattr(printer, "__name__"):
+ return printer.__name__
+ # This "shouldn't happen", but the public API allows for
+ # direct additions to the pretty-printer list, and we shouldn't
+ # crash because someone added a bogus printer.
+ # Plus we want to give the user a way to list unknown printers.
+ return "unknown"
+
+ def list_pretty_printers(self, pretty_printers, name_re, subname_re):
+ """Print a list of pretty-printers."""
+ # A potential enhancement is to provide an option to list printers in
+ # "lookup order" (i.e. unsorted).
+ sorted_pretty_printers = copy.copy(pretty_printers)
+ sorted_pretty_printers.sort(lambda x, y:
+ cmp(self.printer_name(x),
+ self.printer_name(y)))
+ for printer in sorted_pretty_printers:
+ name = self.printer_name(printer)
+ enabled = self.enabled_string(printer)
+ if name_re.match(name):
+ print " %s%s" % (name, enabled)
+ if (hasattr(printer, "subprinters") and
+ printer.subprinters is not None):
+ sorted_subprinters = copy.copy(printer.subprinters)
+ sorted_subprinters.sort(lambda x, y:
+ cmp(self.printer_name(x),
+ self.printer_name(y)))
+ for subprinter in sorted_subprinters:
+ if (not subname_re or
+ subname_re.match(subprinter.name)):
+ print (" %s%s" %
+ (subprinter.name,
+ self.enabled_string(subprinter)))
+
+ def invoke1(self, title, printer_list,
+ obj_name_to_match, object_re, name_re, subname_re):
+ """"Subroutine of invoke to simplify it."""
+ if printer_list and object_re.match(obj_name_to_match):
+ print title
+ self.list_pretty_printers(printer_list, name_re, subname_re)
+
+ def invoke(self, arg, from_tty):
+ """GDB calls this to perform the command."""
+ (object_re, name_re, subname_re) = parse_printer_regexps(arg)
+ self.invoke1("global pretty-printers:", gdb.pretty_printers,
+ "global", object_re, name_re, subname_re)
+ cp = gdb.current_progspace()
+ self.invoke1("progspace %s pretty-printers:" % cp.filename,
+ cp.pretty_printers, "progspace",
+ object_re, name_re, subname_re)
+ for objfile in gdb.objfiles():
+ self.invoke1(" objfile %s pretty-printers:" % objfile.filename,
+ objfile.pretty_printers, objfile.filename,
+ object_re, name_re, subname_re)
+
+
+def count_enabled_printers(pretty_printers):
+ """Return a 2-tuple of number of enabled and total printers."""
+ enabled = 0
+ total = 0
+ for printer in pretty_printers:
+ if (hasattr(printer, "subprinters")
+ and printer.subprinters is not None):
+ if printer_enabled_p(printer):
+ for subprinter in printer.subprinters:
+ if printer_enabled_p(subprinter):
+ enabled += 1
+ total += len(printer.subprinters)
+ else:
+ if printer_enabled_p(printer):
+ enabled += 1
+ total += 1
+ return (enabled, total)
+
+
+def count_all_enabled_printers():
+ """Return a 2-tuble of the enabled state and total number of all printers.
+ This includes subprinters.
+ """
+ enabled_count = 0
+ total_count = 0
+ (t_enabled, t_total) = count_enabled_printers(gdb.pretty_printers)
+ enabled_count += t_enabled
+ total_count += t_total
+ (t_enabled, t_total) = count_enabled_printers(gdb.current_progspace().pretty_printers)
+ enabled_count += t_enabled
+ total_count += t_total
+ for objfile in gdb.objfiles():
+ (t_enabled, t_total) = count_enabled_printers(objfile.pretty_printers)
+ enabled_count += t_enabled
+ total_count += t_total
+ return (enabled_count, total_count)
+
+
+def pluralize(text, n, suffix="s"):
+ """Return TEXT pluralized if N != 1."""
+ if n != 1:
+ return "%s%s" % (text, suffix)
+ else:
+ return text
+
+
+def show_pretty_printer_enabled_summary():
+ """Print the number of printers enabled/disabled.
+ We count subprinters individually.
+ """
+ (enabled_count, total_count) = count_all_enabled_printers()
+ print "%d of %d printers enabled" % (enabled_count, total_count)
+
+
+def do_enable_pretty_printer_1 (pretty_printers, name_re, subname_re, flag):
+ """Worker for enabling/disabling pretty-printers.
+
+ Arguments:
+ pretty_printers: list of pretty-printers
+ name_re: regular-expression object to select printers
+ subname_re: regular expression object to select subprinters or None
+ if all are affected
+ flag: True for Enable, False for Disable
+
+ Returns:
+ The number of printers affected.
+ This is just for informational purposes for the user.
+ """
+ total = 0
+ for printer in pretty_printers:
+ if (hasattr(printer, "name") and name_re.match(printer.name) or
+ hasattr(printer, "__name__") and name_re.match(printer.__name__)):
+ if (hasattr(printer, "subprinters") and
+ printer.subprinters is not None):
+ if not subname_re:
+ # Only record printers that change state.
+ if printer_enabled_p(printer) != flag:
+ for subprinter in printer.subprinters:
+ if printer_enabled_p(subprinter):
+ total += 1
+ # NOTE: We preserve individual subprinter settings.
+ printer.enabled = flag
+ else:
+ # NOTE: Whether this actually disables the subprinter
+ # depends on whether the printer's lookup function supports
+ # the "enable" API. We can only assume it does.
+ for subprinter in printer.subprinters:
+ if subname_re.match(subprinter.name):
+ # Only record printers that change state.
+ if (printer_enabled_p(printer) and
+ printer_enabled_p(subprinter) != flag):
+ total += 1
+ subprinter.enabled = flag
+ else:
+ # This printer has no subprinters.
+ # If the user does "disable pretty-printer .* .* foo"
+ # should we disable printers that don't have subprinters?
+ # How do we apply "foo" in this context? Since there is no
+ # "foo" subprinter it feels like we should skip this printer.
+ # There's still the issue of how to handle
+ # "disable pretty-printer .* .* .*", and every other variation
+ # that can match everything. For now punt and only support
+ # "disable pretty-printer .* .*" (i.e. subname is elided)
+ # to disable everything.
+ if not subname_re:
+ # Only record printers that change state.
+ if printer_enabled_p(printer) != flag:
+ total += 1
+ printer.enabled = flag
+ return total
+
+
+def do_enable_pretty_printer (arg, flag):
+ """Internal worker for enabling/disabling pretty-printers."""
+ (object_re, name_re, subname_re) = parse_printer_regexps(arg)
+
+ total = 0
+ if object_re.match("global"):
+ total += do_enable_pretty_printer_1(gdb.pretty_printers,
+ name_re, subname_re, flag)
+ cp = gdb.current_progspace()
+ if object_re.match("progspace"):
+ total += do_enable_pretty_printer_1(cp.pretty_printers,
+ name_re, subname_re, flag)
+ for objfile in gdb.objfiles():
+ if object_re.match(objfile.filename):
+ total += do_enable_pretty_printer_1(objfile.pretty_printers,
+ name_re, subname_re, flag)
+
+ if flag:
+ state = "enabled"
+ else:
+ state = "disabled"
+ print "%d %s %s" % (total, pluralize("printer", total), state)
+
+ # Print the total list of printers currently enabled/disabled.
+ # This is to further assist the user in determining whether the result
+ # is expected. Since we use regexps to select it's useful.
+ show_pretty_printer_enabled_summary()
+
+
+# Enable/Disable one or more pretty-printers.
+#
+# This is intended for use when a broken pretty-printer is shipped/installed
+# and the user wants to disable that printer without disabling all the other
+# printers.
+#
+# A useful addition would be -v (verbose) to show each printer affected.
+
+class EnablePrettyPrinter (gdb.Command):
+ """GDB command to enable the specified pretty-printer.
+
+ Usage: enable pretty-printer [object-regexp [name-regexp]]
+
+ OBJECT-REGEXP is a regular expression matching the objects to examine.
+ Objects are "global", the program space's file, and the objfiles within
+ that program space.
+
+ NAME-REGEXP matches the name of the pretty-printer.
+ Individual printers in a collection are named as
+ printer-name;subprinter-name.
+ """
+
+ def __init__(self):
+ super(EnablePrettyPrinter, self).__init__("enable pretty-printer",
+ gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ """GDB calls this to perform the command."""
+ do_enable_pretty_printer(arg, True)
+
+
+class DisablePrettyPrinter (gdb.Command):
+ """GDB command to disable the specified pretty-printer.
+
+ Usage: disable pretty-printer [object-regexp [name-regexp]]
+
+ OBJECT-REGEXP is a regular expression matching the objects to examine.
+ Objects are "global", the program space's file, and the objfiles within
+ that program space.
+
+ NAME-REGEXP matches the name of the pretty-printer.
+ Individual printers in a collection are named as
+ printer-name;subprinter-name.
+ """
+
+ def __init__(self):
+ super(DisablePrettyPrinter, self).__init__("disable pretty-printer",
+ gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ """GDB calls this to perform the command."""
+ do_enable_pretty_printer(arg, False)
+
+
+def register_pretty_printer_commands():
+ """Call from a top level script to install the pretty-printer commands."""
+ InfoPrettyPrinter()
+ EnablePrettyPrinter()
+ DisablePrettyPrinter()
diff --git a/share/gdb/python/gdb/printing.py b/share/gdb/python/gdb/printing.py
new file mode 100644
index 0000000..a030827
--- /dev/null
+++ b/share/gdb/python/gdb/printing.py
@@ -0,0 +1,208 @@
+# Pretty-printer utilities.
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+# 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, see <http://www.gnu.org/licenses/>.
+
+"""Utilities for working with pretty-printers."""
+
+import gdb
+import gdb.types
+import re
+
+
+class PrettyPrinter(object):
+ """A basic pretty-printer.
+
+ Attributes:
+ name: A unique string among all printers for the context in which
+ it is defined (objfile, progspace, or global(gdb)), and should
+ meaningfully describe what can be pretty-printed.
+ E.g., "StringPiece" or "protobufs".
+ subprinters: An iterable object with each element having a `name'
+ attribute, and, potentially, "enabled" attribute.
+ Or this is None if there are no subprinters.
+ enabled: A boolean indicating if the printer is enabled.
+
+ Subprinters are for situations where "one" pretty-printer is actually a
+ collection of several printers. E.g., The libstdc++ pretty-printer has
+ a pretty-printer for each of several different types, based on regexps.
+ """
+
+ # While one might want to push subprinters into the subclass, it's
+ # present here to formalize such support to simplify
+ # commands/pretty_printers.py.
+
+ def __init__(self, name, subprinters=None):
+ self.name = name
+ self.subprinters = subprinters
+ self.enabled = True
+
+ def __call__(self, val):
+ # The subclass must define this.
+ raise NotImplementedError("PrettyPrinter __call__")
+
+
+class SubPrettyPrinter(object):
+ """Baseclass for sub-pretty-printers.
+
+ Sub-pretty-printers needn't use this, but it formalizes what's needed.
+
+ Attributes:
+ name: The name of the subprinter.
+ enabled: A boolean indicating if the subprinter is enabled.
+ """
+
+ def __init__(self, name):
+ self.name = name
+ self.enabled = True
+
+
+def register_pretty_printer(obj, printer, replace=False):
+ """Register pretty-printer PRINTER with OBJ.
+
+ The printer is added to the front of the search list, thus one can override
+ an existing printer if one needs to. Use a different name when overriding
+ an existing printer, otherwise an exception will be raised; multiple
+ printers with the same name are disallowed.
+
+ Arguments:
+ obj: Either an objfile, progspace, or None (in which case the printer
+ is registered globally).
+ printer: Either a function of one argument (old way) or any object
+ which has attributes: name, enabled, __call__.
+ replace: If True replace any existing copy of the printer.
+ Otherwise if the printer already exists raise an exception.
+
+ Returns:
+ Nothing.
+
+ Raises:
+ TypeError: A problem with the type of the printer.
+ ValueError: The printer's name contains a semicolon ";".
+ RuntimeError: A printer with the same name is already registered.
+
+ If the caller wants the printer to be listable and disableable, it must
+ follow the PrettyPrinter API. This applies to the old way (functions) too.
+ If printer is an object, __call__ is a method of two arguments:
+ self, and the value to be pretty-printed. See PrettyPrinter.
+ """
+
+ # Watch for both __name__ and name.
+ # Functions get the former for free, but we don't want to use an
+ # attribute named __foo__ for pretty-printers-as-objects.
+ # If printer has both, we use `name'.
+ if not hasattr(printer, "__name__") and not hasattr(printer, "name"):
+ raise TypeError("printer missing attribute: name")
+ if hasattr(printer, "name") and not hasattr(printer, "enabled"):
+ raise TypeError("printer missing attribute: enabled")
+ if not hasattr(printer, "__call__"):
+ raise TypeError("printer missing attribute: __call__")
+
+ if obj is None:
+ if gdb.parameter("verbose"):
+ gdb.write("Registering global %s pretty-printer ...\n" % name)
+ obj = gdb
+ else:
+ if gdb.parameter("verbose"):
+ gdb.write("Registering %s pretty-printer for %s ...\n" %
+ (printer.name, obj.filename))
+
+ if hasattr(printer, "name"):
+ if not isinstance(printer.name, basestring):
+ raise TypeError("printer name is not a string")
+ # If printer provides a name, make sure it doesn't contain ";".
+ # Semicolon is used by the info/enable/disable pretty-printer commands
+ # to delimit subprinters.
+ if printer.name.find(";") >= 0:
+ raise ValueError("semicolon ';' in printer name")
+ # Also make sure the name is unique.
+ # Alas, we can't do the same for functions and __name__, they could
+ # all have a canonical name like "lookup_function".
+ # PERF: gdb records printers in a list, making this inefficient.
+ i = 0
+ for p in obj.pretty_printers:
+ if hasattr(p, "name") and p.name == printer.name:
+ if replace:
+ del obj.pretty_printers[i]
+ break
+ else:
+ raise RuntimeError("pretty-printer already registered: %s" %
+ printer.name)
+ i = i + 1
+
+ obj.pretty_printers.insert(0, printer)
+
+
+class RegexpCollectionPrettyPrinter(PrettyPrinter):
+ """Class for implementing a collection of regular-expression based pretty-printers.
+
+ Intended usage:
+
+ pretty_printer = RegexpCollectionPrettyPrinter("my_library")
+ pretty_printer.add_printer("myclass1", "^myclass1$", MyClass1Printer)
+ ...
+ pretty_printer.add_printer("myclassN", "^myclassN$", MyClassNPrinter)
+ register_pretty_printer(obj, pretty_printer)
+ """
+
+ class RegexpSubprinter(SubPrettyPrinter):
+ def __init__(self, name, regexp, gen_printer):
+ super(RegexpCollectionPrettyPrinter.RegexpSubprinter, self).__init__(name)
+ self.regexp = regexp
+ self.gen_printer = gen_printer
+ self.compiled_re = re.compile(regexp)
+
+ def __init__(self, name):
+ super(RegexpCollectionPrettyPrinter, self).__init__(name, [])
+
+ def add_printer(self, name, regexp, gen_printer):
+ """Add a printer to the list.
+
+ The printer is added to the end of the list.
+
+ Arguments:
+ name: The name of the subprinter.
+ regexp: The regular expression, as a string.
+ gen_printer: A function/method that given a value returns an
+ object to pretty-print it.
+
+ Returns:
+ Nothing.
+ """
+
+ # NOTE: A previous version made the name of each printer the regexp.
+ # That makes it awkward to pass to the enable/disable commands (it's
+ # cumbersome to make a regexp of a regexp). So now the name is a
+ # separate parameter.
+
+ self.subprinters.append(self.RegexpSubprinter(name, regexp,
+ gen_printer))
+
+ def __call__(self, val):
+ """Lookup the pretty-printer for the provided value."""
+
+ # Get the type name.
+ typename = gdb.types.get_basic_type(val.type).tag
+ if not typename:
+ return None
+
+ # Iterate over table of type regexps to determine
+ # if a printer is registered for that type.
+ # Return an instantiation of the printer if found.
+ for printer in self.subprinters:
+ if printer.enabled and printer.compiled_re.search(typename):
+ return printer.gen_printer(val)
+
+ # Cannot find a pretty printer. Return None.
+ return None
diff --git a/share/gdb/python/gdb/types.py b/share/gdb/python/gdb/types.py
new file mode 100644
index 0000000..54fbe3c
--- /dev/null
+++ b/share/gdb/python/gdb/types.py
@@ -0,0 +1,91 @@
+# Type utilities.
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+# 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, see <http://www.gnu.org/licenses/>.
+
+"""Utilities for working with gdb.Types."""
+
+import gdb
+
+
+def get_basic_type(type_):
+ """Return the "basic" type of a type.
+
+ Arguments:
+ type_: The type to reduce to its basic type.
+
+ Returns:
+ type_ with const/volatile is stripped away,
+ and typedefs/references converted to the underlying type.
+ """
+
+ while (type_.code == gdb.TYPE_CODE_REF or
+ type_.code == gdb.TYPE_CODE_TYPEDEF):
+ if type_.code == gdb.TYPE_CODE_REF:
+ type_ = type_.target()
+ else:
+ type_ = type_.strip_typedefs()
+ return type_.unqualified()
+
+
+def has_field(type_, field):
+ """Return True if a type has the specified field.
+
+ Arguments:
+ type_: The type to examine.
+ It must be one of gdb.TYPE_CODE_STRUCT, gdb.TYPE_CODE_UNION.
+ field: The name of the field to look up.
+
+ Returns:
+ True if the field is present either in type_ or any baseclass.
+
+ Raises:
+ TypeError: The type is not a struct or union.
+ """
+
+ type_ = get_basic_type(type_)
+ if (type_.code != gdb.TYPE_CODE_STRUCT and
+ type_.code != gdb.TYPE_CODE_UNION):
+ raise TypeError("not a struct or union")
+ for f in type_.fields():
+ if f.is_base_class:
+ if has_field(f.type, field):
+ return True
+ else:
+ # NOTE: f.name could be None
+ if f.name == field:
+ return True
+ return False
+
+
+def make_enum_dict(enum_type):
+ """Return a dictionary from a program's enum type.
+
+ Arguments:
+ enum_type: The enum to compute the dictionary for.
+
+ Returns:
+ The dictionary of the enum.
+
+ Raises:
+ TypeError: The type is not an enum.
+ """
+
+ if enum_type.code != gdb.TYPE_CODE_ENUM:
+ raise TypeError("not an enum type")
+ enum_dict = {}
+ for field in enum_type.fields():
+ # The enum's value is stored in "bitpos".
+ enum_dict[field.name] = field.bitpos
+ return enum_dict
diff --git a/share/gdb/syscalls/amd64-linux.xml b/share/gdb/syscalls/amd64-linux.xml
index d2befa7..ee0ea6d 100644
--- a/share/gdb/syscalls/amd64-linux.xml
+++ b/share/gdb/syscalls/amd64-linux.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!-- Copyright (C) 2009 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/share/gdb/syscalls/gdb-syscalls.dtd b/share/gdb/syscalls/gdb-syscalls.dtd
index 865eba6..0735ecd 100644
--- a/share/gdb/syscalls/gdb-syscalls.dtd
+++ b/share/gdb/syscalls/gdb-syscalls.dtd
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2009 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/share/gdb/syscalls/i386-linux.xml b/share/gdb/syscalls/i386-linux.xml
index c79ad9c..3cb1251 100644
--- a/share/gdb/syscalls/i386-linux.xml
+++ b/share/gdb/syscalls/i386-linux.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!-- Copyright (C) 2009 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/share/gdb/syscalls/mips-n32-linux.xml b/share/gdb/syscalls/mips-n32-linux.xml
new file mode 100644
index 0000000..da4aba2
--- /dev/null
+++ b/share/gdb/syscalls/mips-n32-linux.xml
@@ -0,0 +1,319 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2011 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
+
+<!-- This file was generated using the following file:
+
+ /usr/src/linux/arch/mips/include/asm/unistd.h
+
+ The file mentioned above belongs to the Linux Kernel. -->
+
+<syscalls_info>
+ <syscall name="read" number="6000"/>
+ <syscall name="write" number="6001"/>
+ <syscall name="open" number="6002"/>
+ <syscall name="close" number="6003"/>
+ <syscall name="stat" number="6004"/>
+ <syscall name="fstat" number="6005"/>
+ <syscall name="lstat" number="6006"/>
+ <syscall name="poll" number="6007"/>
+ <syscall name="lseek" number="6008"/>
+ <syscall name="mmap" number="6009"/>
+ <syscall name="mprotect" number="6010"/>
+ <syscall name="munmap" number="6011"/>
+ <syscall name="brk" number="6012"/>
+ <syscall name="rt_sigaction" number="6013"/>
+ <syscall name="rt_sigprocmask" number="6014"/>
+ <syscall name="ioctl" number="6015"/>
+ <syscall name="pread64" number="6016"/>
+ <syscall name="pwrite64" number="6017"/>
+ <syscall name="readv" number="6018"/>
+ <syscall name="writev" number="6019"/>
+ <syscall name="access" number="6020"/>
+ <syscall name="pipe" number="6021"/>
+ <syscall name="_newselect" number="6022"/>
+ <syscall name="sched_yield" number="6023"/>
+ <syscall name="mremap" number="6024"/>
+ <syscall name="msync" number="6025"/>
+ <syscall name="mincore" number="6026"/>
+ <syscall name="madvise" number="6027"/>
+ <syscall name="shmget" number="6028"/>
+ <syscall name="shmat" number="6029"/>
+ <syscall name="shmctl" number="6030"/>
+ <syscall name="dup" number="6031"/>
+ <syscall name="dup2" number="6032"/>
+ <syscall name="pause" number="6033"/>
+ <syscall name="nanosleep" number="6034"/>
+ <syscall name="getitimer" number="6035"/>
+ <syscall name="setitimer" number="6036"/>
+ <syscall name="alarm" number="6037"/>
+ <syscall name="getpid" number="6038"/>
+ <syscall name="sendfile" number="6039"/>
+ <syscall name="socket" number="6040"/>
+ <syscall name="connect" number="6041"/>
+ <syscall name="accept" number="6042"/>
+ <syscall name="sendto" number="6043"/>
+ <syscall name="recvfrom" number="6044"/>
+ <syscall name="sendmsg" number="6045"/>
+ <syscall name="recvmsg" number="6046"/>
+ <syscall name="shutdown" number="6047"/>
+ <syscall name="bind" number="6048"/>
+ <syscall name="listen" number="6049"/>
+ <syscall name="getsockname" number="6050"/>
+ <syscall name="getpeername" number="6051"/>
+ <syscall name="socketpair" number="6052"/>
+ <syscall name="setsockopt" number="6053"/>
+ <syscall name="getsockopt" number="6054"/>
+ <syscall name="clone" number="6055"/>
+ <syscall name="fork" number="6056"/>
+ <syscall name="execve" number="6057"/>
+ <syscall name="exit" number="6058"/>
+ <syscall name="wait4" number="6059"/>
+ <syscall name="kill" number="6060"/>
+ <syscall name="uname" number="6061"/>
+ <syscall name="semget" number="6062"/>
+ <syscall name="semop" number="6063"/>
+ <syscall name="semctl" number="6064"/>
+ <syscall name="shmdt" number="6065"/>
+ <syscall name="msgget" number="6066"/>
+ <syscall name="msgsnd" number="6067"/>
+ <syscall name="msgrcv" number="6068"/>
+ <syscall name="msgctl" number="6069"/>
+ <syscall name="fcntl" number="6070"/>
+ <syscall name="flock" number="6071"/>
+ <syscall name="fsync" number="6072"/>
+ <syscall name="fdatasync" number="6073"/>
+ <syscall name="truncate" number="6074"/>
+ <syscall name="ftruncate" number="6075"/>
+ <syscall name="getdents" number="6076"/>
+ <syscall name="getcwd" number="6077"/>
+ <syscall name="chdir" number="6078"/>
+ <syscall name="fchdir" number="6079"/>
+ <syscall name="rename" number="6080"/>
+ <syscall name="mkdir" number="6081"/>
+ <syscall name="rmdir" number="6082"/>
+ <syscall name="creat" number="6083"/>
+ <syscall name="link" number="6084"/>
+ <syscall name="unlink" number="6085"/>
+ <syscall name="symlink" number="6086"/>
+ <syscall name="readlink" number="6087"/>
+ <syscall name="chmod" number="6088"/>
+ <syscall name="fchmod" number="6089"/>
+ <syscall name="chown" number="6090"/>
+ <syscall name="fchown" number="6091"/>
+ <syscall name="lchown" number="6092"/>
+ <syscall name="umask" number="6093"/>
+ <syscall name="gettimeofday" number="6094"/>
+ <syscall name="getrlimit" number="6095"/>
+ <syscall name="getrusage" number="6096"/>
+ <syscall name="sysinfo" number="6097"/>
+ <syscall name="times" number="6098"/>
+ <syscall name="ptrace" number="6099"/>
+ <syscall name="getuid" number="6100"/>
+ <syscall name="syslog" number="6101"/>
+ <syscall name="getgid" number="6102"/>
+ <syscall name="setuid" number="6103"/>
+ <syscall name="setgid" number="6104"/>
+ <syscall name="geteuid" number="6105"/>
+ <syscall name="getegid" number="6106"/>
+ <syscall name="setpgid" number="6107"/>
+ <syscall name="getppid" number="6108"/>
+ <syscall name="getpgrp" number="6109"/>
+ <syscall name="setsid" number="6110"/>
+ <syscall name="setreuid" number="6111"/>
+ <syscall name="setregid" number="6112"/>
+ <syscall name="getgroups" number="6113"/>
+ <syscall name="setgroups" number="6114"/>
+ <syscall name="setresuid" number="6115"/>
+ <syscall name="getresuid" number="6116"/>
+ <syscall name="setresgid" number="6117"/>
+ <syscall name="getresgid" number="6118"/>
+ <syscall name="getpgid" number="6119"/>
+ <syscall name="setfsuid" number="6120"/>
+ <syscall name="setfsgid" number="6121"/>
+ <syscall name="getsid" number="6122"/>
+ <syscall name="capget" number="6123"/>
+ <syscall name="capset" number="6124"/>
+ <syscall name="rt_sigpending" number="6125"/>
+ <syscall name="rt_sigtimedwait" number="6126"/>
+ <syscall name="rt_sigqueueinfo" number="6127"/>
+ <syscall name="rt_sigsuspend" number="6128"/>
+ <syscall name="sigaltstack" number="6129"/>
+ <syscall name="utime" number="6130"/>
+ <syscall name="mknod" number="6131"/>
+ <syscall name="personality" number="6132"/>
+ <syscall name="ustat" number="6133"/>
+ <syscall name="statfs" number="6134"/>
+ <syscall name="fstatfs" number="6135"/>
+ <syscall name="sysfs" number="6136"/>
+ <syscall name="getpriority" number="6137"/>
+ <syscall name="setpriority" number="6138"/>
+ <syscall name="sched_setparam" number="6139"/>
+ <syscall name="sched_getparam" number="6140"/>
+ <syscall name="sched_setscheduler" number="6141"/>
+ <syscall name="sched_getscheduler" number="6142"/>
+ <syscall name="sched_get_priority_max" number="6143"/>
+ <syscall name="sched_get_priority_min" number="6144"/>
+ <syscall name="sched_rr_get_interval" number="6145"/>
+ <syscall name="mlock" number="6146"/>
+ <syscall name="munlock" number="6147"/>
+ <syscall name="mlockall" number="6148"/>
+ <syscall name="munlockall" number="6149"/>
+ <syscall name="vhangup" number="6150"/>
+ <syscall name="pivot_root" number="6151"/>
+ <syscall name="_sysctl" number="6152"/>
+ <syscall name="prctl" number="6153"/>
+ <syscall name="adjtimex" number="6154"/>
+ <syscall name="setrlimit" number="6155"/>
+ <syscall name="chroot" number="6156"/>
+ <syscall name="sync" number="6157"/>
+ <syscall name="acct" number="6158"/>
+ <syscall name="settimeofday" number="6159"/>
+ <syscall name="mount" number="6160"/>
+ <syscall name="umount2" number="6161"/>
+ <syscall name="swapon" number="6162"/>
+ <syscall name="swapoff" number="6163"/>
+ <syscall name="reboot" number="6164"/>
+ <syscall name="sethostname" number="6165"/>
+ <syscall name="setdomainname" number="6166"/>
+ <syscall name="create_module" number="6167"/>
+ <syscall name="init_module" number="6168"/>
+ <syscall name="delete_module" number="6169"/>
+ <syscall name="get_kernel_syms" number="6170"/>
+ <syscall name="query_module" number="6171"/>
+ <syscall name="quotactl" number="6172"/>
+ <syscall name="nfsservctl" number="6173"/>
+ <syscall name="getpmsg" number="6174"/>
+ <syscall name="putpmsg" number="6175"/>
+ <syscall name="afs_syscall" number="6176"/>
+ <syscall name="reserved177" number="6177"/>
+ <syscall name="gettid" number="6178"/>
+ <syscall name="readahead" number="6179"/>
+ <syscall name="setxattr" number="6180"/>
+ <syscall name="lsetxattr" number="6181"/>
+ <syscall name="fsetxattr" number="6182"/>
+ <syscall name="getxattr" number="6183"/>
+ <syscall name="lgetxattr" number="6184"/>
+ <syscall name="fgetxattr" number="6185"/>
+ <syscall name="listxattr" number="6186"/>
+ <syscall name="llistxattr" number="6187"/>
+ <syscall name="flistxattr" number="6188"/>
+ <syscall name="removexattr" number="6189"/>
+ <syscall name="lremovexattr" number="6190"/>
+ <syscall name="fremovexattr" number="6191"/>
+ <syscall name="tkill" number="6192"/>
+ <syscall name="reserved193" number="6193"/>
+ <syscall name="futex" number="6194"/>
+ <syscall name="sched_setaffinity" number="6195"/>
+ <syscall name="sched_getaffinity" number="6196"/>
+ <syscall name="cacheflush" number="6197"/>
+ <syscall name="cachectl" number="6198"/>
+ <syscall name="sysmips" number="6199"/>
+ <syscall name="io_setup" number="6200"/>
+ <syscall name="io_destroy" number="6201"/>
+ <syscall name="io_getevents" number="6202"/>
+ <syscall name="io_submit" number="6203"/>
+ <syscall name="io_cancel" number="6204"/>
+ <syscall name="exit_group" number="6205"/>
+ <syscall name="lookup_dcookie" number="6206"/>
+ <syscall name="epoll_create" number="6207"/>
+ <syscall name="epoll_ctl" number="6208"/>
+ <syscall name="epoll_wait" number="6209"/>
+ <syscall name="remap_file_pages" number="6210"/>
+ <syscall name="rt_sigreturn" number="6211"/>
+ <syscall name="fcntl64" number="6212"/>
+ <syscall name="set_tid_address" number="6213"/>
+ <syscall name="restart_syscall" number="6214"/>
+ <syscall name="semtimedop" number="6215"/>
+ <syscall name="fadvise64" number="6216"/>
+ <syscall name="statfs64" number="6217"/>
+ <syscall name="fstatfs64" number="6218"/>
+ <syscall name="sendfile64" number="6219"/>
+ <syscall name="timer_create" number="6220"/>
+ <syscall name="timer_settime" number="6221"/>
+ <syscall name="timer_gettime" number="6222"/>
+ <syscall name="timer_getoverrun" number="6223"/>
+ <syscall name="timer_delete" number="6224"/>
+ <syscall name="clock_settime" number="6225"/>
+ <syscall name="clock_gettime" number="6226"/>
+ <syscall name="clock_getres" number="6227"/>
+ <syscall name="clock_nanosleep" number="6228"/>
+ <syscall name="tgkill" number="6229"/>
+ <syscall name="utimes" number="6230"/>
+ <syscall name="mbind" number="6231"/>
+ <syscall name="get_mempolicy" number="6232"/>
+ <syscall name="set_mempolicy" number="6233"/>
+ <syscall name="mq_open" number="6234"/>
+ <syscall name="mq_unlink" number="6235"/>
+ <syscall name="mq_timedsend" number="6236"/>
+ <syscall name="mq_timedreceive" number="6237"/>
+ <syscall name="mq_notify" number="6238"/>
+ <syscall name="mq_getsetattr" number="6239"/>
+ <syscall name="vserver" number="6240"/>
+ <syscall name="waitid" number="6241"/>
+ <syscall name="add_key" number="6243"/>
+ <syscall name="request_key" number="6244"/>
+ <syscall name="keyctl" number="6245"/>
+ <syscall name="set_thread_area" number="6246"/>
+ <syscall name="inotify_init" number="6247"/>
+ <syscall name="inotify_add_watch" number="6248"/>
+ <syscall name="inotify_rm_watch" number="6249"/>
+ <syscall name="migrate_pages" number="6250"/>
+ <syscall name="openat" number="6251"/>
+ <syscall name="mkdirat" number="6252"/>
+ <syscall name="mknodat" number="6253"/>
+ <syscall name="fchownat" number="6254"/>
+ <syscall name="futimesat" number="6255"/>
+ <syscall name="newfstatat" number="6256"/>
+ <syscall name="unlinkat" number="6257"/>
+ <syscall name="renameat" number="6258"/>
+ <syscall name="linkat" number="6259"/>
+ <syscall name="symlinkat" number="6260"/>
+ <syscall name="readlinkat" number="6261"/>
+ <syscall name="fchmodat" number="6262"/>
+ <syscall name="faccessat" number="6263"/>
+ <syscall name="pselect6" number="6264"/>
+ <syscall name="ppoll" number="6265"/>
+ <syscall name="unshare" number="6266"/>
+ <syscall name="splice" number="6267"/>
+ <syscall name="sync_file_range" number="6268"/>
+ <syscall name="tee" number="6269"/>
+ <syscall name="vmsplice" number="6270"/>
+ <syscall name="move_pages" number="6271"/>
+ <syscall name="set_robust_list" number="6272"/>
+ <syscall name="get_robust_list" number="6273"/>
+ <syscall name="kexec_load" number="6274"/>
+ <syscall name="getcpu" number="6275"/>
+ <syscall name="epoll_pwait" number="6276"/>
+ <syscall name="ioprio_set" number="6277"/>
+ <syscall name="ioprio_get" number="6278"/>
+ <syscall name="utimensat" number="6279"/>
+ <syscall name="signalfd" number="6280"/>
+ <syscall name="timerfd" number="6281"/>
+ <syscall name="eventfd" number="6282"/>
+ <syscall name="fallocate" number="6283"/>
+ <syscall name="timerfd_create" number="6284"/>
+ <syscall name="timerfd_gettime" number="6285"/>
+ <syscall name="timerfd_settime" number="6286"/>
+ <syscall name="signalfd4" number="6287"/>
+ <syscall name="eventfd2" number="6288"/>
+ <syscall name="epoll_create1" number="6289"/>
+ <syscall name="dup3" number="6290"/>
+ <syscall name="pipe2" number="6291"/>
+ <syscall name="inotify_init1" number="6292"/>
+ <syscall name="preadv" number="6293"/>
+ <syscall name="pwritev" number="6294"/>
+ <syscall name="rt_tgsigqueueinfo" number="6295"/>
+ <syscall name="perf_event_open" number="6296"/>
+ <syscall name="accept4" number="6297"/>
+ <syscall name="recvmmsg" number="6298"/>
+ <syscall name="getdents64" number="6299"/>
+ <syscall name="fanotify_init" number="6300"/>
+ <syscall name="fanotify_mark" number="6301"/>
+ <syscall name="prlimit64" number="6302"/>
+</syscalls_info>
diff --git a/share/gdb/syscalls/mips-n64-linux.xml b/share/gdb/syscalls/mips-n64-linux.xml
new file mode 100644
index 0000000..fc951c8
--- /dev/null
+++ b/share/gdb/syscalls/mips-n64-linux.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2011 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
+
+<!-- This file was generated using the following file:
+
+ /usr/src/linux/arch/mips/include/asm/unistd.h
+
+ The file mentioned above belongs to the Linux Kernel. -->
+
+<syscalls_info>
+ <syscall name="read" number="5000"/>
+ <syscall name="write" number="5001"/>
+ <syscall name="open" number="5002"/>
+ <syscall name="close" number="5003"/>
+ <syscall name="stat" number="5004"/>
+ <syscall name="fstat" number="5005"/>
+ <syscall name="lstat" number="5006"/>
+ <syscall name="poll" number="5007"/>
+ <syscall name="lseek" number="5008"/>
+ <syscall name="mmap" number="5009"/>
+ <syscall name="mprotect" number="5010"/>
+ <syscall name="munmap" number="5011"/>
+ <syscall name="brk" number="5012"/>
+ <syscall name="rt_sigaction" number="5013"/>
+ <syscall name="rt_sigprocmask" number="5014"/>
+ <syscall name="ioctl" number="5015"/>
+ <syscall name="pread64" number="5016"/>
+ <syscall name="pwrite64" number="5017"/>
+ <syscall name="readv" number="5018"/>
+ <syscall name="writev" number="5019"/>
+ <syscall name="access" number="5020"/>
+ <syscall name="pipe" number="5021"/>
+ <syscall name="_newselect" number="5022"/>
+ <syscall name="sched_yield" number="5023"/>
+ <syscall name="mremap" number="5024"/>
+ <syscall name="msync" number="5025"/>
+ <syscall name="mincore" number="5026"/>
+ <syscall name="madvise" number="5027"/>
+ <syscall name="shmget" number="5028"/>
+ <syscall name="shmat" number="5029"/>
+ <syscall name="shmctl" number="5030"/>
+ <syscall name="dup" number="5031"/>
+ <syscall name="dup2" number="5032"/>
+ <syscall name="pause" number="5033"/>
+ <syscall name="nanosleep" number="5034"/>
+ <syscall name="getitimer" number="5035"/>
+ <syscall name="setitimer" number="5036"/>
+ <syscall name="alarm" number="5037"/>
+ <syscall name="getpid" number="5038"/>
+ <syscall name="sendfile" number="5039"/>
+ <syscall name="socket" number="5040"/>
+ <syscall name="connect" number="5041"/>
+ <syscall name="accept" number="5042"/>
+ <syscall name="sendto" number="5043"/>
+ <syscall name="recvfrom" number="5044"/>
+ <syscall name="sendmsg" number="5045"/>
+ <syscall name="recvmsg" number="5046"/>
+ <syscall name="shutdown" number="5047"/>
+ <syscall name="bind" number="5048"/>
+ <syscall name="listen" number="5049"/>
+ <syscall name="getsockname" number="5050"/>
+ <syscall name="getpeername" number="5051"/>
+ <syscall name="socketpair" number="5052"/>
+ <syscall name="setsockopt" number="5053"/>
+ <syscall name="getsockopt" number="5054"/>
+ <syscall name="clone" number="5055"/>
+ <syscall name="fork" number="5056"/>
+ <syscall name="execve" number="5057"/>
+ <syscall name="exit" number="5058"/>
+ <syscall name="wait4" number="5059"/>
+ <syscall name="kill" number="5060"/>
+ <syscall name="uname" number="5061"/>
+ <syscall name="semget" number="5062"/>
+ <syscall name="semop" number="5063"/>
+ <syscall name="semctl" number="5064"/>
+ <syscall name="shmdt" number="5065"/>
+ <syscall name="msgget" number="5066"/>
+ <syscall name="msgsnd" number="5067"/>
+ <syscall name="msgrcv" number="5068"/>
+ <syscall name="msgctl" number="5069"/>
+ <syscall name="fcntl" number="5070"/>
+ <syscall name="flock" number="5071"/>
+ <syscall name="fsync" number="5072"/>
+ <syscall name="fdatasync" number="5073"/>
+ <syscall name="truncate" number="5074"/>
+ <syscall name="ftruncate" number="5075"/>
+ <syscall name="getdents" number="5076"/>
+ <syscall name="getcwd" number="5077"/>
+ <syscall name="chdir" number="5078"/>
+ <syscall name="fchdir" number="5079"/>
+ <syscall name="rename" number="5080"/>
+ <syscall name="mkdir" number="5081"/>
+ <syscall name="rmdir" number="5082"/>
+ <syscall name="creat" number="5083"/>
+ <syscall name="link" number="5084"/>
+ <syscall name="unlink" number="5085"/>
+ <syscall name="symlink" number="5086"/>
+ <syscall name="readlink" number="5087"/>
+ <syscall name="chmod" number="5088"/>
+ <syscall name="fchmod" number="5089"/>
+ <syscall name="chown" number="5090"/>
+ <syscall name="fchown" number="5091"/>
+ <syscall name="lchown" number="5092"/>
+ <syscall name="umask" number="5093"/>
+ <syscall name="gettimeofday" number="5094"/>
+ <syscall name="getrlimit" number="5095"/>
+ <syscall name="getrusage" number="5096"/>
+ <syscall name="sysinfo" number="5097"/>
+ <syscall name="times" number="5098"/>
+ <syscall name="ptrace" number="5099"/>
+ <syscall name="getuid" number="5100"/>
+ <syscall name="syslog" number="5101"/>
+ <syscall name="getgid" number="5102"/>
+ <syscall name="setuid" number="5103"/>
+ <syscall name="setgid" number="5104"/>
+ <syscall name="geteuid" number="5105"/>
+ <syscall name="getegid" number="5106"/>
+ <syscall name="setpgid" number="5107"/>
+ <syscall name="getppid" number="5108"/>
+ <syscall name="getpgrp" number="5109"/>
+ <syscall name="setsid" number="5110"/>
+ <syscall name="setreuid" number="5111"/>
+ <syscall name="setregid" number="5112"/>
+ <syscall name="getgroups" number="5113"/>
+ <syscall name="setgroups" number="5114"/>
+ <syscall name="setresuid" number="5115"/>
+ <syscall name="getresuid" number="5116"/>
+ <syscall name="setresgid" number="5117"/>
+ <syscall name="getresgid" number="5118"/>
+ <syscall name="getpgid" number="5119"/>
+ <syscall name="setfsuid" number="5120"/>
+ <syscall name="setfsgid" number="5121"/>
+ <syscall name="getsid" number="5122"/>
+ <syscall name="capget" number="5123"/>
+ <syscall name="capset" number="5124"/>
+ <syscall name="rt_sigpending" number="5125"/>
+ <syscall name="rt_sigtimedwait" number="5126"/>
+ <syscall name="rt_sigqueueinfo" number="5127"/>
+ <syscall name="rt_sigsuspend" number="5128"/>
+ <syscall name="sigaltstack" number="5129"/>
+ <syscall name="utime" number="5130"/>
+ <syscall name="mknod" number="5131"/>
+ <syscall name="personality" number="5132"/>
+ <syscall name="ustat" number="5133"/>
+ <syscall name="statfs" number="5134"/>
+ <syscall name="fstatfs" number="5135"/>
+ <syscall name="sysfs" number="5136"/>
+ <syscall name="getpriority" number="5137"/>
+ <syscall name="setpriority" number="5138"/>
+ <syscall name="sched_setparam" number="5139"/>
+ <syscall name="sched_getparam" number="5140"/>
+ <syscall name="sched_setscheduler" number="5141"/>
+ <syscall name="sched_getscheduler" number="5142"/>
+ <syscall name="sched_get_priority_max" number="5143"/>
+ <syscall name="sched_get_priority_min" number="5144"/>
+ <syscall name="sched_rr_get_interval" number="5145"/>
+ <syscall name="mlock" number="5146"/>
+ <syscall name="munlock" number="5147"/>
+ <syscall name="mlockall" number="5148"/>
+ <syscall name="munlockall" number="5149"/>
+ <syscall name="vhangup" number="5150"/>
+ <syscall name="pivot_root" number="5151"/>
+ <syscall name="_sysctl" number="5152"/>
+ <syscall name="prctl" number="5153"/>
+ <syscall name="adjtimex" number="5154"/>
+ <syscall name="setrlimit" number="5155"/>
+ <syscall name="chroot" number="5156"/>
+ <syscall name="sync" number="5157"/>
+ <syscall name="acct" number="5158"/>
+ <syscall name="settimeofday" number="5159"/>
+ <syscall name="mount" number="5160"/>
+ <syscall name="umount2" number="5161"/>
+ <syscall name="swapon" number="5162"/>
+ <syscall name="swapoff" number="5163"/>
+ <syscall name="reboot" number="5164"/>
+ <syscall name="sethostname" number="5165"/>
+ <syscall name="setdomainname" number="5166"/>
+ <syscall name="create_module" number="5167"/>
+ <syscall name="init_module" number="5168"/>
+ <syscall name="delete_module" number="5169"/>
+ <syscall name="get_kernel_syms" number="5170"/>
+ <syscall name="query_module" number="5171"/>
+ <syscall name="quotactl" number="5172"/>
+ <syscall name="nfsservctl" number="5173"/>
+ <syscall name="getpmsg" number="5174"/>
+ <syscall name="putpmsg" number="5175"/>
+ <syscall name="afs_syscall" number="5176"/>
+ <syscall name="gettid" number="5178"/>
+ <syscall name="readahead" number="5179"/>
+ <syscall name="setxattr" number="5180"/>
+ <syscall name="lsetxattr" number="5181"/>
+ <syscall name="fsetxattr" number="5182"/>
+ <syscall name="getxattr" number="5183"/>
+ <syscall name="lgetxattr" number="5184"/>
+ <syscall name="fgetxattr" number="5185"/>
+ <syscall name="listxattr" number="5186"/>
+ <syscall name="llistxattr" number="5187"/>
+ <syscall name="flistxattr" number="5188"/>
+ <syscall name="removexattr" number="5189"/>
+ <syscall name="lremovexattr" number="5190"/>
+ <syscall name="fremovexattr" number="5191"/>
+ <syscall name="tkill" number="5192"/>
+ <syscall name="futex" number="5194"/>
+ <syscall name="sched_setaffinity" number="5195"/>
+ <syscall name="sched_getaffinity" number="5196"/>
+ <syscall name="cacheflush" number="5197"/>
+ <syscall name="cachectl" number="5198"/>
+ <syscall name="sysmips" number="5199"/>
+ <syscall name="io_setup" number="5200"/>
+ <syscall name="io_destroy" number="5201"/>
+ <syscall name="io_getevents" number="5202"/>
+ <syscall name="io_submit" number="5203"/>
+ <syscall name="io_cancel" number="5204"/>
+ <syscall name="exit_group" number="5205"/>
+ <syscall name="lookup_dcookie" number="5206"/>
+ <syscall name="epoll_create" number="5207"/>
+ <syscall name="epoll_ctl" number="5208"/>
+ <syscall name="epoll_wait" number="5209"/>
+ <syscall name="remap_file_pages" number="5210"/>
+ <syscall name="rt_sigreturn" number="5211"/>
+ <syscall name="set_tid_address" number="5212"/>
+ <syscall name="restart_syscall" number="5213"/>
+ <syscall name="semtimedop" number="5214"/>
+ <syscall name="fadvise64" number="5215"/>
+ <syscall name="timer_create" number="5216"/>
+ <syscall name="timer_settime" number="5217"/>
+ <syscall name="timer_gettime" number="5218"/>
+ <syscall name="timer_getoverrun" number="5219"/>
+ <syscall name="timer_delete" number="5220"/>
+ <syscall name="clock_settime" number="5221"/>
+ <syscall name="clock_gettime" number="5222"/>
+ <syscall name="clock_getres" number="5223"/>
+ <syscall name="clock_nanosleep" number="5224"/>
+ <syscall name="tgkill" number="5225"/>
+ <syscall name="utimes" number="5226"/>
+ <syscall name="mbind" number="5227"/>
+ <syscall name="get_mempolicy" number="5228"/>
+ <syscall name="set_mempolicy" number="5229"/>
+ <syscall name="mq_open" number="5230"/>
+ <syscall name="mq_unlink" number="5231"/>
+ <syscall name="mq_timedsend" number="5232"/>
+ <syscall name="mq_timedreceive" number="5233"/>
+ <syscall name="mq_notify" number="5234"/>
+ <syscall name="mq_getsetattr" number="5235"/>
+ <syscall name="vserver" number="5236"/>
+ <syscall name="waitid" number="5237"/>
+ <syscall name="add_key" number="5239"/>
+ <syscall name="request_key" number="5240"/>
+ <syscall name="keyctl" number="5241"/>
+ <syscall name="set_thread_area" number="5242"/>
+ <syscall name="inotify_init" number="5243"/>
+ <syscall name="inotify_add_watch" number="5244"/>
+ <syscall name="inotify_rm_watch" number="5245"/>
+ <syscall name="migrate_pages" number="5246"/>
+ <syscall name="openat" number="5247"/>
+ <syscall name="mkdirat" number="5248"/>
+ <syscall name="mknodat" number="5249"/>
+ <syscall name="fchownat" number="5250"/>
+ <syscall name="futimesat" number="5251"/>
+ <syscall name="newfstatat" number="5252"/>
+ <syscall name="unlinkat" number="5253"/>
+ <syscall name="renameat" number="5254"/>
+ <syscall name="linkat" number="5255"/>
+ <syscall name="symlinkat" number="5256"/>
+ <syscall name="readlinkat" number="5257"/>
+ <syscall name="fchmodat" number="5258"/>
+ <syscall name="faccessat" number="5259"/>
+ <syscall name="pselect6" number="5260"/>
+ <syscall name="ppoll" number="5261"/>
+ <syscall name="unshare" number="5262"/>
+ <syscall name="splice" number="5263"/>
+ <syscall name="sync_file_range" number="5264"/>
+ <syscall name="tee" number="5265"/>
+ <syscall name="vmsplice" number="5266"/>
+ <syscall name="move_pages" number="5267"/>
+ <syscall name="set_robust_list" number="5268"/>
+ <syscall name="get_robust_list" number="5269"/>
+ <syscall name="kexec_load" number="5270"/>
+ <syscall name="getcpu" number="5271"/>
+ <syscall name="epoll_pwait" number="5272"/>
+ <syscall name="ioprio_set" number="5273"/>
+ <syscall name="ioprio_get" number="5274"/>
+ <syscall name="utimensat" number="5275"/>
+ <syscall name="signalfd" number="5276"/>
+ <syscall name="timerfd" number="5277"/>
+ <syscall name="eventfd" number="5278"/>
+ <syscall name="fallocate" number="5279"/>
+ <syscall name="timerfd_create" number="5280"/>
+ <syscall name="timerfd_gettime" number="5281"/>
+ <syscall name="timerfd_settime" number="5282"/>
+ <syscall name="signalfd4" number="5283"/>
+ <syscall name="eventfd2" number="5284"/>
+ <syscall name="epoll_create1" number="5285"/>
+ <syscall name="dup3" number="5286"/>
+ <syscall name="pipe2" number="5287"/>
+ <syscall name="inotify_init1" number="5288"/>
+ <syscall name="preadv" number="5289"/>
+ <syscall name="pwritev" number="5290"/>
+ <syscall name="rt_tgsigqueueinfo" number="5291"/>
+ <syscall name="perf_event_open" number="5292"/>
+ <syscall name="accept4" number="5293"/>
+ <syscall name="recvmmsg" number="5294"/>
+ <syscall name="fanotify_init" number="5295"/>
+ <syscall name="fanotify_mark" number="5296"/>
+ <syscall name="prlimit64" number="5297"/>
+</syscalls_info>
diff --git a/share/gdb/syscalls/mips-o32-linux.xml b/share/gdb/syscalls/mips-o32-linux.xml
new file mode 100644
index 0000000..939ed4e
--- /dev/null
+++ b/share/gdb/syscalls/mips-o32-linux.xml
@@ -0,0 +1,347 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2011 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
+
+<!-- This file was generated using the following file:
+
+ /usr/src/linux/arch/mips/include/asm/unistd.h
+
+ The file mentioned above belongs to the Linux Kernel. -->
+
+<syscalls_info>
+ <syscall name="syscall" number="4000"/>
+ <syscall name="exit" number="4001"/>
+ <syscall name="fork" number="4002"/>
+ <syscall name="read" number="4003"/>
+ <syscall name="write" number="4004"/>
+ <syscall name="open" number="4005"/>
+ <syscall name="close" number="4006"/>
+ <syscall name="waitpid" number="4007"/>
+ <syscall name="creat" number="4008"/>
+ <syscall name="link" number="4009"/>
+ <syscall name="unlink" number="4010"/>
+ <syscall name="execve" number="4011"/>
+ <syscall name="chdir" number="4012"/>
+ <syscall name="time" number="4013"/>
+ <syscall name="mknod" number="4014"/>
+ <syscall name="chmod" number="4015"/>
+ <syscall name="lchown" number="4016"/>
+ <syscall name="break" number="4017"/>
+ <syscall name="lseek" number="4019"/>
+ <syscall name="getpid" number="4020"/>
+ <syscall name="mount" number="4021"/>
+ <syscall name="umount" number="4022"/>
+ <syscall name="setuid" number="4023"/>
+ <syscall name="getuid" number="4024"/>
+ <syscall name="stime" number="4025"/>
+ <syscall name="ptrace" number="4026"/>
+ <syscall name="alarm" number="4027"/>
+ <syscall name="pause" number="4029"/>
+ <syscall name="utime" number="4030"/>
+ <syscall name="stty" number="4031"/>
+ <syscall name="gtty" number="4032"/>
+ <syscall name="access" number="4033"/>
+ <syscall name="nice" number="4034"/>
+ <syscall name="ftime" number="4035"/>
+ <syscall name="sync" number="4036"/>
+ <syscall name="kill" number="4037"/>
+ <syscall name="rename" number="4038"/>
+ <syscall name="mkdir" number="4039"/>
+ <syscall name="rmdir" number="4040"/>
+ <syscall name="dup" number="4041"/>
+ <syscall name="pipe" number="4042"/>
+ <syscall name="times" number="4043"/>
+ <syscall name="prof" number="4044"/>
+ <syscall name="brk" number="4045"/>
+ <syscall name="setgid" number="4046"/>
+ <syscall name="getgid" number="4047"/>
+ <syscall name="signal" number="4048"/>
+ <syscall name="geteuid" number="4049"/>
+ <syscall name="getegid" number="4050"/>
+ <syscall name="acct" number="4051"/>
+ <syscall name="umount2" number="4052"/>
+ <syscall name="lock" number="4053"/>
+ <syscall name="ioctl" number="4054"/>
+ <syscall name="fcntl" number="4055"/>
+ <syscall name="mpx" number="4056"/>
+ <syscall name="setpgid" number="4057"/>
+ <syscall name="ulimit" number="4058"/>
+ <syscall name="umask" number="4060"/>
+ <syscall name="chroot" number="4061"/>
+ <syscall name="ustat" number="4062"/>
+ <syscall name="dup2" number="4063"/>
+ <syscall name="getppid" number="4064"/>
+ <syscall name="getpgrp" number="4065"/>
+ <syscall name="setsid" number="4066"/>
+ <syscall name="sigaction" number="4067"/>
+ <syscall name="sgetmask" number="4068"/>
+ <syscall name="ssetmask" number="4069"/>
+ <syscall name="setreuid" number="4070"/>
+ <syscall name="setregid" number="4071"/>
+ <syscall name="sigsuspend" number="4072"/>
+ <syscall name="sigpending" number="4073"/>
+ <syscall name="sethostname" number="4074"/>
+ <syscall name="setrlimit" number="4075"/>
+ <syscall name="getrlimit" number="4076"/>
+ <syscall name="getrusage" number="4077"/>
+ <syscall name="gettimeofday" number="4078"/>
+ <syscall name="settimeofday" number="4079"/>
+ <syscall name="getgroups" number="4080"/>
+ <syscall name="setgroups" number="4081"/>
+ <syscall name="symlink" number="4083"/>
+ <syscall name="readlink" number="4085"/>
+ <syscall name="uselib" number="4086"/>
+ <syscall name="swapon" number="4087"/>
+ <syscall name="reboot" number="4088"/>
+ <syscall name="readdir" number="4089"/>
+ <syscall name="mmap" number="4090"/>
+ <syscall name="munmap" number="4091"/>
+ <syscall name="truncate" number="4092"/>
+ <syscall name="ftruncate" number="4093"/>
+ <syscall name="fchmod" number="4094"/>
+ <syscall name="fchown" number="4095"/>
+ <syscall name="getpriority" number="4096"/>
+ <syscall name="setpriority" number="4097"/>
+ <syscall name="profil" number="4098"/>
+ <syscall name="statfs" number="4099"/>
+ <syscall name="fstatfs" number="4100"/>
+ <syscall name="ioperm" number="4101"/>
+ <syscall name="socketcall" number="4102"/>
+ <syscall name="syslog" number="4103"/>
+ <syscall name="setitimer" number="4104"/>
+ <syscall name="getitimer" number="4105"/>
+ <syscall name="stat" number="4106"/>
+ <syscall name="lstat" number="4107"/>
+ <syscall name="fstat" number="4108"/>
+ <syscall name="iopl" number="4110"/>
+ <syscall name="vhangup" number="4111"/>
+ <syscall name="idle" number="4112"/>
+ <syscall name="vm86" number="4113"/>
+ <syscall name="wait4" number="4114"/>
+ <syscall name="swapoff" number="4115"/>
+ <syscall name="sysinfo" number="4116"/>
+ <syscall name="ipc" number="4117"/>
+ <syscall name="fsync" number="4118"/>
+ <syscall name="sigreturn" number="4119"/>
+ <syscall name="clone" number="4120"/>
+ <syscall name="setdomainname" number="4121"/>
+ <syscall name="uname" number="4122"/>
+ <syscall name="modify_ldt" number="4123"/>
+ <syscall name="adjtimex" number="4124"/>
+ <syscall name="mprotect" number="4125"/>
+ <syscall name="sigprocmask" number="4126"/>
+ <syscall name="create_module" number="4127"/>
+ <syscall name="init_module" number="4128"/>
+ <syscall name="delete_module" number="4129"/>
+ <syscall name="get_kernel_syms" number="4130"/>
+ <syscall name="quotactl" number="4131"/>
+ <syscall name="getpgid" number="4132"/>
+ <syscall name="fchdir" number="4133"/>
+ <syscall name="bdflush" number="4134"/>
+ <syscall name="sysfs" number="4135"/>
+ <syscall name="personality" number="4136"/>
+ <syscall name="afs_syscall" number="4137"/>
+ <syscall name="setfsuid" number="4138"/>
+ <syscall name="setfsgid" number="4139"/>
+ <syscall name="_llseek" number="4140"/>
+ <syscall name="getdents" number="4141"/>
+ <syscall name="_newselect" number="4142"/>
+ <syscall name="flock" number="4143"/>
+ <syscall name="msync" number="4144"/>
+ <syscall name="readv" number="4145"/>
+ <syscall name="writev" number="4146"/>
+ <syscall name="cacheflush" number="4147"/>
+ <syscall name="cachectl" number="4148"/>
+ <syscall name="sysmips" number="4149"/>
+ <syscall name="getsid" number="4151"/>
+ <syscall name="fdatasync" number="4152"/>
+ <syscall name="_sysctl" number="4153"/>
+ <syscall name="mlock" number="4154"/>
+ <syscall name="munlock" number="4155"/>
+ <syscall name="mlockall" number="4156"/>
+ <syscall name="munlockall" number="4157"/>
+ <syscall name="sched_setparam" number="4158"/>
+ <syscall name="sched_getparam" number="4159"/>
+ <syscall name="sched_setscheduler" number="4160"/>
+ <syscall name="sched_getscheduler" number="4161"/>
+ <syscall name="sched_yield" number="4162"/>
+ <syscall name="sched_get_priority_max" number="4163"/>
+ <syscall name="sched_get_priority_min" number="4164"/>
+ <syscall name="sched_rr_get_interval" number="4165"/>
+ <syscall name="nanosleep" number="4166"/>
+ <syscall name="mremap" number="4167"/>
+ <syscall name="accept" number="4168"/>
+ <syscall name="bind" number="4169"/>
+ <syscall name="connect" number="4170"/>
+ <syscall name="getpeername" number="4171"/>
+ <syscall name="getsockname" number="4172"/>
+ <syscall name="getsockopt" number="4173"/>
+ <syscall name="listen" number="4174"/>
+ <syscall name="recv" number="4175"/>
+ <syscall name="recvfrom" number="4176"/>
+ <syscall name="recvmsg" number="4177"/>
+ <syscall name="send" number="4178"/>
+ <syscall name="sendmsg" number="4179"/>
+ <syscall name="sendto" number="4180"/>
+ <syscall name="setsockopt" number="4181"/>
+ <syscall name="shutdown" number="4182"/>
+ <syscall name="socket" number="4183"/>
+ <syscall name="socketpair" number="4184"/>
+ <syscall name="setresuid" number="4185"/>
+ <syscall name="getresuid" number="4186"/>
+ <syscall name="query_module" number="4187"/>
+ <syscall name="poll" number="4188"/>
+ <syscall name="nfsservctl" number="4189"/>
+ <syscall name="setresgid" number="4190"/>
+ <syscall name="getresgid" number="4191"/>
+ <syscall name="prctl" number="4192"/>
+ <syscall name="rt_sigreturn" number="4193"/>
+ <syscall name="rt_sigaction" number="4194"/>
+ <syscall name="rt_sigprocmask" number="4195"/>
+ <syscall name="rt_sigpending" number="4196"/>
+ <syscall name="rt_sigtimedwait" number="4197"/>
+ <syscall name="rt_sigqueueinfo" number="4198"/>
+ <syscall name="rt_sigsuspend" number="4199"/>
+ <syscall name="pread64" number="4200"/>
+ <syscall name="pwrite64" number="4201"/>
+ <syscall name="chown" number="4202"/>
+ <syscall name="getcwd" number="4203"/>
+ <syscall name="capget" number="4204"/>
+ <syscall name="capset" number="4205"/>
+ <syscall name="sigaltstack" number="4206"/>
+ <syscall name="sendfile" number="4207"/>
+ <syscall name="getpmsg" number="4208"/>
+ <syscall name="putpmsg" number="4209"/>
+ <syscall name="mmap2" number="4210"/>
+ <syscall name="truncate64" number="4211"/>
+ <syscall name="ftruncate64" number="4212"/>
+ <syscall name="stat64" number="4213"/>
+ <syscall name="lstat64" number="4214"/>
+ <syscall name="fstat64" number="4215"/>
+ <syscall name="pivot_root" number="4216"/>
+ <syscall name="mincore" number="4217"/>
+ <syscall name="madvise" number="4218"/>
+ <syscall name="getdents64" number="4219"/>
+ <syscall name="fcntl64" number="4220"/>
+ <syscall name="gettid" number="4222"/>
+ <syscall name="readahead" number="4223"/>
+ <syscall name="setxattr" number="4224"/>
+ <syscall name="lsetxattr" number="4225"/>
+ <syscall name="fsetxattr" number="4226"/>
+ <syscall name="getxattr" number="4227"/>
+ <syscall name="lgetxattr" number="4228"/>
+ <syscall name="fgetxattr" number="4229"/>
+ <syscall name="listxattr" number="4230"/>
+ <syscall name="llistxattr" number="4231"/>
+ <syscall name="flistxattr" number="4232"/>
+ <syscall name="removexattr" number="4233"/>
+ <syscall name="lremovexattr" number="4234"/>
+ <syscall name="fremovexattr" number="4235"/>
+ <syscall name="tkill" number="4236"/>
+ <syscall name="sendfile64" number="4237"/>
+ <syscall name="futex" number="4238"/>
+ <syscall name="sched_setaffinity" number="4239"/>
+ <syscall name="sched_getaffinity" number="4240"/>
+ <syscall name="io_setup" number="4241"/>
+ <syscall name="io_destroy" number="4242"/>
+ <syscall name="io_getevents" number="4243"/>
+ <syscall name="io_submit" number="4244"/>
+ <syscall name="io_cancel" number="4245"/>
+ <syscall name="exit_group" number="4246"/>
+ <syscall name="lookup_dcookie" number="4247"/>
+ <syscall name="epoll_create" number="4248"/>
+ <syscall name="epoll_ctl" number="4249"/>
+ <syscall name="epoll_wait" number="4250"/>
+ <syscall name="remap_file_pages" number="4251"/>
+ <syscall name="set_tid_address" number="4252"/>
+ <syscall name="restart_syscall" number="4253"/>
+ <syscall name="fadvise64" number="4254"/>
+ <syscall name="statfs64" number="4255"/>
+ <syscall name="fstatfs64" number="4256"/>
+ <syscall name="timer_create" number="4257"/>
+ <syscall name="timer_settime" number="4258"/>
+ <syscall name="timer_gettime" number="4259"/>
+ <syscall name="timer_getoverrun" number="4260"/>
+ <syscall name="timer_delete" number="4261"/>
+ <syscall name="clock_settime" number="4262"/>
+ <syscall name="clock_gettime" number="4263"/>
+ <syscall name="clock_getres" number="4264"/>
+ <syscall name="clock_nanosleep" number="4265"/>
+ <syscall name="tgkill" number="4266"/>
+ <syscall name="utimes" number="4267"/>
+ <syscall name="mbind" number="4268"/>
+ <syscall name="get_mempolicy" number="4269"/>
+ <syscall name="set_mempolicy" number="4270"/>
+ <syscall name="mq_open" number="4271"/>
+ <syscall name="mq_unlink" number="4272"/>
+ <syscall name="mq_timedsend" number="4273"/>
+ <syscall name="mq_timedreceive" number="4274"/>
+ <syscall name="mq_notify" number="4275"/>
+ <syscall name="mq_getsetattr" number="4276"/>
+ <syscall name="vserver" number="4277"/>
+ <syscall name="waitid" number="4278"/>
+ <syscall name="add_key" number="4280"/>
+ <syscall name="request_key" number="4281"/>
+ <syscall name="keyctl" number="4282"/>
+ <syscall name="set_thread_area" number="4283"/>
+ <syscall name="inotify_init" number="4284"/>
+ <syscall name="inotify_add_watch" number="4285"/>
+ <syscall name="inotify_rm_watch" number="4286"/>
+ <syscall name="migrate_pages" number="4287"/>
+ <syscall name="openat" number="4288"/>
+ <syscall name="mkdirat" number="4289"/>
+ <syscall name="mknodat" number="4290"/>
+ <syscall name="fchownat" number="4291"/>
+ <syscall name="futimesat" number="4292"/>
+ <syscall name="fstatat64" number="4293"/>
+ <syscall name="unlinkat" number="4294"/>
+ <syscall name="renameat" number="4295"/>
+ <syscall name="linkat" number="4296"/>
+ <syscall name="symlinkat" number="4297"/>
+ <syscall name="readlinkat" number="4298"/>
+ <syscall name="fchmodat" number="4299"/>
+ <syscall name="faccessat" number="4300"/>
+ <syscall name="pselect6" number="4301"/>
+ <syscall name="ppoll" number="4302"/>
+ <syscall name="unshare" number="4303"/>
+ <syscall name="splice" number="4304"/>
+ <syscall name="sync_file_range" number="4305"/>
+ <syscall name="tee" number="4306"/>
+ <syscall name="vmsplice" number="4307"/>
+ <syscall name="move_pages" number="4308"/>
+ <syscall name="set_robust_list" number="4309"/>
+ <syscall name="get_robust_list" number="4310"/>
+ <syscall name="kexec_load" number="4311"/>
+ <syscall name="getcpu" number="4312"/>
+ <syscall name="epoll_pwait" number="4313"/>
+ <syscall name="ioprio_set" number="4314"/>
+ <syscall name="ioprio_get" number="4315"/>
+ <syscall name="utimensat" number="4316"/>
+ <syscall name="signalfd" number="4317"/>
+ <syscall name="timerfd" number="4318"/>
+ <syscall name="eventfd" number="4319"/>
+ <syscall name="fallocate" number="4320"/>
+ <syscall name="timerfd_create" number="4321"/>
+ <syscall name="timerfd_gettime" number="4322"/>
+ <syscall name="timerfd_settime" number="4323"/>
+ <syscall name="signalfd4" number="4324"/>
+ <syscall name="eventfd2" number="4325"/>
+ <syscall name="epoll_create1" number="4326"/>
+ <syscall name="dup3" number="4327"/>
+ <syscall name="pipe2" number="4328"/>
+ <syscall name="inotify_init1" number="4329"/>
+ <syscall name="preadv" number="4330"/>
+ <syscall name="pwritev" number="4331"/>
+ <syscall name="rt_tgsigqueueinfo" number="4332"/>
+ <syscall name="perf_event_open" number="4333"/>
+ <syscall name="accept4" number="4334"/>
+ <syscall name="recvmmsg" number="4335"/>
+ <syscall name="fanotify_init" number="4336"/>
+ <syscall name="fanotify_mark" number="4337"/>
+ <syscall name="prlimit64" number="4338"/>
+</syscalls_info>
diff --git a/share/gdb/syscalls/ppc-linux.xml b/share/gdb/syscalls/ppc-linux.xml
index 876e0b6..54728e3 100644
--- a/share/gdb/syscalls/ppc-linux.xml
+++ b/share/gdb/syscalls/ppc-linux.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!-- Copyright (C) 2009 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/share/gdb/syscalls/ppc64-linux.xml b/share/gdb/syscalls/ppc64-linux.xml
index d81d065..0b0b2ea 100644
--- a/share/gdb/syscalls/ppc64-linux.xml
+++ b/share/gdb/syscalls/ppc64-linux.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!-- Copyright (C) 2009 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/share/gdb/syscalls/sparc-linux.xml b/share/gdb/syscalls/sparc-linux.xml
new file mode 100644
index 0000000..3820809
--- /dev/null
+++ b/share/gdb/syscalls/sparc-linux.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
+
+<!-- This file was generated using the following file:
+
+ /usr/src/linux/arch/sparc/include/asm/unistd.h
+
+ The file mentioned above belongs to the Linux Kernel. -->
+
+<syscalls_info>
+ <syscall name="restart_syscall" number="0"/>
+ <syscall name="exit" number="1"/>
+ <syscall name="fork" number="2"/>
+ <syscall name="read" number="3"/>
+ <syscall name="write" number="4"/>
+ <syscall name="open" number="5"/>
+ <syscall name="close" number="6"/>
+ <syscall name="wait4" number="7"/>
+ <syscall name="creat" number="8"/>
+ <syscall name="link" number="9"/>
+ <syscall name="unlink" number="10"/>
+ <syscall name="execv" number="11"/>
+ <syscall name="chdir" number="12"/>
+ <syscall name="chown" number="13"/>
+ <syscall name="mknod" number="14"/>
+ <syscall name="chmod" number="15"/>
+ <syscall name="lchown" number="16"/>
+ <syscall name="brk" number="17"/>
+ <syscall name="perfctr" number="18"/>
+ <syscall name="lseek" number="19"/>
+ <syscall name="getpid" number="20"/>
+ <syscall name="capget" number="21"/>
+ <syscall name="capset" number="22"/>
+ <syscall name="setuid" number="23"/>
+ <syscall name="getuid" number="24"/>
+ <syscall name="vmsplice" number="25"/>
+ <syscall name="ptrace" number="26"/>
+ <syscall name="alarm" number="27"/>
+ <syscall name="sigaltstack" number="28"/>
+ <syscall name="pause" number="29"/>
+ <syscall name="utime" number="30"/>
+ <syscall name="lchown32" number="31"/>
+ <syscall name="fchown32" number="32"/>
+ <syscall name="access" number="33"/>
+ <syscall name="nice" number="34"/>
+ <syscall name="chown32" number="35"/>
+ <syscall name="sync" number="36"/>
+ <syscall name="kill" number="37"/>
+ <syscall name="stat" number="38"/>
+ <syscall name="sendfile" number="39"/>
+ <syscall name="lstat" number="40"/>
+ <syscall name="dup" number="41"/>
+ <syscall name="pipe" number="42"/>
+ <syscall name="times" number="43"/>
+ <syscall name="getuid32" number="44"/>
+ <syscall name="umount2" number="45"/>
+ <syscall name="setgid" number="46"/>
+ <syscall name="getgid" number="47"/>
+ <syscall name="signal" number="48"/>
+ <syscall name="geteuid" number="49"/>
+ <syscall name="getegid" number="50"/>
+ <syscall name="acct" number="51"/>
+ <syscall name="getgid32" number="53"/>
+ <syscall name="ioctl" number="54"/>
+ <syscall name="reboot" number="55"/>
+ <syscall name="mmap2" number="56"/>
+ <syscall name="symlink" number="57"/>
+ <syscall name="readlink" number="58"/>
+ <syscall name="execve" number="59"/>
+ <syscall name="umask" number="60"/>
+ <syscall name="chroot" number="61"/>
+ <syscall name="fstat" number="62"/>
+ <syscall name="fstat64" number="63"/>
+ <syscall name="getpagesize" number="64"/>
+ <syscall name="msync" number="65"/>
+ <syscall name="vfork" number="66"/>
+ <syscall name="pread64" number="67"/>
+ <syscall name="pwrite64" number="68"/>
+ <syscall name="geteuid32" number="69"/>
+ <syscall name="getegid32" number="70"/>
+ <syscall name="mmap" number="71"/>
+ <syscall name="setreuid32" number="72"/>
+ <syscall name="munmap" number="73"/>
+ <syscall name="mprotect" number="74"/>
+ <syscall name="madvise" number="75"/>
+ <syscall name="vhangup" number="76"/>
+ <syscall name="truncate64" number="77"/>
+ <syscall name="mincore" number="78"/>
+ <syscall name="getgroups" number="79"/>
+ <syscall name="setgroups" number="80"/>
+ <syscall name="getpgrp" number="81"/>
+ <syscall name="setgroups32" number="82"/>
+ <syscall name="setitimer" number="83"/>
+ <syscall name="ftruncate64" number="84"/>
+ <syscall name="swapon" number="85"/>
+ <syscall name="getitimer" number="86"/>
+ <syscall name="setuid32" number="87"/>
+ <syscall name="sethostname" number="88"/>
+ <syscall name="setgid32" number="89"/>
+ <syscall name="dup2" number="90"/>
+ <syscall name="setfsuid32" number="91"/>
+ <syscall name="fcntl" number="92"/>
+ <syscall name="select" number="93"/>
+ <syscall name="setfsgid32" number="94"/>
+ <syscall name="fsync" number="95"/>
+ <syscall name="setpriority" number="96"/>
+ <syscall name="socket" number="97"/>
+ <syscall name="connect" number="98"/>
+ <syscall name="accept" number="99"/>
+ <syscall name="getpriority" number="100"/>
+ <syscall name="rt_sigreturn" number="101"/>
+ <syscall name="rt_sigaction" number="102"/>
+ <syscall name="rt_sigprocmask" number="103"/>
+ <syscall name="rt_sigpending" number="104"/>
+ <syscall name="rt_sigtimedwait" number="105"/>
+ <syscall name="rt_sigqueueinfo" number="106"/>
+ <syscall name="rt_sigsuspend" number="107"/>
+ <syscall name="setresuid32" number="108"/>
+ <syscall name="getresuid32" number="109"/>
+ <syscall name="setresgid32" number="110"/>
+ <syscall name="getresgid32" number="111"/>
+ <syscall name="setregid32" number="112"/>
+ <syscall name="recvmsg" number="113"/>
+ <syscall name="sendmsg" number="114"/>
+ <syscall name="getgroups32" number="115"/>
+ <syscall name="gettimeofday" number="116"/>
+ <syscall name="getrusage" number="117"/>
+ <syscall name="getsockopt" number="118"/>
+ <syscall name="getcwd" number="119"/>
+ <syscall name="readv" number="120"/>
+ <syscall name="writev" number="121"/>
+ <syscall name="settimeofday" number="122"/>
+ <syscall name="fchown" number="123"/>
+ <syscall name="fchmod" number="124"/>
+ <syscall name="recvfrom" number="125"/>
+ <syscall name="setreuid" number="126"/>
+ <syscall name="setregid" number="127"/>
+ <syscall name="rename" number="128"/>
+ <syscall name="truncate" number="129"/>
+ <syscall name="ftruncate" number="130"/>
+ <syscall name="flock" number="131"/>
+ <syscall name="lstat64" number="132"/>
+ <syscall name="sendto" number="133"/>
+ <syscall name="shutdown" number="134"/>
+ <syscall name="socketpair" number="135"/>
+ <syscall name="mkdir" number="136"/>
+ <syscall name="rmdir" number="137"/>
+ <syscall name="utimes" number="138"/>
+ <syscall name="stat64" number="139"/>
+ <syscall name="sendfile64" number="140"/>
+ <syscall name="getpeername" number="141"/>
+ <syscall name="futex" number="142"/>
+ <syscall name="gettid" number="143"/>
+ <syscall name="getrlimit" number="144"/>
+ <syscall name="setrlimit" number="145"/>
+ <syscall name="pivot_root" number="146"/>
+ <syscall name="prctl" number="147"/>
+ <syscall name="pciconfig_read" number="148"/>
+ <syscall name="pciconfig_write" number="149"/>
+ <syscall name="getsockname" number="150"/>
+ <syscall name="inotify_init" number="151"/>
+ <syscall name="inotify_add_watch" number="152"/>
+ <syscall name="poll" number="153"/>
+ <syscall name="getdents64" number="154"/>
+ <syscall name="fcntl64" number="155"/>
+ <syscall name="inotify_rm_watch" number="156"/>
+ <syscall name="statfs" number="157"/>
+ <syscall name="fstatfs" number="158"/>
+ <syscall name="umount" number="159"/>
+ <syscall name="sched_set_affinity" number="160"/>
+ <syscall name="sched_get_affinity" number="161"/>
+ <syscall name="getdomainname" number="162"/>
+ <syscall name="setdomainname" number="163"/>
+ <syscall name="quotactl" number="165"/>
+ <syscall name="set_tid_address" number="166"/>
+ <syscall name="mount" number="167"/>
+ <syscall name="ustat" number="168"/>
+ <syscall name="setxattr" number="169"/>
+ <syscall name="lsetxattr" number="170"/>
+ <syscall name="fsetxattr" number="171"/>
+ <syscall name="getxattr" number="172"/>
+ <syscall name="lgetxattr" number="173"/>
+ <syscall name="getdents" number="174"/>
+ <syscall name="setsid" number="175"/>
+ <syscall name="fchdir" number="176"/>
+ <syscall name="fgetxattr" number="177"/>
+ <syscall name="listxattr" number="178"/>
+ <syscall name="llistxattr" number="179"/>
+ <syscall name="flistxattr" number="180"/>
+ <syscall name="removexattr" number="181"/>
+ <syscall name="lremovexattr" number="182"/>
+ <syscall name="sigpending" number="183"/>
+ <syscall name="query_module" number="184"/>
+ <syscall name="setpgid" number="185"/>
+ <syscall name="fremovexattr" number="186"/>
+ <syscall name="tkill" number="187"/>
+ <syscall name="exit_group" number="188"/>
+ <syscall name="uname" number="189"/>
+ <syscall name="init_module" number="190"/>
+ <syscall name="personality" number="191"/>
+ <syscall name="remap_file_pages" number="192"/>
+ <syscall name="epoll_create" number="193"/>
+ <syscall name="epoll_ctl" number="194"/>
+ <syscall name="epoll_wait" number="195"/>
+ <syscall name="ioprio_set" number="196"/>
+ <syscall name="getppid" number="197"/>
+ <syscall name="sigaction" number="198"/>
+ <syscall name="sgetmask" number="199"/>
+ <syscall name="ssetmask" number="200"/>
+ <syscall name="sigsuspend" number="201"/>
+ <syscall name="oldlstat" number="202"/>
+ <syscall name="uselib" number="203"/>
+ <syscall name="readdir" number="204"/>
+ <syscall name="readahead" number="205"/>
+ <syscall name="socketcall" number="206"/>
+ <syscall name="syslog" number="207"/>
+ <syscall name="lookup_dcookie" number="208"/>
+ <syscall name="fadvise64" number="209"/>
+ <syscall name="fadvise64_64" number="210"/>
+ <syscall name="tgkill" number="211"/>
+ <syscall name="waitpid" number="212"/>
+ <syscall name="swapoff" number="213"/>
+ <syscall name="sysinfo" number="214"/>
+ <syscall name="ipc" number="215"/>
+ <syscall name="sigreturn" number="216"/>
+ <syscall name="clone" number="217"/>
+ <syscall name="ioprio_get" number="218"/>
+ <syscall name="adjtimex" number="219"/>
+ <syscall name="sigprocmask" number="220"/>
+ <syscall name="create_module" number="221"/>
+ <syscall name="delete_module" number="222"/>
+ <syscall name="get_kernel_syms" number="223"/>
+ <syscall name="getpgid" number="224"/>
+ <syscall name="bdflush" number="225"/>
+ <syscall name="sysfs" number="226"/>
+ <syscall name="afs_syscall" number="227"/>
+ <syscall name="setfsuid" number="228"/>
+ <syscall name="setfsgid" number="229"/>
+ <syscall name="_newselect" number="230"/>
+ <syscall name="time" number="231"/>
+ <syscall name="splice" number="232"/>
+ <syscall name="stime" number="233"/>
+ <syscall name="statfs64" number="234"/>
+ <syscall name="fstatfs64" number="235"/>
+ <syscall name="_llseek" number="236"/>
+ <syscall name="mlock" number="237"/>
+ <syscall name="munlock" number="238"/>
+ <syscall name="mlockall" number="239"/>
+ <syscall name="munlockall" number="240"/>
+ <syscall name="sched_setparam" number="241"/>
+ <syscall name="sched_getparam" number="242"/>
+ <syscall name="sched_setscheduler" number="243"/>
+ <syscall name="sched_getscheduler" number="244"/>
+ <syscall name="sched_yield" number="245"/>
+ <syscall name="sched_get_priority_max" number="246"/>
+ <syscall name="sched_get_priority_min" number="247"/>
+ <syscall name="sched_rr_get_interval" number="248"/>
+ <syscall name="nanosleep" number="249"/>
+ <syscall name="mremap" number="250"/>
+ <syscall name="_sysctl" number="251"/>
+ <syscall name="getsid" number="252"/>
+ <syscall name="fdatasync" number="253"/>
+ <syscall name="nfsservctl" number="254"/>
+ <syscall name="sync_file_range" number="255"/>
+ <syscall name="clock_settime" number="256"/>
+ <syscall name="clock_gettime" number="257"/>
+ <syscall name="clock_getres" number="258"/>
+ <syscall name="clock_nanosleep" number="259"/>
+ <syscall name="sched_getaffinity" number="260"/>
+ <syscall name="sched_setaffinity" number="261"/>
+ <syscall name="timer_settime" number="262"/>
+ <syscall name="timer_gettime" number="263"/>
+ <syscall name="timer_getoverrun" number="264"/>
+ <syscall name="timer_delete" number="265"/>
+ <syscall name="timer_create" number="266"/>
+ <syscall name="vserver" number="267"/>
+ <syscall name="io_setup" number="268"/>
+ <syscall name="io_destroy" number="269"/>
+ <syscall name="io_submit" number="270"/>
+ <syscall name="io_cancel" number="271"/>
+ <syscall name="io_getevents" number="272"/>
+ <syscall name="mq_open" number="273"/>
+ <syscall name="mq_unlink" number="274"/>
+ <syscall name="mq_timedsend" number="275"/>
+ <syscall name="mq_timedreceive" number="276"/>
+ <syscall name="mq_notify" number="277"/>
+ <syscall name="mq_getsetattr" number="278"/>
+ <syscall name="waitid" number="279"/>
+ <syscall name="tee" number="280"/>
+ <syscall name="add_key" number="281"/>
+ <syscall name="request_key" number="282"/>
+ <syscall name="keyctl" number="283"/>
+ <syscall name="openat" number="284"/>
+ <syscall name="mkdirat" number="285"/>
+ <syscall name="mknodat" number="286"/>
+ <syscall name="fchownat" number="287"/>
+ <syscall name="futimesat" number="288"/>
+ <syscall name="fstatat64" number="289"/>
+ <syscall name="unlinkat" number="290"/>
+ <syscall name="renameat" number="291"/>
+ <syscall name="linkat" number="292"/>
+ <syscall name="symlinkat" number="293"/>
+ <syscall name="readlinkat" number="294"/>
+ <syscall name="fchmodat" number="295"/>
+ <syscall name="faccessat" number="296"/>
+ <syscall name="pselect6" number="297"/>
+ <syscall name="ppoll" number="298"/>
+ <syscall name="unshare" number="299"/>
+ <syscall name="set_robust_list" number="300"/>
+ <syscall name="get_robust_list" number="301"/>
+ <syscall name="migrate_pages" number="302"/>
+ <syscall name="mbind" number="303"/>
+ <syscall name="get_mempolicy" number="304"/>
+ <syscall name="set_mempolicy" number="305"/>
+ <syscall name="kexec_load" number="306"/>
+ <syscall name="move_pages" number="307"/>
+ <syscall name="getcpu" number="308"/>
+ <syscall name="epoll_pwait" number="309"/>
+ <syscall name="utimensat" number="310"/>
+ <syscall name="signalfd" number="311"/>
+ <syscall name="timerfd_create" number="312"/>
+ <syscall name="eventfd" number="313"/>
+ <syscall name="fallocate" number="314"/>
+ <syscall name="timerfd_settime" number="315"/>
+ <syscall name="timerfd_gettime" number="316"/>
+ <syscall name="signalfd4" number="317"/>
+ <syscall name="eventfd2" number="318"/>
+ <syscall name="epoll_create1" number="319"/>
+ <syscall name="dup3" number="320"/>
+ <syscall name="pipe2" number="321"/>
+ <syscall name="inotify_init1" number="322"/>
+ <syscall name="accept4" number="323"/>
+ <syscall name="preadv" number="324"/>
+ <syscall name="pwritev" number="325"/>
+ <syscall name="rt_tgsigqueueinfo" number="326"/>
+ <syscall name="perf_event_open" number="327"/>
+ <syscall name="recvmmsg" number="328"/>
+</syscalls_info>
diff --git a/share/gdb/syscalls/sparc64-linux.xml b/share/gdb/syscalls/sparc64-linux.xml
new file mode 100644
index 0000000..df8118b
--- /dev/null
+++ b/share/gdb/syscalls/sparc64-linux.xml
@@ -0,0 +1,326 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
+
+<!-- This file was generated using the following file:
+
+ /usr/src/linux/arch/sparc/include/asm/unistd.h
+
+ The file mentioned above belongs to the Linux Kernel. -->
+
+<syscalls_info>
+ <syscall name="restart_syscall" number="0"/>
+ <syscall name="exit" number="1"/>
+ <syscall name="fork" number="2"/>
+ <syscall name="read" number="3"/>
+ <syscall name="write" number="4"/>
+ <syscall name="open" number="5"/>
+ <syscall name="close" number="6"/>
+ <syscall name="wait4" number="7"/>
+ <syscall name="creat" number="8"/>
+ <syscall name="link" number="9"/>
+ <syscall name="unlink" number="10"/>
+ <syscall name="execv" number="11"/>
+ <syscall name="chdir" number="12"/>
+ <syscall name="chown" number="13"/>
+ <syscall name="mknod" number="14"/>
+ <syscall name="chmod" number="15"/>
+ <syscall name="lchown" number="16"/>
+ <syscall name="brk" number="17"/>
+ <syscall name="perfctr" number="18"/>
+ <syscall name="lseek" number="19"/>
+ <syscall name="getpid" number="20"/>
+ <syscall name="capget" number="21"/>
+ <syscall name="capset" number="22"/>
+ <syscall name="setuid" number="23"/>
+ <syscall name="getuid" number="24"/>
+ <syscall name="vmsplice" number="25"/>
+ <syscall name="ptrace" number="26"/>
+ <syscall name="alarm" number="27"/>
+ <syscall name="sigaltstack" number="28"/>
+ <syscall name="pause" number="29"/>
+ <syscall name="utime" number="30"/>
+ <syscall name="access" number="33"/>
+ <syscall name="nice" number="34"/>
+ <syscall name="sync" number="36"/>
+ <syscall name="kill" number="37"/>
+ <syscall name="stat" number="38"/>
+ <syscall name="sendfile" number="39"/>
+ <syscall name="lstat" number="40"/>
+ <syscall name="dup" number="41"/>
+ <syscall name="pipe" number="42"/>
+ <syscall name="times" number="43"/>
+ <syscall name="umount2" number="45"/>
+ <syscall name="setgid" number="46"/>
+ <syscall name="getgid" number="47"/>
+ <syscall name="signal" number="48"/>
+ <syscall name="geteuid" number="49"/>
+ <syscall name="getegid" number="50"/>
+ <syscall name="acct" number="51"/>
+ <syscall name="memory_ordering" number="52"/>
+ <syscall name="ioctl" number="54"/>
+ <syscall name="reboot" number="55"/>
+ <syscall name="symlink" number="57"/>
+ <syscall name="readlink" number="58"/>
+ <syscall name="execve" number="59"/>
+ <syscall name="umask" number="60"/>
+ <syscall name="chroot" number="61"/>
+ <syscall name="fstat" number="62"/>
+ <syscall name="fstat64" number="63"/>
+ <syscall name="getpagesize" number="64"/>
+ <syscall name="msync" number="65"/>
+ <syscall name="vfork" number="66"/>
+ <syscall name="pread64" number="67"/>
+ <syscall name="pwrite64" number="68"/>
+ <syscall name="mmap" number="71"/>
+ <syscall name="munmap" number="73"/>
+ <syscall name="mprotect" number="74"/>
+ <syscall name="madvise" number="75"/>
+ <syscall name="vhangup" number="76"/>
+ <syscall name="mincore" number="78"/>
+ <syscall name="getgroups" number="79"/>
+ <syscall name="setgroups" number="80"/>
+ <syscall name="getpgrp" number="81"/>
+ <syscall name="setitimer" number="83"/>
+ <syscall name="swapon" number="85"/>
+ <syscall name="getitimer" number="86"/>
+ <syscall name="sethostname" number="88"/>
+ <syscall name="dup2" number="90"/>
+ <syscall name="fcntl" number="92"/>
+ <syscall name="select" number="93"/>
+ <syscall name="fsync" number="95"/>
+ <syscall name="setpriority" number="96"/>
+ <syscall name="socket" number="97"/>
+ <syscall name="connect" number="98"/>
+ <syscall name="accept" number="99"/>
+ <syscall name="getpriority" number="100"/>
+ <syscall name="rt_sigreturn" number="101"/>
+ <syscall name="rt_sigaction" number="102"/>
+ <syscall name="rt_sigprocmask" number="103"/>
+ <syscall name="rt_sigpending" number="104"/>
+ <syscall name="rt_sigtimedwait" number="105"/>
+ <syscall name="rt_sigqueueinfo" number="106"/>
+ <syscall name="rt_sigsuspend" number="107"/>
+ <syscall name="setresuid" number="108"/>
+ <syscall name="getresuid" number="109"/>
+ <syscall name="setresgid" number="110"/>
+ <syscall name="getresgid" number="111"/>
+ <syscall name="recvmsg" number="113"/>
+ <syscall name="sendmsg" number="114"/>
+ <syscall name="gettimeofday" number="116"/>
+ <syscall name="getrusage" number="117"/>
+ <syscall name="getsockopt" number="118"/>
+ <syscall name="getcwd" number="119"/>
+ <syscall name="readv" number="120"/>
+ <syscall name="writev" number="121"/>
+ <syscall name="settimeofday" number="122"/>
+ <syscall name="fchown" number="123"/>
+ <syscall name="fchmod" number="124"/>
+ <syscall name="recvfrom" number="125"/>
+ <syscall name="setreuid" number="126"/>
+ <syscall name="setregid" number="127"/>
+ <syscall name="rename" number="128"/>
+ <syscall name="truncate" number="129"/>
+ <syscall name="ftruncate" number="130"/>
+ <syscall name="flock" number="131"/>
+ <syscall name="lstat64" number="132"/>
+ <syscall name="sendto" number="133"/>
+ <syscall name="shutdown" number="134"/>
+ <syscall name="socketpair" number="135"/>
+ <syscall name="mkdir" number="136"/>
+ <syscall name="rmdir" number="137"/>
+ <syscall name="utimes" number="138"/>
+ <syscall name="stat64" number="139"/>
+ <syscall name="sendfile64" number="140"/>
+ <syscall name="getpeername" number="141"/>
+ <syscall name="futex" number="142"/>
+ <syscall name="gettid" number="143"/>
+ <syscall name="getrlimit" number="144"/>
+ <syscall name="setrlimit" number="145"/>
+ <syscall name="pivot_root" number="146"/>
+ <syscall name="prctl" number="147"/>
+ <syscall name="pciconfig_read" number="148"/>
+ <syscall name="pciconfig_write" number="149"/>
+ <syscall name="getsockname" number="150"/>
+ <syscall name="inotify_init" number="151"/>
+ <syscall name="inotify_add_watch" number="152"/>
+ <syscall name="poll" number="153"/>
+ <syscall name="getdents64" number="154"/>
+ <syscall name="inotify_rm_watch" number="156"/>
+ <syscall name="statfs" number="157"/>
+ <syscall name="fstatfs" number="158"/>
+ <syscall name="umount" number="159"/>
+ <syscall name="sched_set_affinity" number="160"/>
+ <syscall name="sched_get_affinity" number="161"/>
+ <syscall name="getdomainname" number="162"/>
+ <syscall name="setdomainname" number="163"/>
+ <syscall name="utrap_install" number="164"/>
+ <syscall name="quotactl" number="165"/>
+ <syscall name="set_tid_address" number="166"/>
+ <syscall name="mount" number="167"/>
+ <syscall name="ustat" number="168"/>
+ <syscall name="setxattr" number="169"/>
+ <syscall name="lsetxattr" number="170"/>
+ <syscall name="fsetxattr" number="171"/>
+ <syscall name="getxattr" number="172"/>
+ <syscall name="lgetxattr" number="173"/>
+ <syscall name="getdents" number="174"/>
+ <syscall name="setsid" number="175"/>
+ <syscall name="fchdir" number="176"/>
+ <syscall name="fgetxattr" number="177"/>
+ <syscall name="listxattr" number="178"/>
+ <syscall name="llistxattr" number="179"/>
+ <syscall name="flistxattr" number="180"/>
+ <syscall name="removexattr" number="181"/>
+ <syscall name="lremovexattr" number="182"/>
+ <syscall name="sigpending" number="183"/>
+ <syscall name="query_module" number="184"/>
+ <syscall name="setpgid" number="185"/>
+ <syscall name="fremovexattr" number="186"/>
+ <syscall name="tkill" number="187"/>
+ <syscall name="exit_group" number="188"/>
+ <syscall name="uname" number="189"/>
+ <syscall name="init_module" number="190"/>
+ <syscall name="personality" number="191"/>
+ <syscall name="remap_file_pages" number="192"/>
+ <syscall name="epoll_create" number="193"/>
+ <syscall name="epoll_ctl" number="194"/>
+ <syscall name="epoll_wait" number="195"/>
+ <syscall name="ioprio_set" number="196"/>
+ <syscall name="getppid" number="197"/>
+ <syscall name="sigaction" number="198"/>
+ <syscall name="sgetmask" number="199"/>
+ <syscall name="ssetmask" number="200"/>
+ <syscall name="sigsuspend" number="201"/>
+ <syscall name="oldlstat" number="202"/>
+ <syscall name="uselib" number="203"/>
+ <syscall name="readdir" number="204"/>
+ <syscall name="readahead" number="205"/>
+ <syscall name="socketcall" number="206"/>
+ <syscall name="syslog" number="207"/>
+ <syscall name="lookup_dcookie" number="208"/>
+ <syscall name="fadvise64" number="209"/>
+ <syscall name="fadvise64_64" number="210"/>
+ <syscall name="tgkill" number="211"/>
+ <syscall name="waitpid" number="212"/>
+ <syscall name="swapoff" number="213"/>
+ <syscall name="sysinfo" number="214"/>
+ <syscall name="ipc" number="215"/>
+ <syscall name="sigreturn" number="216"/>
+ <syscall name="clone" number="217"/>
+ <syscall name="ioprio_get" number="218"/>
+ <syscall name="adjtimex" number="219"/>
+ <syscall name="sigprocmask" number="220"/>
+ <syscall name="create_module" number="221"/>
+ <syscall name="delete_module" number="222"/>
+ <syscall name="get_kernel_syms" number="223"/>
+ <syscall name="getpgid" number="224"/>
+ <syscall name="bdflush" number="225"/>
+ <syscall name="sysfs" number="226"/>
+ <syscall name="afs_syscall" number="227"/>
+ <syscall name="setfsuid" number="228"/>
+ <syscall name="setfsgid" number="229"/>
+ <syscall name="_newselect" number="230"/>
+ <syscall name="splice" number="232"/>
+ <syscall name="stime" number="233"/>
+ <syscall name="statfs64" number="234"/>
+ <syscall name="fstatfs64" number="235"/>
+ <syscall name="_llseek" number="236"/>
+ <syscall name="mlock" number="237"/>
+ <syscall name="munlock" number="238"/>
+ <syscall name="mlockall" number="239"/>
+ <syscall name="munlockall" number="240"/>
+ <syscall name="sched_setparam" number="241"/>
+ <syscall name="sched_getparam" number="242"/>
+ <syscall name="sched_setscheduler" number="243"/>
+ <syscall name="sched_getscheduler" number="244"/>
+ <syscall name="sched_yield" number="245"/>
+ <syscall name="sched_get_priority_max" number="246"/>
+ <syscall name="sched_get_priority_min" number="247"/>
+ <syscall name="sched_rr_get_interval" number="248"/>
+ <syscall name="nanosleep" number="249"/>
+ <syscall name="mremap" number="250"/>
+ <syscall name="_sysctl" number="251"/>
+ <syscall name="getsid" number="252"/>
+ <syscall name="fdatasync" number="253"/>
+ <syscall name="nfsservctl" number="254"/>
+ <syscall name="sync_file_range" number="255"/>
+ <syscall name="clock_settime" number="256"/>
+ <syscall name="clock_gettime" number="257"/>
+ <syscall name="clock_getres" number="258"/>
+ <syscall name="clock_nanosleep" number="259"/>
+ <syscall name="sched_getaffinity" number="260"/>
+ <syscall name="sched_setaffinity" number="261"/>
+ <syscall name="timer_settime" number="262"/>
+ <syscall name="timer_gettime" number="263"/>
+ <syscall name="timer_getoverrun" number="264"/>
+ <syscall name="timer_delete" number="265"/>
+ <syscall name="timer_create" number="266"/>
+ <syscall name="vserver" number="267"/>
+ <syscall name="io_setup" number="268"/>
+ <syscall name="io_destroy" number="269"/>
+ <syscall name="io_submit" number="270"/>
+ <syscall name="io_cancel" number="271"/>
+ <syscall name="io_getevents" number="272"/>
+ <syscall name="mq_open" number="273"/>
+ <syscall name="mq_unlink" number="274"/>
+ <syscall name="mq_timedsend" number="275"/>
+ <syscall name="mq_timedreceive" number="276"/>
+ <syscall name="mq_notify" number="277"/>
+ <syscall name="mq_getsetattr" number="278"/>
+ <syscall name="waitid" number="279"/>
+ <syscall name="tee" number="280"/>
+ <syscall name="add_key" number="281"/>
+ <syscall name="request_key" number="282"/>
+ <syscall name="keyctl" number="283"/>
+ <syscall name="openat" number="284"/>
+ <syscall name="mkdirat" number="285"/>
+ <syscall name="mknodat" number="286"/>
+ <syscall name="fchownat" number="287"/>
+ <syscall name="futimesat" number="288"/>
+ <syscall name="fstatat64" number="289"/>
+ <syscall name="unlinkat" number="290"/>
+ <syscall name="renameat" number="291"/>
+ <syscall name="linkat" number="292"/>
+ <syscall name="symlinkat" number="293"/>
+ <syscall name="readlinkat" number="294"/>
+ <syscall name="fchmodat" number="295"/>
+ <syscall name="faccessat" number="296"/>
+ <syscall name="pselect6" number="297"/>
+ <syscall name="ppoll" number="298"/>
+ <syscall name="unshare" number="299"/>
+ <syscall name="set_robust_list" number="300"/>
+ <syscall name="get_robust_list" number="301"/>
+ <syscall name="migrate_pages" number="302"/>
+ <syscall name="mbind" number="303"/>
+ <syscall name="get_mempolicy" number="304"/>
+ <syscall name="set_mempolicy" number="305"/>
+ <syscall name="kexec_load" number="306"/>
+ <syscall name="move_pages" number="307"/>
+ <syscall name="getcpu" number="308"/>
+ <syscall name="epoll_pwait" number="309"/>
+ <syscall name="utimensat" number="310"/>
+ <syscall name="signalfd" number="311"/>
+ <syscall name="timerfd_create" number="312"/>
+ <syscall name="eventfd" number="313"/>
+ <syscall name="fallocate" number="314"/>
+ <syscall name="timerfd_settime" number="315"/>
+ <syscall name="timerfd_gettime" number="316"/>
+ <syscall name="signalfd4" number="317"/>
+ <syscall name="eventfd2" number="318"/>
+ <syscall name="epoll_create1" number="319"/>
+ <syscall name="dup3" number="320"/>
+ <syscall name="pipe2" number="321"/>
+ <syscall name="inotify_init1" number="322"/>
+ <syscall name="accept4" number="323"/>
+ <syscall name="preadv" number="324"/>
+ <syscall name="pwritev" number="325"/>
+ <syscall name="rt_tgsigqueueinfo" number="326"/>
+ <syscall name="perf_event_open" number="327"/>
+ <syscall name="recvmmsg" number="328"/>
+</syscalls_info>
diff --git a/share/info/annotate.info b/share/info/annotate.info
index dfd3f51..47c01be 100644
--- a/share/info/annotate.info
+++ b/share/info/annotate.info
@@ -1,5 +1,5 @@
This is annotate.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gdb/gdb-7.1.x/gdb/doc/annotate.texinfo.
+/tmp/android-15472/src/build/../gdb/gdb-7.3.x/gdb/doc/annotate.texinfo.
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
@@ -7,10 +7,10 @@ START-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
Copyright (C) 1994, 1995, 2000, 2001, 2003, 2004, 2005, 2007, 2008,
-2009, 2010 Free Software Foundation, Inc.
+2009, 2010, 2011 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
@@ -19,10 +19,10 @@ Free Documentation License".
This file documents GDB's obsolete annotations.
Copyright (C) 1994, 1995, 2000, 2001, 2003, 2004, 2005, 2007, 2008,
-2009, 2010 Free Software Foundation, Inc.
+2009, 2010, 2011 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
@@ -686,13 +686,13 @@ The following annotations report thread related changes of state.

File: annotate.info, Node: GNU Free Documentation License, Prev: Multi-threaded Apps, Up: Top
-15 GNU Free Documentation License
-*********************************
+Appendix A GNU Free Documentation License
+*****************************************
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ `http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -794,6 +794,9 @@ File: annotate.info, Node: GNU Free Documentation License, Prev: Multi-threade
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
@@ -1059,12 +1062,29 @@ File: annotate.info, Node: GNU Free Documentation License, Prev: Multi-threade
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided for under this License. Any other
- attempt to copy, modify, sublicense or distribute the Document is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly
+ and finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from
+ you under this License. If your rights have been terminated and
+ not permanently reinstated, receipt of a copy of some or all of
+ the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
@@ -1082,10 +1102,44 @@ File: annotate.info, Node: GNU Free Documentation License, Prev: Multi-threade
published (not as a draft) by the Free Software Foundation. If
the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ Free Software Foundation. If the Document specifies that a proxy
+ can decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
+
-15.1 ADDENDUM: How to use this License for your documents
-=========================================================
+ADDENDUM: How to use this License for your documents
+====================================================
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
@@ -1093,7 +1147,7 @@ notices just after the title page:
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -1118,21 +1172,21 @@ permit their use in free software.

Tag Table:
-Node: Top1334
-Node: Annotations Overview2504
-Node: Limitations4303
-Node: Migrating to GDB/MI6888
-Node: Server Prefix7271
-Node: Value Annotations7917
-Node: Frame Annotations11087
-Node: Displays14986
-Node: Prompting16017
-Node: Errors17520
-Node: Breakpoint Info18410
-Node: Invalidation19635
-Node: Annotations for Running20114
-Node: Source Annotations21627
-Node: Multi-threaded Apps22573
-Node: GNU Free Documentation License23182
+Node: Top1347
+Node: Annotations Overview2517
+Node: Limitations4316
+Node: Migrating to GDB/MI6901
+Node: Server Prefix7284
+Node: Value Annotations7930
+Node: Frame Annotations11100
+Node: Displays14999
+Node: Prompting16030
+Node: Errors17533
+Node: Breakpoint Info18423
+Node: Invalidation19648
+Node: Annotations for Running20127
+Node: Source Annotations21640
+Node: Multi-threaded Apps22586
+Node: GNU Free Documentation License23195

End Tag Table
diff --git a/share/info/as.info b/share/info/as.info
index 372bbad..f139f98 100644
--- a/share/info/as.info
+++ b/share/info/as.info
@@ -1,5 +1,5 @@
This is as.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../binutils/binutils-2.21/gas/doc/as.texinfo.
+/tmp/android-15472/src/build/../binutils/binutils-2.21/gas/doc/as.texinfo.
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
@@ -22089,535 +22089,535 @@ AS Index

Tag Table:
-Node: Top893
-Node: Overview1879
-Node: Manual34718
-Node: GNU Assembler35662
-Node: Object Formats36833
-Node: Command Line37285
-Node: Input Files38372
-Node: Object40353
-Node: Errors41249
-Node: Invoking42444
-Node: a44399
-Node: alternate46310
-Node: D46482
-Node: f46715
-Node: I47223
-Node: K47767
-Node: L48071
-Node: listing48810
-Node: M50469
-Node: MD54870
-Node: o55296
-Node: R55751
-Node: statistics56781
-Node: traditional-format57188
-Node: v57661
-Node: W57936
-Node: Z58843
-Node: Syntax59365
-Node: Preprocessing59956
-Node: Whitespace61519
-Node: Comments61915
-Node: Symbol Intro64151
-Node: Statements64841
-Node: Constants66762
-Node: Characters67393
-Node: Strings67895
-Node: Chars70061
-Node: Numbers70815
-Node: Integers71355
-Node: Bignums72011
-Node: Flonums72367
-Node: Sections74114
-Node: Secs Background74492
-Node: Ld Sections79531
-Node: As Sections81915
-Node: Sub-Sections82825
-Node: bss85970
-Node: Symbols86920
-Node: Labels87568
-Node: Setting Symbols88299
-Node: Symbol Names88853
-Node: Dot93894
-Node: Symbol Attributes94341
-Node: Symbol Value95078
-Node: Symbol Type96123
-Node: a.out Symbols96511
-Node: Symbol Desc96773
-Node: Symbol Other97068
-Node: COFF Symbols97237
-Node: SOM Symbols97910
-Node: Expressions98352
-Node: Empty Exprs99101
-Node: Integer Exprs99448
-Node: Arguments99843
-Node: Operators100949
-Node: Prefix Ops101284
-Node: Infix Ops101612
-Node: Pseudo Ops104002
-Node: Abort109503
-Node: ABORT (COFF)109915
-Node: Align110123
-Node: Altmacro112405
-Node: Ascii113734
-Node: Asciz114043
-Node: Balign114288
-Node: Byte116151
-Node: CFI directives116399
-Node: Comm122026
-Ref: Comm-Footnote-1123627
-Node: Data123989
-Node: Def124306
-Node: Desc124538
-Node: Dim125038
-Node: Double125295
-Node: Eject125633
-Node: Else125808
-Node: Elseif126108
-Node: End126402
-Node: Endef126617
-Node: Endfunc126794
-Node: Endif126969
-Node: Equ127230
-Node: Equiv127744
-Node: Eqv128300
-Node: Err128664
-Node: Error128975
-Node: Exitm129420
-Node: Extern129589
-Node: Fail129850
-Node: File130295
-Node: Fill131624
-Node: Float132588
-Node: Func132930
-Node: Global133520
-Node: Gnu_attribute134277
-Node: Hidden134502
-Node: hword135088
-Node: Ident135416
-Node: If135990
-Node: Incbin139049
-Node: Include139806
-Node: Int140357
-Node: Internal140738
-Node: Irp141386
-Node: Irpc142265
-Node: Lcomm143182
-Node: Lflags143930
-Node: Line144124
-Node: Linkonce145037
-Node: List146266
-Node: Ln146874
-Node: Loc147024
-Node: Loc_mark_labels148410
-Node: Local148894
-Node: Long149506
-Node: Macro149684
-Node: MRI155606
-Node: Noaltmacro155944
-Node: Nolist156113
-Node: Octa156543
-Node: Org156877
-Node: P2align158160
-Node: PopSection160088
-Node: Previous160596
-Node: Print162009
-Node: Protected162238
-Node: Psize162885
-Node: Purgem163569
-Node: PushSection163790
-Node: Quad164533
-Node: Reloc164989
-Node: Rept165750
-Node: Sbttl166164
-Node: Scl166529
-Node: Section166870
-Node: Set172985
-Node: Short173556
-Node: Single173877
-Node: Size174222
-Node: Skip174896
-Node: Sleb128175220
-Node: Space175544
-Node: Stab176185
-Node: String178189
-Node: Struct179183
-Node: SubSection179908
-Node: Symver180471
-Node: Tag182864
-Node: Text183246
-Node: Title183567
-Node: Type183948
-Node: Uleb128186242
-Node: Val186566
-Node: Version186816
-Node: VTableEntry187091
-Node: VTableInherit187381
-Node: Warning187831
-Node: Weak188065
-Node: Weakref188734
-Node: Word189699
-Node: Deprecated191545
-Node: Object Attributes191780
-Node: GNU Object Attributes193500
-Node: Defining New Object Attributes196053
-Node: Machine Dependencies196850
-Node: Alpha-Dependent200095
-Node: Alpha Notes200509
-Node: Alpha Options200790
-Node: Alpha Syntax203265
-Node: Alpha-Chars203734
-Node: Alpha-Regs203965
-Node: Alpha-Relocs204352
-Node: Alpha Floating Point210610
-Node: Alpha Directives210832
-Node: Alpha Opcodes216355
-Node: ARC-Dependent216650
-Node: ARC Options217033
-Node: ARC Syntax218102
-Node: ARC-Chars218334
-Node: ARC-Regs218466
-Node: ARC Floating Point218590
-Node: ARC Directives218901
-Node: ARC Opcodes224873
-Node: ARM-Dependent225099
-Node: ARM Options225564
-Node: ARM Syntax233910
-Node: ARM-Instruction-Set234278
-Node: ARM-Chars235510
-Node: ARM-Regs236062
-Node: ARM-Neon-Alignment236271
-Node: ARM Floating Point236735
-Node: ARM-Relocations236934
-Node: ARM Directives237926
-Ref: arm_pad239243
-Ref: arm_fnend242580
-Ref: arm_fnstart242904
-Ref: arm_save245914
-Ref: arm_setfp246615
-Node: ARM Opcodes249696
-Node: ARM Mapping Symbols251784
-Node: ARM Unwinding Tutorial252594
-Node: AVR-Dependent258794
-Node: AVR Options259084
-Node: AVR Syntax262587
-Node: AVR-Chars262874
-Node: AVR-Regs263280
-Node: AVR-Modifiers263859
-Node: AVR Opcodes265919
-Node: Blackfin-Dependent271165
-Node: Blackfin Options271477
-Node: Blackfin Syntax272451
-Node: Blackfin Directives278184
-Node: CR16-Dependent278603
-Node: CR16 Operand Qualifiers278851
-Node: CRIS-Dependent281492
-Node: CRIS-Opts281838
-Ref: march-option283456
-Node: CRIS-Expand285273
-Node: CRIS-Symbols286456
-Node: CRIS-Syntax287625
-Node: CRIS-Chars287961
-Node: CRIS-Pic288512
-Ref: crispic288708
-Node: CRIS-Regs292248
-Node: CRIS-Pseudos292665
-Ref: crisnous293441
-Node: D10V-Dependent294723
-Node: D10V-Opts295074
-Node: D10V-Syntax296036
-Node: D10V-Size296565
-Node: D10V-Subs297538
-Node: D10V-Chars298573
-Node: D10V-Regs300177
-Node: D10V-Addressing301222
-Node: D10V-Word301908
-Node: D10V-Float302423
-Node: D10V-Opcodes302734
-Node: D30V-Dependent303127
-Node: D30V-Opts303480
-Node: D30V-Syntax304155
-Node: D30V-Size304687
-Node: D30V-Subs305658
-Node: D30V-Chars306693
-Node: D30V-Guarded308991
-Node: D30V-Regs309671
-Node: D30V-Addressing310810
-Node: D30V-Float311478
-Node: D30V-Opcodes311789
-Node: H8/300-Dependent312182
-Node: H8/300 Options312594
-Node: H8/300 Syntax312861
-Node: H8/300-Chars313162
-Node: H8/300-Regs313461
-Node: H8/300-Addressing314380
-Node: H8/300 Floating Point315421
-Node: H8/300 Directives315748
-Node: H8/300 Opcodes316876
-Node: HPPA-Dependent325198
-Node: HPPA Notes325633
-Node: HPPA Options326391
-Node: HPPA Syntax326586
-Node: HPPA Floating Point327856
-Node: HPPA Directives328062
-Node: HPPA Opcodes336748
-Node: ESA/390-Dependent337007
-Node: ESA/390 Notes337467
-Node: ESA/390 Options338258
-Node: ESA/390 Syntax338468
-Node: ESA/390 Floating Point340641
-Node: ESA/390 Directives340920
-Node: ESA/390 Opcodes344209
-Node: i386-Dependent344471
-Node: i386-Options345668
-Node: i386-Directives350034
-Node: i386-Syntax350772
-Node: i386-Mnemonics353336
-Node: i386-Regs356629
-Node: i386-Prefixes358674
-Node: i386-Memory361434
-Node: i386-Jumps364371
-Node: i386-Float365492
-Node: i386-SIMD367323
-Node: i386-LWP368432
-Node: i386-16bit369268
-Node: i386-Bugs371339
-Node: i386-Arch372093
-Node: i386-Notes374754
-Node: i860-Dependent375612
-Node: Notes-i860376008
-Node: Options-i860376913
-Node: Directives-i860378276
-Node: Opcodes for i860379345
-Node: i960-Dependent381512
-Node: Options-i960381915
-Node: Floating Point-i960385800
-Node: Directives-i960386068
-Node: Opcodes for i960388102
-Node: callj-i960388719
-Node: Compare-and-branch-i960389208
-Node: IA-64-Dependent391112
-Node: IA-64 Options391413
-Node: IA-64 Syntax394564
-Node: IA-64-Chars394970
-Node: IA-64-Regs395200
-Node: IA-64-Bits396126
-Node: IA-64-Relocs396656
-Node: IA-64 Opcodes397128
-Node: IP2K-Dependent397400
-Node: IP2K-Opts397628
-Node: LM32-Dependent398108
-Node: LM32 Options398403
-Node: LM32 Syntax399037
-Node: LM32-Regs399284
-Node: LM32-Modifiers400243
-Node: LM32 Opcodes401599
-Node: M32C-Dependent401903
-Node: M32C-Opts402427
-Node: M32C-Modifiers402850
-Node: M32R-Dependent404637
-Node: M32R-Opts404958
-Node: M32R-Directives409125
-Node: M32R-Warnings413100
-Node: M68K-Dependent416106
-Node: M68K-Opts416573
-Node: M68K-Syntax423946
-Node: M68K-Moto-Syntax425786
-Node: M68K-Float428376
-Node: M68K-Directives428896
-Node: M68K-opcodes430224
-Node: M68K-Branch430450
-Node: M68K-Chars434648
-Node: M68HC11-Dependent435061
-Node: M68HC11-Opts435598
-Node: M68HC11-Syntax439419
-Node: M68HC11-Modifiers441633
-Node: M68HC11-Directives443461
-Node: M68HC11-Float444837
-Node: M68HC11-opcodes445365
-Node: M68HC11-Branch445547
-Node: MicroBlaze-Dependent447996
-Node: MicroBlaze Directives448626
-Node: MIPS-Dependent449983
-Node: MIPS Opts451146
-Node: MIPS Object461658
-Node: MIPS Stabs463224
-Node: MIPS symbol sizes463946
-Node: MIPS ISA465615
-Node: MIPS autoextend467089
-Node: MIPS insn467819
-Node: MIPS option stack469089
-Node: MIPS ASE instruction generation overrides469863
-Node: MIPS floating-point471677
-Node: MMIX-Dependent472563
-Node: MMIX-Opts472943
-Node: MMIX-Expand476547
-Node: MMIX-Syntax477862
-Ref: mmixsite478219
-Node: MMIX-Chars479060
-Node: MMIX-Symbols479714
-Node: MMIX-Regs481782
-Node: MMIX-Pseudos482807
-Ref: MMIX-loc482948
-Ref: MMIX-local484028
-Ref: MMIX-is484560
-Ref: MMIX-greg484831
-Ref: GREG-base485750
-Ref: MMIX-byte487067
-Ref: MMIX-constants487538
-Ref: MMIX-prefix488184
-Ref: MMIX-spec488558
-Node: MMIX-mmixal488892
-Node: MSP430-Dependent492390
-Node: MSP430 Options492856
-Node: MSP430 Syntax493142
-Node: MSP430-Macros493458
-Node: MSP430-Chars494189
-Node: MSP430-Regs494502
-Node: MSP430-Ext495062
-Node: MSP430 Floating Point496883
-Node: MSP430 Directives497107
-Node: MSP430 Opcodes497898
-Node: MSP430 Profiling Capability498293
-Node: PDP-11-Dependent500622
-Node: PDP-11-Options501011
-Node: PDP-11-Pseudos506082
-Node: PDP-11-Syntax506427
-Node: PDP-11-Mnemonics507179
-Node: PDP-11-Synthetic507481
-Node: PJ-Dependent507699
-Node: PJ Options507924
-Node: PPC-Dependent508201
-Node: PowerPC-Opts508485
-Node: PowerPC-Pseudo511104
-Node: RX-Dependent511703
-Node: RX-Opts512096
-Node: RX-Modifiers514122
-Node: RX-Directives514453
-Node: RX-Float514769
-Node: S/390-Dependent515392
-Node: s390 Options516100
-Node: s390 Characters517646
-Node: s390 Syntax517839
-Node: s390 Register518740
-Node: s390 Mnemonics519553
-Node: s390 Operands522573
-Node: s390 Formats525192
-Node: s390 Aliases533038
-Node: s390 Operand Modifier536935
-Node: s390 Instruction Marker540736
-Node: s390 Literal Pool Entries541752
-Node: s390 Directives543675
-Node: s390 Floating Point547590
-Node: SCORE-Dependent548036
-Node: SCORE-Opts548310
-Node: SCORE-Pseudo549598
-Node: SH-Dependent551654
-Node: SH Options552066
-Node: SH Syntax553121
-Node: SH-Chars553394
-Node: SH-Regs553688
-Node: SH-Addressing554302
-Node: SH Floating Point555211
-Node: SH Directives556305
-Node: SH Opcodes556675
-Node: SH64-Dependent560997
-Node: SH64 Options561360
-Node: SH64 Syntax563157
-Node: SH64-Chars563440
-Node: SH64-Regs563740
-Node: SH64-Addressing564836
-Node: SH64 Directives566019
-Node: SH64 Opcodes567129
-Node: Sparc-Dependent567845
-Node: Sparc-Opts568257
-Node: Sparc-Aligned-Data570514
-Node: Sparc-Syntax571346
-Node: Sparc-Chars571920
-Node: Sparc-Regs572153
-Node: Sparc-Constants577264
-Node: Sparc-Relocs582024
-Node: Sparc-Size-Translations586704
-Node: Sparc-Float588353
-Node: Sparc-Directives588548
-Node: TIC54X-Dependent590508
-Node: TIC54X-Opts591235
-Node: TIC54X-Block592278
-Node: TIC54X-Env592638
-Node: TIC54X-Constants592986
-Node: TIC54X-Subsyms593388
-Node: TIC54X-Locals595297
-Node: TIC54X-Builtins596041
-Node: TIC54X-Ext598512
-Node: TIC54X-Directives599083
-Node: TIC54X-Macros609984
-Node: TIC54X-MMRegs612095
-Node: TIC6X-Dependent612311
-Node: TIC6X Options612611
-Node: TIC6X Syntax615229
-Node: TIC6X Directives616153
-Node: Z80-Dependent617222
-Node: Z80 Options617610
-Node: Z80 Syntax619033
-Node: Z80-Chars619705
-Node: Z80-Regs620239
-Node: Z80-Case620591
-Node: Z80 Floating Point621036
-Node: Z80 Directives621230
-Node: Z80 Opcodes622855
-Node: Z8000-Dependent624199
-Node: Z8000 Options625160
-Node: Z8000 Syntax625377
-Node: Z8000-Chars625667
-Node: Z8000-Regs625900
-Node: Z8000-Addressing626690
-Node: Z8000 Directives627807
-Node: Z8000 Opcodes629416
-Node: Vax-Dependent639358
-Node: VAX-Opts639875
-Node: VAX-float643610
-Node: VAX-directives644242
-Node: VAX-opcodes645103
-Node: VAX-branch645492
-Node: VAX-operands647999
-Node: VAX-no648762
-Node: V850-Dependent648999
-Node: V850 Options649396
-Node: V850 Syntax652247
-Node: V850-Chars652487
-Node: V850-Regs652652
-Node: V850 Floating Point654220
-Node: V850 Directives654426
-Node: V850 Opcodes656029
-Node: Xtensa-Dependent661921
-Node: Xtensa Options662650
-Node: Xtensa Syntax665460
-Node: Xtensa Opcodes667349
-Node: Xtensa Registers669143
-Node: Xtensa Optimizations669776
-Node: Density Instructions670228
-Node: Xtensa Automatic Alignment671330
-Node: Xtensa Relaxation673777
-Node: Xtensa Branch Relaxation674685
-Node: Xtensa Call Relaxation676057
-Node: Xtensa Immediate Relaxation677843
-Node: Xtensa Directives680417
-Node: Schedule Directive682126
-Node: Longcalls Directive682466
-Node: Transform Directive683010
-Node: Literal Directive683752
-Ref: Literal Directive-Footnote-1687291
-Node: Literal Position Directive687433
-Node: Literal Prefix Directive689132
-Node: Absolute Literals Directive690030
-Node: Reporting Bugs691337
-Node: Bug Criteria692063
-Node: Bug Reporting692830
-Node: Acknowledgements699479
-Ref: Acknowledgements-Footnote-1704445
-Node: GNU Free Documentation License704471
-Node: AS Index729640
+Node: Top894
+Node: Overview1880
+Node: Manual34719
+Node: GNU Assembler35663
+Node: Object Formats36834
+Node: Command Line37286
+Node: Input Files38373
+Node: Object40354
+Node: Errors41250
+Node: Invoking42445
+Node: a44400
+Node: alternate46311
+Node: D46483
+Node: f46716
+Node: I47224
+Node: K47768
+Node: L48072
+Node: listing48811
+Node: M50470
+Node: MD54871
+Node: o55297
+Node: R55752
+Node: statistics56782
+Node: traditional-format57189
+Node: v57662
+Node: W57937
+Node: Z58844
+Node: Syntax59366
+Node: Preprocessing59957
+Node: Whitespace61520
+Node: Comments61916
+Node: Symbol Intro64152
+Node: Statements64842
+Node: Constants66763
+Node: Characters67394
+Node: Strings67896
+Node: Chars70062
+Node: Numbers70816
+Node: Integers71356
+Node: Bignums72012
+Node: Flonums72368
+Node: Sections74115
+Node: Secs Background74493
+Node: Ld Sections79532
+Node: As Sections81916
+Node: Sub-Sections82826
+Node: bss85971
+Node: Symbols86921
+Node: Labels87569
+Node: Setting Symbols88300
+Node: Symbol Names88854
+Node: Dot93895
+Node: Symbol Attributes94342
+Node: Symbol Value95079
+Node: Symbol Type96124
+Node: a.out Symbols96512
+Node: Symbol Desc96774
+Node: Symbol Other97069
+Node: COFF Symbols97238
+Node: SOM Symbols97911
+Node: Expressions98353
+Node: Empty Exprs99102
+Node: Integer Exprs99449
+Node: Arguments99844
+Node: Operators100950
+Node: Prefix Ops101285
+Node: Infix Ops101613
+Node: Pseudo Ops104003
+Node: Abort109504
+Node: ABORT (COFF)109916
+Node: Align110124
+Node: Altmacro112406
+Node: Ascii113735
+Node: Asciz114044
+Node: Balign114289
+Node: Byte116152
+Node: CFI directives116400
+Node: Comm122027
+Ref: Comm-Footnote-1123628
+Node: Data123990
+Node: Def124307
+Node: Desc124539
+Node: Dim125039
+Node: Double125296
+Node: Eject125634
+Node: Else125809
+Node: Elseif126109
+Node: End126403
+Node: Endef126618
+Node: Endfunc126795
+Node: Endif126970
+Node: Equ127231
+Node: Equiv127745
+Node: Eqv128301
+Node: Err128665
+Node: Error128976
+Node: Exitm129421
+Node: Extern129590
+Node: Fail129851
+Node: File130296
+Node: Fill131625
+Node: Float132589
+Node: Func132931
+Node: Global133521
+Node: Gnu_attribute134278
+Node: Hidden134503
+Node: hword135089
+Node: Ident135417
+Node: If135991
+Node: Incbin139050
+Node: Include139807
+Node: Int140358
+Node: Internal140739
+Node: Irp141387
+Node: Irpc142266
+Node: Lcomm143183
+Node: Lflags143931
+Node: Line144125
+Node: Linkonce145038
+Node: List146267
+Node: Ln146875
+Node: Loc147025
+Node: Loc_mark_labels148411
+Node: Local148895
+Node: Long149507
+Node: Macro149685
+Node: MRI155607
+Node: Noaltmacro155945
+Node: Nolist156114
+Node: Octa156544
+Node: Org156878
+Node: P2align158161
+Node: PopSection160089
+Node: Previous160597
+Node: Print162010
+Node: Protected162239
+Node: Psize162886
+Node: Purgem163570
+Node: PushSection163791
+Node: Quad164534
+Node: Reloc164990
+Node: Rept165751
+Node: Sbttl166165
+Node: Scl166530
+Node: Section166871
+Node: Set172986
+Node: Short173557
+Node: Single173878
+Node: Size174223
+Node: Skip174897
+Node: Sleb128175221
+Node: Space175545
+Node: Stab176186
+Node: String178190
+Node: Struct179184
+Node: SubSection179909
+Node: Symver180472
+Node: Tag182865
+Node: Text183247
+Node: Title183568
+Node: Type183949
+Node: Uleb128186243
+Node: Val186567
+Node: Version186817
+Node: VTableEntry187092
+Node: VTableInherit187382
+Node: Warning187832
+Node: Weak188066
+Node: Weakref188735
+Node: Word189700
+Node: Deprecated191546
+Node: Object Attributes191781
+Node: GNU Object Attributes193501
+Node: Defining New Object Attributes196054
+Node: Machine Dependencies196851
+Node: Alpha-Dependent200096
+Node: Alpha Notes200510
+Node: Alpha Options200791
+Node: Alpha Syntax203266
+Node: Alpha-Chars203735
+Node: Alpha-Regs203966
+Node: Alpha-Relocs204353
+Node: Alpha Floating Point210611
+Node: Alpha Directives210833
+Node: Alpha Opcodes216356
+Node: ARC-Dependent216651
+Node: ARC Options217034
+Node: ARC Syntax218103
+Node: ARC-Chars218335
+Node: ARC-Regs218467
+Node: ARC Floating Point218591
+Node: ARC Directives218902
+Node: ARC Opcodes224874
+Node: ARM-Dependent225100
+Node: ARM Options225565
+Node: ARM Syntax233911
+Node: ARM-Instruction-Set234279
+Node: ARM-Chars235511
+Node: ARM-Regs236063
+Node: ARM-Neon-Alignment236272
+Node: ARM Floating Point236736
+Node: ARM-Relocations236935
+Node: ARM Directives237927
+Ref: arm_pad239244
+Ref: arm_fnend242581
+Ref: arm_fnstart242905
+Ref: arm_save245915
+Ref: arm_setfp246616
+Node: ARM Opcodes249697
+Node: ARM Mapping Symbols251785
+Node: ARM Unwinding Tutorial252595
+Node: AVR-Dependent258795
+Node: AVR Options259085
+Node: AVR Syntax262588
+Node: AVR-Chars262875
+Node: AVR-Regs263281
+Node: AVR-Modifiers263860
+Node: AVR Opcodes265920
+Node: Blackfin-Dependent271166
+Node: Blackfin Options271478
+Node: Blackfin Syntax272452
+Node: Blackfin Directives278185
+Node: CR16-Dependent278604
+Node: CR16 Operand Qualifiers278852
+Node: CRIS-Dependent281493
+Node: CRIS-Opts281839
+Ref: march-option283457
+Node: CRIS-Expand285274
+Node: CRIS-Symbols286457
+Node: CRIS-Syntax287626
+Node: CRIS-Chars287962
+Node: CRIS-Pic288513
+Ref: crispic288709
+Node: CRIS-Regs292249
+Node: CRIS-Pseudos292666
+Ref: crisnous293442
+Node: D10V-Dependent294724
+Node: D10V-Opts295075
+Node: D10V-Syntax296037
+Node: D10V-Size296566
+Node: D10V-Subs297539
+Node: D10V-Chars298574
+Node: D10V-Regs300178
+Node: D10V-Addressing301223
+Node: D10V-Word301909
+Node: D10V-Float302424
+Node: D10V-Opcodes302735
+Node: D30V-Dependent303128
+Node: D30V-Opts303481
+Node: D30V-Syntax304156
+Node: D30V-Size304688
+Node: D30V-Subs305659
+Node: D30V-Chars306694
+Node: D30V-Guarded308992
+Node: D30V-Regs309672
+Node: D30V-Addressing310811
+Node: D30V-Float311479
+Node: D30V-Opcodes311790
+Node: H8/300-Dependent312183
+Node: H8/300 Options312595
+Node: H8/300 Syntax312862
+Node: H8/300-Chars313163
+Node: H8/300-Regs313462
+Node: H8/300-Addressing314381
+Node: H8/300 Floating Point315422
+Node: H8/300 Directives315749
+Node: H8/300 Opcodes316877
+Node: HPPA-Dependent325199
+Node: HPPA Notes325634
+Node: HPPA Options326392
+Node: HPPA Syntax326587
+Node: HPPA Floating Point327857
+Node: HPPA Directives328063
+Node: HPPA Opcodes336749
+Node: ESA/390-Dependent337008
+Node: ESA/390 Notes337468
+Node: ESA/390 Options338259
+Node: ESA/390 Syntax338469
+Node: ESA/390 Floating Point340642
+Node: ESA/390 Directives340921
+Node: ESA/390 Opcodes344210
+Node: i386-Dependent344472
+Node: i386-Options345669
+Node: i386-Directives350035
+Node: i386-Syntax350773
+Node: i386-Mnemonics353337
+Node: i386-Regs356630
+Node: i386-Prefixes358675
+Node: i386-Memory361435
+Node: i386-Jumps364372
+Node: i386-Float365493
+Node: i386-SIMD367324
+Node: i386-LWP368433
+Node: i386-16bit369269
+Node: i386-Bugs371340
+Node: i386-Arch372094
+Node: i386-Notes374755
+Node: i860-Dependent375613
+Node: Notes-i860376009
+Node: Options-i860376914
+Node: Directives-i860378277
+Node: Opcodes for i860379346
+Node: i960-Dependent381513
+Node: Options-i960381916
+Node: Floating Point-i960385801
+Node: Directives-i960386069
+Node: Opcodes for i960388103
+Node: callj-i960388720
+Node: Compare-and-branch-i960389209
+Node: IA-64-Dependent391113
+Node: IA-64 Options391414
+Node: IA-64 Syntax394565
+Node: IA-64-Chars394971
+Node: IA-64-Regs395201
+Node: IA-64-Bits396127
+Node: IA-64-Relocs396657
+Node: IA-64 Opcodes397129
+Node: IP2K-Dependent397401
+Node: IP2K-Opts397629
+Node: LM32-Dependent398109
+Node: LM32 Options398404
+Node: LM32 Syntax399038
+Node: LM32-Regs399285
+Node: LM32-Modifiers400244
+Node: LM32 Opcodes401600
+Node: M32C-Dependent401904
+Node: M32C-Opts402428
+Node: M32C-Modifiers402851
+Node: M32R-Dependent404638
+Node: M32R-Opts404959
+Node: M32R-Directives409126
+Node: M32R-Warnings413101
+Node: M68K-Dependent416107
+Node: M68K-Opts416574
+Node: M68K-Syntax423947
+Node: M68K-Moto-Syntax425787
+Node: M68K-Float428377
+Node: M68K-Directives428897
+Node: M68K-opcodes430225
+Node: M68K-Branch430451
+Node: M68K-Chars434649
+Node: M68HC11-Dependent435062
+Node: M68HC11-Opts435599
+Node: M68HC11-Syntax439420
+Node: M68HC11-Modifiers441634
+Node: M68HC11-Directives443462
+Node: M68HC11-Float444838
+Node: M68HC11-opcodes445366
+Node: M68HC11-Branch445548
+Node: MicroBlaze-Dependent447997
+Node: MicroBlaze Directives448627
+Node: MIPS-Dependent449984
+Node: MIPS Opts451147
+Node: MIPS Object461659
+Node: MIPS Stabs463225
+Node: MIPS symbol sizes463947
+Node: MIPS ISA465616
+Node: MIPS autoextend467090
+Node: MIPS insn467820
+Node: MIPS option stack469090
+Node: MIPS ASE instruction generation overrides469864
+Node: MIPS floating-point471678
+Node: MMIX-Dependent472564
+Node: MMIX-Opts472944
+Node: MMIX-Expand476548
+Node: MMIX-Syntax477863
+Ref: mmixsite478220
+Node: MMIX-Chars479061
+Node: MMIX-Symbols479715
+Node: MMIX-Regs481783
+Node: MMIX-Pseudos482808
+Ref: MMIX-loc482949
+Ref: MMIX-local484029
+Ref: MMIX-is484561
+Ref: MMIX-greg484832
+Ref: GREG-base485751
+Ref: MMIX-byte487068
+Ref: MMIX-constants487539
+Ref: MMIX-prefix488185
+Ref: MMIX-spec488559
+Node: MMIX-mmixal488893
+Node: MSP430-Dependent492391
+Node: MSP430 Options492857
+Node: MSP430 Syntax493143
+Node: MSP430-Macros493459
+Node: MSP430-Chars494190
+Node: MSP430-Regs494503
+Node: MSP430-Ext495063
+Node: MSP430 Floating Point496884
+Node: MSP430 Directives497108
+Node: MSP430 Opcodes497899
+Node: MSP430 Profiling Capability498294
+Node: PDP-11-Dependent500623
+Node: PDP-11-Options501012
+Node: PDP-11-Pseudos506083
+Node: PDP-11-Syntax506428
+Node: PDP-11-Mnemonics507180
+Node: PDP-11-Synthetic507482
+Node: PJ-Dependent507700
+Node: PJ Options507925
+Node: PPC-Dependent508202
+Node: PowerPC-Opts508486
+Node: PowerPC-Pseudo511105
+Node: RX-Dependent511704
+Node: RX-Opts512097
+Node: RX-Modifiers514123
+Node: RX-Directives514454
+Node: RX-Float514770
+Node: S/390-Dependent515393
+Node: s390 Options516101
+Node: s390 Characters517647
+Node: s390 Syntax517840
+Node: s390 Register518741
+Node: s390 Mnemonics519554
+Node: s390 Operands522574
+Node: s390 Formats525193
+Node: s390 Aliases533039
+Node: s390 Operand Modifier536936
+Node: s390 Instruction Marker540737
+Node: s390 Literal Pool Entries541753
+Node: s390 Directives543676
+Node: s390 Floating Point547591
+Node: SCORE-Dependent548037
+Node: SCORE-Opts548311
+Node: SCORE-Pseudo549599
+Node: SH-Dependent551655
+Node: SH Options552067
+Node: SH Syntax553122
+Node: SH-Chars553395
+Node: SH-Regs553689
+Node: SH-Addressing554303
+Node: SH Floating Point555212
+Node: SH Directives556306
+Node: SH Opcodes556676
+Node: SH64-Dependent560998
+Node: SH64 Options561361
+Node: SH64 Syntax563158
+Node: SH64-Chars563441
+Node: SH64-Regs563741
+Node: SH64-Addressing564837
+Node: SH64 Directives566020
+Node: SH64 Opcodes567130
+Node: Sparc-Dependent567846
+Node: Sparc-Opts568258
+Node: Sparc-Aligned-Data570515
+Node: Sparc-Syntax571347
+Node: Sparc-Chars571921
+Node: Sparc-Regs572154
+Node: Sparc-Constants577265
+Node: Sparc-Relocs582025
+Node: Sparc-Size-Translations586705
+Node: Sparc-Float588354
+Node: Sparc-Directives588549
+Node: TIC54X-Dependent590509
+Node: TIC54X-Opts591236
+Node: TIC54X-Block592279
+Node: TIC54X-Env592639
+Node: TIC54X-Constants592987
+Node: TIC54X-Subsyms593389
+Node: TIC54X-Locals595298
+Node: TIC54X-Builtins596042
+Node: TIC54X-Ext598513
+Node: TIC54X-Directives599084
+Node: TIC54X-Macros609985
+Node: TIC54X-MMRegs612096
+Node: TIC6X-Dependent612312
+Node: TIC6X Options612612
+Node: TIC6X Syntax615230
+Node: TIC6X Directives616154
+Node: Z80-Dependent617223
+Node: Z80 Options617611
+Node: Z80 Syntax619034
+Node: Z80-Chars619706
+Node: Z80-Regs620240
+Node: Z80-Case620592
+Node: Z80 Floating Point621037
+Node: Z80 Directives621231
+Node: Z80 Opcodes622856
+Node: Z8000-Dependent624200
+Node: Z8000 Options625161
+Node: Z8000 Syntax625378
+Node: Z8000-Chars625668
+Node: Z8000-Regs625901
+Node: Z8000-Addressing626691
+Node: Z8000 Directives627808
+Node: Z8000 Opcodes629417
+Node: Vax-Dependent639359
+Node: VAX-Opts639876
+Node: VAX-float643611
+Node: VAX-directives644243
+Node: VAX-opcodes645104
+Node: VAX-branch645493
+Node: VAX-operands648000
+Node: VAX-no648763
+Node: V850-Dependent649000
+Node: V850 Options649397
+Node: V850 Syntax652248
+Node: V850-Chars652488
+Node: V850-Regs652653
+Node: V850 Floating Point654221
+Node: V850 Directives654427
+Node: V850 Opcodes656030
+Node: Xtensa-Dependent661922
+Node: Xtensa Options662651
+Node: Xtensa Syntax665461
+Node: Xtensa Opcodes667350
+Node: Xtensa Registers669144
+Node: Xtensa Optimizations669777
+Node: Density Instructions670229
+Node: Xtensa Automatic Alignment671331
+Node: Xtensa Relaxation673778
+Node: Xtensa Branch Relaxation674686
+Node: Xtensa Call Relaxation676058
+Node: Xtensa Immediate Relaxation677844
+Node: Xtensa Directives680418
+Node: Schedule Directive682127
+Node: Longcalls Directive682467
+Node: Transform Directive683011
+Node: Literal Directive683753
+Ref: Literal Directive-Footnote-1687292
+Node: Literal Position Directive687434
+Node: Literal Prefix Directive689133
+Node: Absolute Literals Directive690031
+Node: Reporting Bugs691338
+Node: Bug Criteria692064
+Node: Bug Reporting692831
+Node: Acknowledgements699480
+Ref: Acknowledgements-Footnote-1704446
+Node: GNU Free Documentation License704472
+Node: AS Index729641

End Tag Table
diff --git a/share/info/bfd.info b/share/info/bfd.info
index 1da9f75..fbcc49b 100644
--- a/share/info/bfd.info
+++ b/share/info/bfd.info
@@ -1,5 +1,7 @@
-This is bfd.info, produced by makeinfo version 4.13 from /tmp/android-1596/src/build/../gdb/gdb-7.1.x/bfd/doc/bfd.texinfo.
+This is bfd.info, produced by makeinfo version 4.13 from
+/tmp/android-15472/src/build/../gdb/gdb-7.3.x/bfd/doc/bfd.texinfo.
+INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Bfd: (bfd). The Binary File Descriptor library.
END-INFO-DIR-ENTRY
@@ -428,6 +430,21 @@ major data about the file and pointers to the rest of the data.
will be consistent from run to run. */
#define BFD_DETERMINISTIC_OUTPUT 0x4000
+ /* Compress sections in this BFD. */
+ #define BFD_COMPRESS 0x8000
+
+ /* Decompress sections in this BFD. */
+ #define BFD_DECOMPRESS 0x10000
+
+ /* Flags bits to be saved in bfd_preserve_save. */
+ #define BFD_FLAGS_SAVED \
+ (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS)
+
+ /* Flags bits which are for BFD use only. */
+ #define BFD_FLAGS_FOR_BFD_USE_MASK \
+ (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
+ | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT)
+
/* Currently my_archive is tested before adding origin to
anything. I believe that this can become always an add of
origin, with origin set to 0 for non archive files. */
@@ -563,6 +580,10 @@ major data about the file and pointers to the rest of the data.
/* Set if this is a thin archive. */
unsigned int is_thin_archive : 1;
+
+ /* Set if only required symbols should be added in the link hash table for
+ this object. Used by VMS linkers. */
+ unsigned int selective_search : 1;
};
2.2 Error reporting
@@ -1125,6 +1146,7 @@ below).
void *(*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len,
int prot, int flags, file_ptr offset);
};
+ extern const struct bfd_iovec _bfd_memory_iovec;
2.3.1.26 `bfd_get_mtime'
........................
@@ -1570,6 +1592,12 @@ Here is the section structure:
/* Mark flag used by some linker backends for garbage collection. */
unsigned int gc_mark : 1;
+ /* Section compression status. */
+ unsigned int compress_status : 2;
+ #define COMPRESS_SECTION_NONE 0
+ #define COMPRESS_SECTION_DONE 1
+ #define DECOMPRESS_SECTION_SIZED 2
+
/* The following flags are used by the ELF linker. */
/* Mark sections which have been allocated to segments. */
@@ -1626,6 +1654,9 @@ Here is the section structure:
section size calculated on a previous linker relaxation pass. */
bfd_size_type rawsize;
+ /* The compressed size of the section in octets. */
+ bfd_size_type compressed_size;
+
/* Relaxation table. */
struct relax_table *relax;
@@ -1859,17 +1890,17 @@ Here is the section structure:
/* name, id, index, next, prev, flags, user_set_vma, */ \
{ NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
\
- /* linker_mark, linker_has_input, gc_mark, segment_mark, */ \
+ /* linker_mark, linker_has_input, gc_mark, decompress_status, */ \
0, 0, 1, 0, \
\
- /* sec_info_type, use_rela_p, */ \
- 0, 0, \
+ /* segment_mark, sec_info_type, use_rela_p, */ \
+ 0, 0, 0, \
\
/* sec_flg0, sec_flg1, sec_flg2, sec_flg3, sec_flg4, sec_flg5, */ \
0, 0, 0, 0, 0, 0, \
\
- /* vma, lma, size, rawsize, relax, relax_count, */ \
- 0, 0, 0, 0, 0, 0, \
+ /* vma, lma, size, rawsize, compressed_size, relax, relax_count, */ \
+ 0, 0, 0, 0, 0, 0, 0, \
\
/* output_offset, output_section, alignment_power, */ \
0, (struct bfd_section *) &SEC, 0, \
@@ -2048,7 +2079,16 @@ returns are:
more of the attributes requested. For example, a .bss section in
`a.out' may not have the `SEC_HAS_CONTENTS' field set.
-2.6.5.11 `bfd_map_over_sections'
+2.6.5.11 `bfd_rename_section'
+.............................
+
+*Synopsis*
+ void bfd_rename_section
+ (bfd *abfd, asection *sec, const char *newname);
+ *Description*
+Rename section SEC in ABFD to NEWNAME.
+
+2.6.5.12 `bfd_map_over_sections'
................................
*Synopsis*
@@ -2069,7 +2109,7 @@ alternative would be to use a loop:
for (p = abfd->sections; p != NULL; p = p->next)
func (abfd, p, ...)
-2.6.5.12 `bfd_sections_find_if'
+2.6.5.13 `bfd_sections_find_if'
...............................
*Synopsis*
@@ -2086,7 +2126,7 @@ by
It returns the first section for which OPERATION returns true.
-2.6.5.13 `bfd_set_section_size'
+2.6.5.14 `bfd_set_section_size'
...............................
*Synopsis*
@@ -2100,7 +2140,7 @@ returned, else `FALSE'.
* `bfd_error_invalid_operation' - Writing has started to the BFD, so
setting the size is invalid.
-2.6.5.14 `bfd_set_section_contents'
+2.6.5.15 `bfd_set_section_contents'
...................................
*Synopsis*
@@ -2121,7 +2161,7 @@ are:
This routine is front end to the back end function
`_bfd_set_section_contents'.
-2.6.5.15 `bfd_get_section_contents'
+2.6.5.16 `bfd_get_section_contents'
...................................
*Synopsis*
@@ -2138,7 +2178,7 @@ are requested or if the section does not have the `SEC_HAS_CONTENTS'
flag set, then the LOCATION is filled with zeroes. If no errors occur,
`TRUE' is returned, else `FALSE'.
-2.6.5.16 `bfd_malloc_and_get_section'
+2.6.5.17 `bfd_malloc_and_get_section'
.....................................
*Synopsis*
@@ -2148,7 +2188,7 @@ flag set, then the LOCATION is filled with zeroes. If no errors occur,
Read all data from SECTION in BFD ABFD into a buffer, *BUF, malloc'd by
this function.
-2.6.5.17 `bfd_copy_private_section_data'
+2.6.5.18 `bfd_copy_private_section_data'
........................................
*Synopsis*
@@ -2166,7 +2206,7 @@ error. Possible error returns are:
BFD_SEND (obfd, _bfd_copy_private_section_data, \
(ibfd, isection, obfd, osection))
-2.6.5.18 `bfd_generic_is_group_section'
+2.6.5.19 `bfd_generic_is_group_section'
.......................................
*Synopsis*
@@ -2174,7 +2214,7 @@ error. Possible error returns are:
*Description*
Returns TRUE if SEC is a member of a group.
-2.6.5.19 `bfd_generic_discard_group'
+2.6.5.20 `bfd_generic_discard_group'
....................................
*Synopsis*
@@ -3062,10 +3102,7 @@ information that libbfd needs to know to tie up a back end's data.
when doing overflow checking. */
unsigned int bitsize;
- /* Notes that the relocation is relative to the location in the
- data section of the addend. The relocation function will
- subtract from the relocation value the address of the location
- being relocated. */
+ /* The relocation is relative to the field being relocated. */
bfd_boolean pc_relative;
/* The bit position of the reloc value in the destination.
@@ -4014,6 +4051,7 @@ attributes.
-- : BFD_RELOC_ARM_RELATIVE
-- : BFD_RELOC_ARM_GOTOFF
-- : BFD_RELOC_ARM_GOTPC
+ -- : BFD_RELOC_ARM_GOT_PREL
Relocations for setting up GOTs and PLTs for shared libraries.
-- : BFD_RELOC_ARM_TLS_GD32
@@ -4024,6 +4062,12 @@ attributes.
-- : BFD_RELOC_ARM_TLS_TPOFF32
-- : BFD_RELOC_ARM_TLS_IE32
-- : BFD_RELOC_ARM_TLS_LE32
+ -- : BFD_RELOC_ARM_TLS_GOTDESC
+ -- : BFD_RELOC_ARM_TLS_CALL
+ -- : BFD_RELOC_ARM_THM_TLS_CALL
+ -- : BFD_RELOC_ARM_TLS_DESCSEQ
+ -- : BFD_RELOC_ARM_THM_TLS_DESCSEQ
+ -- : BFD_RELOC_ARM_TLS_DESC
ARM thread-local storage relocations.
-- : BFD_RELOC_ARM_ALU_PC_G0_NC
@@ -4059,6 +4103,9 @@ attributes.
-- : BFD_RELOC_ARM_V4BX
Annotation of BX instructions.
+ -- : BFD_RELOC_ARM_IRELATIVE
+ ARM support for STT_GNU_IFUNC.
+
-- : BFD_RELOC_ARM_IMMEDIATE
-- : BFD_RELOC_ARM_ADRL_IMMEDIATE
-- : BFD_RELOC_ARM_T32_IMMEDIATE
@@ -4067,6 +4114,7 @@ attributes.
-- : BFD_RELOC_ARM_T32_ADD_PC12
-- : BFD_RELOC_ARM_SHIFT_IMM
-- : BFD_RELOC_ARM_SMC
+ -- : BFD_RELOC_ARM_HVC
-- : BFD_RELOC_ARM_SWI
-- : BFD_RELOC_ARM_MULTI
-- : BFD_RELOC_ARM_CP_OFF_IMM
@@ -4177,6 +4225,13 @@ attributes.
-- : BFD_RELOC_SH_TLS_DTPMOD32
-- : BFD_RELOC_SH_TLS_DTPOFF32
-- : BFD_RELOC_SH_TLS_TPOFF32
+ -- : BFD_RELOC_SH_GOT20
+ -- : BFD_RELOC_SH_GOTOFF20
+ -- : BFD_RELOC_SH_GOTFUNCDESC
+ -- : BFD_RELOC_SH_GOTFUNCDESC20
+ -- : BFD_RELOC_SH_GOTOFFFUNCDESC
+ -- : BFD_RELOC_SH_GOTOFFFUNCDESC20
+ -- : BFD_RELOC_SH_FUNCDESC
Renesas / SuperH SH relocs. Not all of these appear in object
files.
@@ -4495,6 +4550,72 @@ attributes.
This is a variation of BFD_RELOC_LO16 that can be used in v850e
ld.bu instructions.
+ -- : BFD_RELOC_V850_16_PCREL
+ This is a 16-bit reloc.
+
+ -- : BFD_RELOC_V850_17_PCREL
+ This is a 17-bit reloc.
+
+ -- : BFD_RELOC_V850_23
+ This is a 23-bit reloc.
+
+ -- : BFD_RELOC_V850_32_PCREL
+ This is a 32-bit reloc.
+
+ -- : BFD_RELOC_V850_32_ABS
+ This is a 32-bit reloc.
+
+ -- : BFD_RELOC_V850_16_SPLIT_OFFSET
+ This is a 16-bit reloc.
+
+ -- : BFD_RELOC_V850_16_S1
+ This is a 16-bit reloc.
+
+ -- : BFD_RELOC_V850_LO16_S1
+ Low 16 bits. 16 bit shifted by 1.
+
+ -- : BFD_RELOC_V850_CALLT_15_16_OFFSET
+ This is a 16 bit offset from the call table base pointer.
+
+ -- : BFD_RELOC_V850_32_GOTPCREL
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_16_GOT
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_32_GOT
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_22_PLT_PCREL
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_32_PLT_PCREL
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_COPY
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_GLOB_DAT
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_JMP_SLOT
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_RELATIVE
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_16_GOTOFF
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_32_GOTOFF
+ DSO relocations.
+
+ -- : BFD_RELOC_V850_CODE
+ start code.
+
+ -- : BFD_RELOC_V850_DATA
+ start data in text.
+
-- : BFD_RELOC_MN10300_32_PCREL
This is a 32bit pcrel reloc for the mn10300, offset by two bytes
in the instruction.
@@ -4530,6 +4651,38 @@ attributes.
This is a reloc for the tms320c54x, where the most significant 7
bits of a 23-bit extended address are placed into the opcode.
+ -- : BFD_RELOC_C6000_PCR_S21
+ -- : BFD_RELOC_C6000_PCR_S12
+ -- : BFD_RELOC_C6000_PCR_S10
+ -- : BFD_RELOC_C6000_PCR_S7
+ -- : BFD_RELOC_C6000_ABS_S16
+ -- : BFD_RELOC_C6000_ABS_L16
+ -- : BFD_RELOC_C6000_ABS_H16
+ -- : BFD_RELOC_C6000_SBR_U15_B
+ -- : BFD_RELOC_C6000_SBR_U15_H
+ -- : BFD_RELOC_C6000_SBR_U15_W
+ -- : BFD_RELOC_C6000_SBR_S16
+ -- : BFD_RELOC_C6000_SBR_L16_B
+ -- : BFD_RELOC_C6000_SBR_L16_H
+ -- : BFD_RELOC_C6000_SBR_L16_W
+ -- : BFD_RELOC_C6000_SBR_H16_B
+ -- : BFD_RELOC_C6000_SBR_H16_H
+ -- : BFD_RELOC_C6000_SBR_H16_W
+ -- : BFD_RELOC_C6000_SBR_GOT_U15_W
+ -- : BFD_RELOC_C6000_SBR_GOT_L16_W
+ -- : BFD_RELOC_C6000_SBR_GOT_H16_W
+ -- : BFD_RELOC_C6000_DSBT_INDEX
+ -- : BFD_RELOC_C6000_PREL31
+ -- : BFD_RELOC_C6000_COPY
+ -- : BFD_RELOC_C6000_JUMP_SLOT
+ -- : BFD_RELOC_C6000_EHTYPE
+ -- : BFD_RELOC_C6000_PCR_H16
+ -- : BFD_RELOC_C6000_PCR_L16
+ -- : BFD_RELOC_C6000_ALIGN
+ -- : BFD_RELOC_C6000_FPHEAD
+ -- : BFD_RELOC_C6000_NOCMP
+ TMS320C6000 relocations.
+
-- : BFD_RELOC_FR30_48
This is a 48 bit reloc for the FR30 that stores 32 bits.
@@ -4761,9 +4914,12 @@ attributes.
-- : BFD_RELOC_RX_GPRELL
-- : BFD_RELOC_RX_SYM
-- : BFD_RELOC_RX_OP_SUBTRACT
+ -- : BFD_RELOC_RX_OP_NEG
-- : BFD_RELOC_RX_ABS8
-- : BFD_RELOC_RX_ABS16
+ -- : BFD_RELOC_RX_ABS16_REV
-- : BFD_RELOC_RX_ABS32
+ -- : BFD_RELOC_RX_ABS32_REV
-- : BFD_RELOC_RX_ABS16U
-- : BFD_RELOC_RX_ABS16UW
-- : BFD_RELOC_RX_ABS16UL
@@ -5643,7 +5799,16 @@ failed and produced the core file ABFD.
Returns the signal number which caused the core dump which generated
the file the BFD ABFD is attached to.
-2.11.1.3 `core_file_matches_executable_p'
+2.11.1.3 `bfd_core_file_pid'
+............................
+
+*Synopsis*
+ int bfd_core_file_pid (bfd *abfd);
+ *Description*
+Returns the PID of the process the core dump the BFD ABFD is attached
+to was generated from.
+
+2.11.1.4 `core_file_matches_executable_p'
.........................................
*Synopsis*
@@ -5653,7 +5818,7 @@ the file the BFD ABFD is attached to.
Return `TRUE' if the core file attached to CORE_BFD was generated by a
run of the executable file attached to EXEC_BFD, `FALSE' otherwise.
-2.11.1.4 `generic_core_file_matches_executable_p'
+2.11.1.5 `generic_core_file_matches_executable_p'
.................................................
*Synopsis*
@@ -5938,11 +6103,13 @@ BFD_JUMP_TABLE macros.
#define BFD_JUMP_TABLE_CORE(NAME) \
NAME##_core_file_failing_command, \
NAME##_core_file_failing_signal, \
- NAME##_core_file_matches_executable_p
+ NAME##_core_file_matches_executable_p, \
+ NAME##_core_file_pid
char * (*_core_file_failing_command) (bfd *);
int (*_core_file_failing_signal) (bfd *);
bfd_boolean (*_core_file_matches_executable_p) (bfd *, bfd *);
+ int (*_core_file_pid) (bfd *);
/* Archive entry points. */
#define BFD_JUMP_TABLE_ARCHIVE(NAME) \
@@ -6380,6 +6547,7 @@ i960 KB, and 68020 and 68030 for Motorola 68020 and 68030.
#define bfd_mach_mips5 5
#define bfd_mach_mips_loongson_2e 3001
#define bfd_mach_mips_loongson_2f 3002
+ #define bfd_mach_mips_loongson_3a 3003
#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */
#define bfd_mach_mips_octeon 6501
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */
@@ -6391,6 +6559,8 @@ i960 KB, and 68020 and 68030 for Motorola 68020 and 68030.
#define bfd_mach_i386_i386 1
#define bfd_mach_i386_i8086 2
#define bfd_mach_i386_i386_intel_syntax 3
+ #define bfd_mach_x64_32 32
+ #define bfd_mach_x64_32_intel_syntax 33
#define bfd_mach_x86_64 64
#define bfd_mach_x86_64_intel_syntax 65
bfd_arch_l1om, /* Intel L1OM */
@@ -6512,11 +6682,14 @@ i960 KB, and 68020 and 68030 for Motorola 68020 and 68030.
#define bfd_mach_tic3x 30
#define bfd_mach_tic4x 40
bfd_arch_tic54x, /* Texas Instruments TMS320C54X */
+ bfd_arch_tic6x, /* Texas Instruments TMS320C6X */
bfd_arch_tic80, /* TI TMS320c80 (MVP) */
bfd_arch_v850, /* NEC V850 */
#define bfd_mach_v850 1
#define bfd_mach_v850e 'E'
#define bfd_mach_v850e1 '1'
+ #define bfd_mach_v850e2 0x4532
+ #define bfd_mach_v850e2v3 0x45325633
bfd_arch_arc, /* ARC Cores */
#define bfd_mach_arc_5 5
#define bfd_mach_arc_6 6
@@ -6577,6 +6750,13 @@ i960 KB, and 68020 and 68030 for Motorola 68020 and 68030.
#define bfd_mach_avr5 5
#define bfd_mach_avr51 51
#define bfd_mach_avr6 6
+ #define bfd_mach_avrxmega1 101
+ #define bfd_mach_avrxmega2 102
+ #define bfd_mach_avrxmega3 103
+ #define bfd_mach_avrxmega4 104
+ #define bfd_mach_avrxmega5 105
+ #define bfd_mach_avrxmega6 106
+ #define bfd_mach_avrxmega7 107
bfd_arch_bfin, /* ADI Blackfin */
#define bfd_mach_bfin 1
bfd_arch_cr16, /* National Semiconductor CompactRISC (ie CR16). */
@@ -6623,9 +6803,6 @@ i960 KB, and 68020 and 68030 for Motorola 68020 and 68030.
#define bfd_mach_xc16xs 3
bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
#define bfd_mach_xtensa 1
- bfd_arch_maxq, /* Dallas MAXQ 10/20 */
- #define bfd_mach_maxq10 10
- #define bfd_mach_maxq20 20
bfd_arch_z80,
#define bfd_mach_z80strict 1 /* No undocumented opcodes. */
#define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */
@@ -6843,6 +7020,9 @@ available

File: bfd.info, Node: Opening and Closing, Next: Internal, Prev: Architectures, Up: BFD front end
+ /* Set to N to open the next N BFDs using an alternate id space. */
+ extern unsigned int bfd_use_reserved_id;
+
2.14 Opening and closing BFDs
=============================
@@ -7020,8 +7200,8 @@ as such.
bfd *bfd_create (const char *filename, bfd *templ);
*Description*
Create a new BFD in the manner of `bfd_openw', but without opening a
-file. The new BFD takes the target from the target used by TEMPLATE.
-The format is always set to `bfd_object'.
+file. The new BFD takes the target from the target used by TEMPL. The
+format is always set to `bfd_object'.
2.14.1.10 `bfd_make_writable'
.............................
@@ -7599,6 +7779,9 @@ look through the symbols defined by the archive and decide which
elements of the archive should be included in the link. For each such
element it must call the `add_archive_element' linker callback, and it
must add the symbols from the object file to the linker hash table.
+(The callback may in fact indicate that a replacement BFD should be
+used, in which case the symbols from that BFD should be added to the
+linker hash table instead.)
In most cases the work of looking through the symbols in the archive
should be done by the `_bfd_generic_link_add_archive_symbols' function.
@@ -7613,9 +7796,13 @@ the linker hash table.
read the symbols of the archive element and decide whether the archive
element should be included in the link. If the element is to be
included, the `add_archive_element' linker callback routine must be
-called with the element as an argument, and the elements symbols must
+called with the element as an argument, and the element's symbols must
be added to the linker hash table just as though the element had itself
-been passed to the `_bfd_link_add_symbols' function.
+been passed to the `_bfd_link_add_symbols' function. The
+`add_archive_element' callback has the option to indicate that it would
+like to replace the element archive with a substitute BFD, in which
+case it is the symbols of that substitute BFD that must be added to the
+linker hash table instead.
When the a.out `_bfd_link_add_symbols' function receives an archive,
it calls `_bfd_generic_link_add_archive_symbols' passing
@@ -7625,7 +7812,9 @@ If the latter decides to add the element (an element is only added if
it provides a real, non-common, definition for a previously undefined
or common symbol) it calls the `add_archive_element' callback and then
`aout_link_check_archive_element' calls `aout_link_add_symbols' to
-actually add the symbols to the linker hash table.
+actually add the symbols to the linker hash table - possibly those of a
+substitute BFD, if the `add_archive_element' callback avails itself of
+that option.
The ECOFF back end is unusual in that it does not normally call
`_bfd_generic_link_add_archive_symbols', because ECOFF archives already
@@ -9784,7 +9973,7 @@ BFD Index
* _bfd_final_link_relocate: Relocating the section contents.
(line 22)
* _bfd_generic_link_add_archive_symbols: Adding symbols from an archive.
- (line 12)
+ (line 15)
* _bfd_generic_link_add_one_symbol: Adding symbols from an object file.
(line 19)
* _bfd_generic_make_empty_symbol: symbol handling functions.
@@ -9804,120 +9993,121 @@ BFD Index
* aout_SIZE_some_aout_object_p: aout. (line 125)
* aout_SIZE_swap_exec_header_in: aout. (line 101)
* aout_SIZE_swap_exec_header_out: aout. (line 113)
-* arelent_chain: typedef arelent. (line 339)
+* arelent_chain: typedef arelent. (line 336)
* BFD: Overview. (line 6)
* BFD canonical format: Canonical format. (line 11)
* bfd_alloc: Opening and Closing.
- (line 211)
+ (line 214)
* bfd_alloc2: Opening and Closing.
- (line 220)
-* bfd_alt_mach_code: BFD front end. (line 689)
-* bfd_arch_bits_per_address: Architectures. (line 521)
-* bfd_arch_bits_per_byte: Architectures. (line 513)
-* bfd_arch_get_compatible: Architectures. (line 456)
-* bfd_arch_list: Architectures. (line 447)
-* bfd_arch_mach_octets_per_byte: Architectures. (line 590)
-* BFD_ARELOC_BFIN_ADD: howto manager. (line 1007)
-* BFD_ARELOC_BFIN_ADDR: howto manager. (line 1058)
-* BFD_ARELOC_BFIN_AND: howto manager. (line 1028)
-* BFD_ARELOC_BFIN_COMP: howto manager. (line 1049)
-* BFD_ARELOC_BFIN_CONST: howto manager. (line 1004)
-* BFD_ARELOC_BFIN_DIV: howto manager. (line 1016)
-* BFD_ARELOC_BFIN_HWPAGE: howto manager. (line 1055)
-* BFD_ARELOC_BFIN_LAND: howto manager. (line 1037)
-* BFD_ARELOC_BFIN_LEN: howto manager. (line 1043)
-* BFD_ARELOC_BFIN_LOR: howto manager. (line 1040)
-* BFD_ARELOC_BFIN_LSHIFT: howto manager. (line 1022)
-* BFD_ARELOC_BFIN_MOD: howto manager. (line 1019)
-* BFD_ARELOC_BFIN_MULT: howto manager. (line 1013)
-* BFD_ARELOC_BFIN_NEG: howto manager. (line 1046)
-* BFD_ARELOC_BFIN_OR: howto manager. (line 1031)
-* BFD_ARELOC_BFIN_PAGE: howto manager. (line 1052)
-* BFD_ARELOC_BFIN_PUSH: howto manager. (line 1001)
-* BFD_ARELOC_BFIN_RSHIFT: howto manager. (line 1025)
-* BFD_ARELOC_BFIN_SUB: howto manager. (line 1010)
-* BFD_ARELOC_BFIN_XOR: howto manager. (line 1034)
+ (line 223)
+* bfd_alt_mach_code: BFD front end. (line 708)
+* bfd_arch_bits_per_address: Architectures. (line 531)
+* bfd_arch_bits_per_byte: Architectures. (line 523)
+* bfd_arch_get_compatible: Architectures. (line 466)
+* bfd_arch_list: Architectures. (line 457)
+* bfd_arch_mach_octets_per_byte: Architectures. (line 600)
+* BFD_ARELOC_BFIN_ADD: howto manager. (line 1025)
+* BFD_ARELOC_BFIN_ADDR: howto manager. (line 1076)
+* BFD_ARELOC_BFIN_AND: howto manager. (line 1046)
+* BFD_ARELOC_BFIN_COMP: howto manager. (line 1067)
+* BFD_ARELOC_BFIN_CONST: howto manager. (line 1022)
+* BFD_ARELOC_BFIN_DIV: howto manager. (line 1034)
+* BFD_ARELOC_BFIN_HWPAGE: howto manager. (line 1073)
+* BFD_ARELOC_BFIN_LAND: howto manager. (line 1055)
+* BFD_ARELOC_BFIN_LEN: howto manager. (line 1061)
+* BFD_ARELOC_BFIN_LOR: howto manager. (line 1058)
+* BFD_ARELOC_BFIN_LSHIFT: howto manager. (line 1040)
+* BFD_ARELOC_BFIN_MOD: howto manager. (line 1037)
+* BFD_ARELOC_BFIN_MULT: howto manager. (line 1031)
+* BFD_ARELOC_BFIN_NEG: howto manager. (line 1064)
+* BFD_ARELOC_BFIN_OR: howto manager. (line 1049)
+* BFD_ARELOC_BFIN_PAGE: howto manager. (line 1070)
+* BFD_ARELOC_BFIN_PUSH: howto manager. (line 1019)
+* BFD_ARELOC_BFIN_RSHIFT: howto manager. (line 1043)
+* BFD_ARELOC_BFIN_SUB: howto manager. (line 1028)
+* BFD_ARELOC_BFIN_XOR: howto manager. (line 1052)
* bfd_cache_close: File Caching. (line 26)
* bfd_cache_close_all: File Caching. (line 39)
* bfd_cache_init: File Caching. (line 18)
* bfd_calc_gnu_debuglink_crc32: Opening and Closing.
- (line 247)
-* bfd_canonicalize_reloc: BFD front end. (line 408)
+ (line 250)
+* bfd_canonicalize_reloc: BFD front end. (line 427)
* bfd_canonicalize_symtab: symbol handling functions.
(line 50)
* bfd_check_format: Formats. (line 21)
* bfd_check_format_matches: Formats. (line 52)
-* bfd_check_overflow: typedef arelent. (line 351)
+* bfd_check_overflow: typedef arelent. (line 348)
* bfd_close: Opening and Closing.
- (line 136)
+ (line 139)
* bfd_close_all_done: Opening and Closing.
- (line 154)
+ (line 157)
* bfd_coff_backend_data: coff. (line 304)
-* bfd_copy_private_bfd_data: BFD front end. (line 547)
-* bfd_copy_private_header_data: BFD front end. (line 529)
-* bfd_copy_private_section_data: section prototypes. (line 255)
+* bfd_copy_private_bfd_data: BFD front end. (line 566)
+* bfd_copy_private_header_data: BFD front end. (line 548)
+* bfd_copy_private_section_data: section prototypes. (line 264)
* bfd_copy_private_symbol_data: symbol handling functions.
(line 140)
* bfd_core_file_failing_command: Core Files. (line 12)
* bfd_core_file_failing_signal: Core Files. (line 21)
+* bfd_core_file_pid: Core Files. (line 30)
* bfd_create: Opening and Closing.
- (line 173)
+ (line 176)
* bfd_create_gnu_debuglink_section: Opening and Closing.
- (line 313)
+ (line 316)
* bfd_decode_symclass: symbol handling functions.
(line 111)
-* bfd_default_arch_struct: Architectures. (line 468)
-* bfd_default_compatible: Architectures. (line 530)
-* bfd_default_reloc_type_lookup: howto manager. (line 2302)
-* bfd_default_scan: Architectures. (line 539)
-* bfd_default_set_arch_mach: Architectures. (line 486)
-* bfd_demangle: BFD front end. (line 787)
-* bfd_emul_get_commonpagesize: BFD front end. (line 767)
-* bfd_emul_get_maxpagesize: BFD front end. (line 747)
-* bfd_emul_set_commonpagesize: BFD front end. (line 778)
-* bfd_emul_set_maxpagesize: BFD front end. (line 758)
-* bfd_errmsg: BFD front end. (line 333)
+* bfd_default_arch_struct: Architectures. (line 478)
+* bfd_default_compatible: Architectures. (line 540)
+* bfd_default_reloc_type_lookup: howto manager. (line 2421)
+* bfd_default_scan: Architectures. (line 549)
+* bfd_default_set_arch_mach: Architectures. (line 496)
+* bfd_demangle: BFD front end. (line 806)
+* bfd_emul_get_commonpagesize: BFD front end. (line 786)
+* bfd_emul_get_maxpagesize: BFD front end. (line 766)
+* bfd_emul_set_commonpagesize: BFD front end. (line 797)
+* bfd_emul_set_maxpagesize: BFD front end. (line 777)
+* bfd_errmsg: BFD front end. (line 352)
* bfd_fdopenr: Opening and Closing.
- (line 46)
+ (line 49)
* bfd_fill_in_gnu_debuglink_section: Opening and Closing.
- (line 327)
-* bfd_find_target: bfd_target. (line 454)
+ (line 330)
+* bfd_find_target: bfd_target. (line 456)
* bfd_find_version_for_sym: Writing the symbol table.
(line 80)
* bfd_follow_gnu_debuglink: Opening and Closing.
- (line 292)
+ (line 295)
* bfd_fopen: Opening and Closing.
- (line 9)
+ (line 12)
* bfd_format_string: Formats. (line 79)
* bfd_generic_define_common_symbol: Writing the symbol table.
(line 67)
-* bfd_generic_discard_group: section prototypes. (line 281)
-* bfd_generic_gc_sections: howto manager. (line 2333)
-* bfd_generic_get_relocated_section_contents: howto manager. (line 2353)
-* bfd_generic_is_group_section: section prototypes. (line 273)
-* bfd_generic_merge_sections: howto manager. (line 2343)
-* bfd_generic_relax_section: howto manager. (line 2320)
-* bfd_get_arch: Architectures. (line 497)
-* bfd_get_arch_info: Architectures. (line 549)
-* bfd_get_arch_size: BFD front end. (line 452)
-* bfd_get_error: BFD front end. (line 314)
-* bfd_get_error_handler: BFD front end. (line 384)
-* bfd_get_gp_size: BFD front end. (line 493)
-* bfd_get_mach: Architectures. (line 505)
-* bfd_get_mtime: BFD front end. (line 831)
+* bfd_generic_discard_group: section prototypes. (line 290)
+* bfd_generic_gc_sections: howto manager. (line 2452)
+* bfd_generic_get_relocated_section_contents: howto manager. (line 2472)
+* bfd_generic_is_group_section: section prototypes. (line 282)
+* bfd_generic_merge_sections: howto manager. (line 2462)
+* bfd_generic_relax_section: howto manager. (line 2439)
+* bfd_get_arch: Architectures. (line 507)
+* bfd_get_arch_info: Architectures. (line 559)
+* bfd_get_arch_size: BFD front end. (line 471)
+* bfd_get_error: BFD front end. (line 333)
+* bfd_get_error_handler: BFD front end. (line 403)
+* bfd_get_gp_size: BFD front end. (line 512)
+* bfd_get_mach: Architectures. (line 515)
+* bfd_get_mtime: BFD front end. (line 851)
* bfd_get_next_mapent: Archives. (line 52)
-* bfd_get_reloc_code_name: howto manager. (line 2311)
-* bfd_get_reloc_size: typedef arelent. (line 330)
-* bfd_get_reloc_upper_bound: BFD front end. (line 398)
+* bfd_get_reloc_code_name: howto manager. (line 2430)
+* bfd_get_reloc_size: typedef arelent. (line 327)
+* bfd_get_reloc_upper_bound: BFD front end. (line 417)
* bfd_get_section_by_name: section prototypes. (line 17)
* bfd_get_section_by_name_if: section prototypes. (line 31)
-* bfd_get_section_contents: section prototypes. (line 228)
-* bfd_get_sign_extend_vma: BFD front end. (line 465)
+* bfd_get_section_contents: section prototypes. (line 237)
+* bfd_get_sign_extend_vma: BFD front end. (line 484)
* bfd_get_size <1>: Internal. (line 25)
-* bfd_get_size: BFD front end. (line 840)
+* bfd_get_size: BFD front end. (line 860)
* bfd_get_symtab_upper_bound: symbol handling functions.
(line 6)
-* bfd_get_target_info: bfd_target. (line 470)
+* bfd_get_target_info: bfd_target. (line 472)
* bfd_get_unique_section_name: section prototypes. (line 50)
* bfd_h_put_size: Internal. (line 97)
* bfd_hash_allocate: Creating and Freeing a Hash Table.
@@ -9937,7 +10127,7 @@ BFD Index
* bfd_hash_traverse: Traversing a Hash Table.
(line 6)
* bfd_init: Initialization. (line 11)
-* bfd_install_relocation: typedef arelent. (line 392)
+* bfd_install_relocation: typedef arelent. (line 389)
* bfd_is_local_label: symbol handling functions.
(line 17)
* bfd_is_local_label_name: symbol handling functions.
@@ -9949,44 +10139,44 @@ BFD Index
* bfd_link_split_section: Writing the symbol table.
(line 44)
* bfd_log2: Internal. (line 164)
-* bfd_lookup_arch: Architectures. (line 557)
+* bfd_lookup_arch: Architectures. (line 567)
* bfd_make_debug_symbol: symbol handling functions.
(line 102)
* bfd_make_empty_symbol: symbol handling functions.
(line 78)
* bfd_make_readable: Opening and Closing.
- (line 197)
+ (line 200)
* bfd_make_section: section prototypes. (line 129)
* bfd_make_section_anyway: section prototypes. (line 100)
* bfd_make_section_anyway_with_flags: section prototypes. (line 82)
* bfd_make_section_old_way: section prototypes. (line 62)
* bfd_make_section_with_flags: section prototypes. (line 116)
* bfd_make_writable: Opening and Closing.
- (line 183)
-* bfd_malloc_and_get_section: section prototypes. (line 245)
-* bfd_map_over_sections: section prototypes. (line 155)
-* bfd_merge_private_bfd_data: BFD front end. (line 563)
-* bfd_mmap: BFD front end. (line 869)
-* bfd_octets_per_byte: Architectures. (line 580)
+ (line 186)
+* bfd_malloc_and_get_section: section prototypes. (line 254)
+* bfd_map_over_sections: section prototypes. (line 164)
+* bfd_merge_private_bfd_data: BFD front end. (line 582)
+* bfd_mmap: BFD front end. (line 889)
+* bfd_octets_per_byte: Architectures. (line 590)
* bfd_open_file: File Caching. (line 52)
* bfd_openr: Opening and Closing.
- (line 30)
+ (line 33)
* bfd_openr_iovec: Opening and Closing.
- (line 76)
+ (line 79)
* bfd_openr_next_archived_file: Archives. (line 78)
* bfd_openstreamr: Opening and Closing.
- (line 67)
+ (line 70)
* bfd_openw: Opening and Closing.
- (line 124)
-* bfd_perform_relocation: typedef arelent. (line 367)
-* bfd_perror: BFD front end. (line 342)
-* bfd_preserve_finish: BFD front end. (line 737)
-* bfd_preserve_restore: BFD front end. (line 727)
-* bfd_preserve_save: BFD front end. (line 711)
+ (line 127)
+* bfd_perform_relocation: typedef arelent. (line 364)
+* bfd_perror: BFD front end. (line 361)
+* bfd_preserve_finish: BFD front end. (line 756)
+* bfd_preserve_restore: BFD front end. (line 746)
+* bfd_preserve_save: BFD front end. (line 730)
* bfd_print_symbol_vandf: symbol handling functions.
(line 70)
-* bfd_printable_arch_mach: Architectures. (line 568)
-* bfd_printable_name: Architectures. (line 428)
+* bfd_printable_arch_mach: Architectures. (line 578)
+* bfd_printable_name: Architectures. (line 438)
* bfd_put_size: Internal. (line 22)
* BFD_RELOC_12_PCREL: howto manager. (line 39)
* BFD_RELOC_14: howto manager. (line 31)
@@ -9998,46 +10188,46 @@ BFD Index
* BFD_RELOC_16_PCREL_S2: howto manager. (line 107)
* BFD_RELOC_16_PLT_PCREL: howto manager. (line 63)
* BFD_RELOC_16_PLTOFF: howto manager. (line 67)
-* BFD_RELOC_16C_ABS20: howto manager. (line 1866)
-* BFD_RELOC_16C_ABS20_C: howto manager. (line 1867)
-* BFD_RELOC_16C_ABS24: howto manager. (line 1868)
-* BFD_RELOC_16C_ABS24_C: howto manager. (line 1869)
-* BFD_RELOC_16C_DISP04: howto manager. (line 1846)
-* BFD_RELOC_16C_DISP04_C: howto manager. (line 1847)
-* BFD_RELOC_16C_DISP08: howto manager. (line 1848)
-* BFD_RELOC_16C_DISP08_C: howto manager. (line 1849)
-* BFD_RELOC_16C_DISP16: howto manager. (line 1850)
-* BFD_RELOC_16C_DISP16_C: howto manager. (line 1851)
-* BFD_RELOC_16C_DISP24: howto manager. (line 1852)
-* BFD_RELOC_16C_DISP24_C: howto manager. (line 1853)
-* BFD_RELOC_16C_DISP24a: howto manager. (line 1854)
-* BFD_RELOC_16C_DISP24a_C: howto manager. (line 1855)
-* BFD_RELOC_16C_IMM04: howto manager. (line 1870)
-* BFD_RELOC_16C_IMM04_C: howto manager. (line 1871)
-* BFD_RELOC_16C_IMM16: howto manager. (line 1872)
-* BFD_RELOC_16C_IMM16_C: howto manager. (line 1873)
-* BFD_RELOC_16C_IMM20: howto manager. (line 1874)
-* BFD_RELOC_16C_IMM20_C: howto manager. (line 1875)
-* BFD_RELOC_16C_IMM24: howto manager. (line 1876)
-* BFD_RELOC_16C_IMM24_C: howto manager. (line 1877)
-* BFD_RELOC_16C_IMM32: howto manager. (line 1878)
-* BFD_RELOC_16C_IMM32_C: howto manager. (line 1879)
-* BFD_RELOC_16C_NUM08: howto manager. (line 1840)
-* BFD_RELOC_16C_NUM08_C: howto manager. (line 1841)
-* BFD_RELOC_16C_NUM16: howto manager. (line 1842)
-* BFD_RELOC_16C_NUM16_C: howto manager. (line 1843)
-* BFD_RELOC_16C_NUM32: howto manager. (line 1844)
-* BFD_RELOC_16C_NUM32_C: howto manager. (line 1845)
-* BFD_RELOC_16C_REG04: howto manager. (line 1856)
-* BFD_RELOC_16C_REG04_C: howto manager. (line 1857)
-* BFD_RELOC_16C_REG04a: howto manager. (line 1858)
-* BFD_RELOC_16C_REG04a_C: howto manager. (line 1859)
-* BFD_RELOC_16C_REG14: howto manager. (line 1860)
-* BFD_RELOC_16C_REG14_C: howto manager. (line 1861)
-* BFD_RELOC_16C_REG16: howto manager. (line 1862)
-* BFD_RELOC_16C_REG16_C: howto manager. (line 1863)
-* BFD_RELOC_16C_REG20: howto manager. (line 1864)
-* BFD_RELOC_16C_REG20_C: howto manager. (line 1865)
+* BFD_RELOC_16C_ABS20: howto manager. (line 1985)
+* BFD_RELOC_16C_ABS20_C: howto manager. (line 1986)
+* BFD_RELOC_16C_ABS24: howto manager. (line 1987)
+* BFD_RELOC_16C_ABS24_C: howto manager. (line 1988)
+* BFD_RELOC_16C_DISP04: howto manager. (line 1965)
+* BFD_RELOC_16C_DISP04_C: howto manager. (line 1966)
+* BFD_RELOC_16C_DISP08: howto manager. (line 1967)
+* BFD_RELOC_16C_DISP08_C: howto manager. (line 1968)
+* BFD_RELOC_16C_DISP16: howto manager. (line 1969)
+* BFD_RELOC_16C_DISP16_C: howto manager. (line 1970)
+* BFD_RELOC_16C_DISP24: howto manager. (line 1971)
+* BFD_RELOC_16C_DISP24_C: howto manager. (line 1972)
+* BFD_RELOC_16C_DISP24a: howto manager. (line 1973)
+* BFD_RELOC_16C_DISP24a_C: howto manager. (line 1974)
+* BFD_RELOC_16C_IMM04: howto manager. (line 1989)
+* BFD_RELOC_16C_IMM04_C: howto manager. (line 1990)
+* BFD_RELOC_16C_IMM16: howto manager. (line 1991)
+* BFD_RELOC_16C_IMM16_C: howto manager. (line 1992)
+* BFD_RELOC_16C_IMM20: howto manager. (line 1993)
+* BFD_RELOC_16C_IMM20_C: howto manager. (line 1994)
+* BFD_RELOC_16C_IMM24: howto manager. (line 1995)
+* BFD_RELOC_16C_IMM24_C: howto manager. (line 1996)
+* BFD_RELOC_16C_IMM32: howto manager. (line 1997)
+* BFD_RELOC_16C_IMM32_C: howto manager. (line 1998)
+* BFD_RELOC_16C_NUM08: howto manager. (line 1959)
+* BFD_RELOC_16C_NUM08_C: howto manager. (line 1960)
+* BFD_RELOC_16C_NUM16: howto manager. (line 1961)
+* BFD_RELOC_16C_NUM16_C: howto manager. (line 1962)
+* BFD_RELOC_16C_NUM32: howto manager. (line 1963)
+* BFD_RELOC_16C_NUM32_C: howto manager. (line 1964)
+* BFD_RELOC_16C_REG04: howto manager. (line 1975)
+* BFD_RELOC_16C_REG04_C: howto manager. (line 1976)
+* BFD_RELOC_16C_REG04a: howto manager. (line 1977)
+* BFD_RELOC_16C_REG04a_C: howto manager. (line 1978)
+* BFD_RELOC_16C_REG14: howto manager. (line 1979)
+* BFD_RELOC_16C_REG14_C: howto manager. (line 1980)
+* BFD_RELOC_16C_REG16: howto manager. (line 1981)
+* BFD_RELOC_16C_REG16_C: howto manager. (line 1982)
+* BFD_RELOC_16C_REG20: howto manager. (line 1983)
+* BFD_RELOC_16C_REG20_C: howto manager. (line 1984)
* BFD_RELOC_23_PCREL_S2: howto manager. (line 108)
* BFD_RELOC_24: howto manager. (line 29)
* BFD_RELOC_24_PCREL: howto manager. (line 37)
@@ -10076,56 +10266,56 @@ BFD Index
* BFD_RELOC_386_TLS_LE_32: howto manager. (line 521)
* BFD_RELOC_386_TLS_TPOFF: howto manager. (line 513)
* BFD_RELOC_386_TLS_TPOFF32: howto manager. (line 524)
-* BFD_RELOC_390_12: howto manager. (line 1526)
-* BFD_RELOC_390_20: howto manager. (line 1626)
-* BFD_RELOC_390_COPY: howto manager. (line 1535)
-* BFD_RELOC_390_GLOB_DAT: howto manager. (line 1538)
-* BFD_RELOC_390_GOT12: howto manager. (line 1529)
-* BFD_RELOC_390_GOT16: howto manager. (line 1550)
-* BFD_RELOC_390_GOT20: howto manager. (line 1627)
-* BFD_RELOC_390_GOT64: howto manager. (line 1568)
-* BFD_RELOC_390_GOTENT: howto manager. (line 1574)
-* BFD_RELOC_390_GOTOFF64: howto manager. (line 1577)
-* BFD_RELOC_390_GOTPC: howto manager. (line 1547)
-* BFD_RELOC_390_GOTPCDBL: howto manager. (line 1565)
-* BFD_RELOC_390_GOTPLT12: howto manager. (line 1580)
-* BFD_RELOC_390_GOTPLT16: howto manager. (line 1583)
-* BFD_RELOC_390_GOTPLT20: howto manager. (line 1628)
-* BFD_RELOC_390_GOTPLT32: howto manager. (line 1586)
-* BFD_RELOC_390_GOTPLT64: howto manager. (line 1589)
-* BFD_RELOC_390_GOTPLTENT: howto manager. (line 1592)
-* BFD_RELOC_390_JMP_SLOT: howto manager. (line 1541)
-* BFD_RELOC_390_PC16DBL: howto manager. (line 1553)
-* BFD_RELOC_390_PC32DBL: howto manager. (line 1559)
-* BFD_RELOC_390_PLT16DBL: howto manager. (line 1556)
-* BFD_RELOC_390_PLT32: howto manager. (line 1532)
-* BFD_RELOC_390_PLT32DBL: howto manager. (line 1562)
-* BFD_RELOC_390_PLT64: howto manager. (line 1571)
-* BFD_RELOC_390_PLTOFF16: howto manager. (line 1595)
-* BFD_RELOC_390_PLTOFF32: howto manager. (line 1598)
-* BFD_RELOC_390_PLTOFF64: howto manager. (line 1601)
-* BFD_RELOC_390_RELATIVE: howto manager. (line 1544)
-* BFD_RELOC_390_TLS_DTPMOD: howto manager. (line 1621)
-* BFD_RELOC_390_TLS_DTPOFF: howto manager. (line 1622)
-* BFD_RELOC_390_TLS_GD32: howto manager. (line 1607)
-* BFD_RELOC_390_TLS_GD64: howto manager. (line 1608)
-* BFD_RELOC_390_TLS_GDCALL: howto manager. (line 1605)
-* BFD_RELOC_390_TLS_GOTIE12: howto manager. (line 1609)
-* BFD_RELOC_390_TLS_GOTIE20: howto manager. (line 1629)
-* BFD_RELOC_390_TLS_GOTIE32: howto manager. (line 1610)
-* BFD_RELOC_390_TLS_GOTIE64: howto manager. (line 1611)
-* BFD_RELOC_390_TLS_IE32: howto manager. (line 1614)
-* BFD_RELOC_390_TLS_IE64: howto manager. (line 1615)
-* BFD_RELOC_390_TLS_IEENT: howto manager. (line 1616)
-* BFD_RELOC_390_TLS_LDCALL: howto manager. (line 1606)
-* BFD_RELOC_390_TLS_LDM32: howto manager. (line 1612)
-* BFD_RELOC_390_TLS_LDM64: howto manager. (line 1613)
-* BFD_RELOC_390_TLS_LDO32: howto manager. (line 1619)
-* BFD_RELOC_390_TLS_LDO64: howto manager. (line 1620)
-* BFD_RELOC_390_TLS_LE32: howto manager. (line 1617)
-* BFD_RELOC_390_TLS_LE64: howto manager. (line 1618)
-* BFD_RELOC_390_TLS_LOAD: howto manager. (line 1604)
-* BFD_RELOC_390_TLS_TPOFF: howto manager. (line 1623)
+* BFD_RELOC_390_12: howto manager. (line 1645)
+* BFD_RELOC_390_20: howto manager. (line 1745)
+* BFD_RELOC_390_COPY: howto manager. (line 1654)
+* BFD_RELOC_390_GLOB_DAT: howto manager. (line 1657)
+* BFD_RELOC_390_GOT12: howto manager. (line 1648)
+* BFD_RELOC_390_GOT16: howto manager. (line 1669)
+* BFD_RELOC_390_GOT20: howto manager. (line 1746)
+* BFD_RELOC_390_GOT64: howto manager. (line 1687)
+* BFD_RELOC_390_GOTENT: howto manager. (line 1693)
+* BFD_RELOC_390_GOTOFF64: howto manager. (line 1696)
+* BFD_RELOC_390_GOTPC: howto manager. (line 1666)
+* BFD_RELOC_390_GOTPCDBL: howto manager. (line 1684)
+* BFD_RELOC_390_GOTPLT12: howto manager. (line 1699)
+* BFD_RELOC_390_GOTPLT16: howto manager. (line 1702)
+* BFD_RELOC_390_GOTPLT20: howto manager. (line 1747)
+* BFD_RELOC_390_GOTPLT32: howto manager. (line 1705)
+* BFD_RELOC_390_GOTPLT64: howto manager. (line 1708)
+* BFD_RELOC_390_GOTPLTENT: howto manager. (line 1711)
+* BFD_RELOC_390_JMP_SLOT: howto manager. (line 1660)
+* BFD_RELOC_390_PC16DBL: howto manager. (line 1672)
+* BFD_RELOC_390_PC32DBL: howto manager. (line 1678)
+* BFD_RELOC_390_PLT16DBL: howto manager. (line 1675)
+* BFD_RELOC_390_PLT32: howto manager. (line 1651)
+* BFD_RELOC_390_PLT32DBL: howto manager. (line 1681)
+* BFD_RELOC_390_PLT64: howto manager. (line 1690)
+* BFD_RELOC_390_PLTOFF16: howto manager. (line 1714)
+* BFD_RELOC_390_PLTOFF32: howto manager. (line 1717)
+* BFD_RELOC_390_PLTOFF64: howto manager. (line 1720)
+* BFD_RELOC_390_RELATIVE: howto manager. (line 1663)
+* BFD_RELOC_390_TLS_DTPMOD: howto manager. (line 1740)
+* BFD_RELOC_390_TLS_DTPOFF: howto manager. (line 1741)
+* BFD_RELOC_390_TLS_GD32: howto manager. (line 1726)
+* BFD_RELOC_390_TLS_GD64: howto manager. (line 1727)
+* BFD_RELOC_390_TLS_GDCALL: howto manager. (line 1724)
+* BFD_RELOC_390_TLS_GOTIE12: howto manager. (line 1728)
+* BFD_RELOC_390_TLS_GOTIE20: howto manager. (line 1748)
+* BFD_RELOC_390_TLS_GOTIE32: howto manager. (line 1729)
+* BFD_RELOC_390_TLS_GOTIE64: howto manager. (line 1730)
+* BFD_RELOC_390_TLS_IE32: howto manager. (line 1733)
+* BFD_RELOC_390_TLS_IE64: howto manager. (line 1734)
+* BFD_RELOC_390_TLS_IEENT: howto manager. (line 1735)
+* BFD_RELOC_390_TLS_LDCALL: howto manager. (line 1725)
+* BFD_RELOC_390_TLS_LDM32: howto manager. (line 1731)
+* BFD_RELOC_390_TLS_LDM64: howto manager. (line 1732)
+* BFD_RELOC_390_TLS_LDO32: howto manager. (line 1738)
+* BFD_RELOC_390_TLS_LDO64: howto manager. (line 1739)
+* BFD_RELOC_390_TLS_LE32: howto manager. (line 1736)
+* BFD_RELOC_390_TLS_LE64: howto manager. (line 1737)
+* BFD_RELOC_390_TLS_LOAD: howto manager. (line 1723)
+* BFD_RELOC_390_TLS_TPOFF: howto manager. (line 1742)
* BFD_RELOC_64: howto manager. (line 26)
* BFD_RELOC_64_PCREL: howto manager. (line 35)
* BFD_RELOC_64_PLT_PCREL: howto manager. (line 60)
@@ -10149,38 +10339,38 @@ BFD Index
* BFD_RELOC_68K_TLS_LE32: howto manager. (line 89)
* BFD_RELOC_68K_TLS_LE8: howto manager. (line 91)
* BFD_RELOC_8: howto manager. (line 32)
-* BFD_RELOC_860_COPY: howto manager. (line 1994)
-* BFD_RELOC_860_GLOB_DAT: howto manager. (line 1995)
-* BFD_RELOC_860_HAGOT: howto manager. (line 2020)
-* BFD_RELOC_860_HAGOTOFF: howto manager. (line 2021)
-* BFD_RELOC_860_HAPC: howto manager. (line 2022)
-* BFD_RELOC_860_HIGH: howto manager. (line 2023)
-* BFD_RELOC_860_HIGHADJ: howto manager. (line 2019)
-* BFD_RELOC_860_HIGOT: howto manager. (line 2024)
-* BFD_RELOC_860_HIGOTOFF: howto manager. (line 2025)
-* BFD_RELOC_860_JUMP_SLOT: howto manager. (line 1996)
-* BFD_RELOC_860_LOGOT0: howto manager. (line 2008)
-* BFD_RELOC_860_LOGOT1: howto manager. (line 2010)
-* BFD_RELOC_860_LOGOTOFF0: howto manager. (line 2012)
-* BFD_RELOC_860_LOGOTOFF1: howto manager. (line 2014)
-* BFD_RELOC_860_LOGOTOFF2: howto manager. (line 2016)
-* BFD_RELOC_860_LOGOTOFF3: howto manager. (line 2017)
-* BFD_RELOC_860_LOPC: howto manager. (line 2018)
-* BFD_RELOC_860_LOW0: howto manager. (line 2001)
-* BFD_RELOC_860_LOW1: howto manager. (line 2003)
-* BFD_RELOC_860_LOW2: howto manager. (line 2005)
-* BFD_RELOC_860_LOW3: howto manager. (line 2007)
-* BFD_RELOC_860_PC16: howto manager. (line 2000)
-* BFD_RELOC_860_PC26: howto manager. (line 1998)
-* BFD_RELOC_860_PLT26: howto manager. (line 1999)
-* BFD_RELOC_860_RELATIVE: howto manager. (line 1997)
-* BFD_RELOC_860_SPGOT0: howto manager. (line 2009)
-* BFD_RELOC_860_SPGOT1: howto manager. (line 2011)
-* BFD_RELOC_860_SPGOTOFF0: howto manager. (line 2013)
-* BFD_RELOC_860_SPGOTOFF1: howto manager. (line 2015)
-* BFD_RELOC_860_SPLIT0: howto manager. (line 2002)
-* BFD_RELOC_860_SPLIT1: howto manager. (line 2004)
-* BFD_RELOC_860_SPLIT2: howto manager. (line 2006)
+* BFD_RELOC_860_COPY: howto manager. (line 2113)
+* BFD_RELOC_860_GLOB_DAT: howto manager. (line 2114)
+* BFD_RELOC_860_HAGOT: howto manager. (line 2139)
+* BFD_RELOC_860_HAGOTOFF: howto manager. (line 2140)
+* BFD_RELOC_860_HAPC: howto manager. (line 2141)
+* BFD_RELOC_860_HIGH: howto manager. (line 2142)
+* BFD_RELOC_860_HIGHADJ: howto manager. (line 2138)
+* BFD_RELOC_860_HIGOT: howto manager. (line 2143)
+* BFD_RELOC_860_HIGOTOFF: howto manager. (line 2144)
+* BFD_RELOC_860_JUMP_SLOT: howto manager. (line 2115)
+* BFD_RELOC_860_LOGOT0: howto manager. (line 2127)
+* BFD_RELOC_860_LOGOT1: howto manager. (line 2129)
+* BFD_RELOC_860_LOGOTOFF0: howto manager. (line 2131)
+* BFD_RELOC_860_LOGOTOFF1: howto manager. (line 2133)
+* BFD_RELOC_860_LOGOTOFF2: howto manager. (line 2135)
+* BFD_RELOC_860_LOGOTOFF3: howto manager. (line 2136)
+* BFD_RELOC_860_LOPC: howto manager. (line 2137)
+* BFD_RELOC_860_LOW0: howto manager. (line 2120)
+* BFD_RELOC_860_LOW1: howto manager. (line 2122)
+* BFD_RELOC_860_LOW2: howto manager. (line 2124)
+* BFD_RELOC_860_LOW3: howto manager. (line 2126)
+* BFD_RELOC_860_PC16: howto manager. (line 2119)
+* BFD_RELOC_860_PC26: howto manager. (line 2117)
+* BFD_RELOC_860_PLT26: howto manager. (line 2118)
+* BFD_RELOC_860_RELATIVE: howto manager. (line 2116)
+* BFD_RELOC_860_SPGOT0: howto manager. (line 2128)
+* BFD_RELOC_860_SPGOT1: howto manager. (line 2130)
+* BFD_RELOC_860_SPGOTOFF0: howto manager. (line 2132)
+* BFD_RELOC_860_SPGOTOFF1: howto manager. (line 2134)
+* BFD_RELOC_860_SPLIT0: howto manager. (line 2121)
+* BFD_RELOC_860_SPLIT1: howto manager. (line 2123)
+* BFD_RELOC_860_SPLIT2: howto manager. (line 2125)
* BFD_RELOC_8_BASEREL: howto manager. (line 99)
* BFD_RELOC_8_FFnn: howto manager. (line 103)
* BFD_RELOC_8_GOT_PCREL: howto manager. (line 53)
@@ -10217,57 +10407,60 @@ BFD Index
* BFD_RELOC_ALPHA_TPREL64: howto manager. (line 328)
* BFD_RELOC_ALPHA_TPREL_HI16: howto manager. (line 329)
* BFD_RELOC_ALPHA_TPREL_LO16: howto manager. (line 330)
-* BFD_RELOC_ARC_B22_PCREL: howto manager. (line 936)
-* BFD_RELOC_ARC_B26: howto manager. (line 941)
-* BFD_RELOC_ARM_ADR_IMM: howto manager. (line 829)
-* BFD_RELOC_ARM_ADRL_IMMEDIATE: howto manager. (line 816)
-* BFD_RELOC_ARM_ALU_PC_G0: howto manager. (line 783)
-* BFD_RELOC_ARM_ALU_PC_G0_NC: howto manager. (line 782)
-* BFD_RELOC_ARM_ALU_PC_G1: howto manager. (line 785)
-* BFD_RELOC_ARM_ALU_PC_G1_NC: howto manager. (line 784)
-* BFD_RELOC_ARM_ALU_PC_G2: howto manager. (line 786)
-* BFD_RELOC_ARM_ALU_SB_G0: howto manager. (line 797)
-* BFD_RELOC_ARM_ALU_SB_G0_NC: howto manager. (line 796)
-* BFD_RELOC_ARM_ALU_SB_G1: howto manager. (line 799)
-* BFD_RELOC_ARM_ALU_SB_G1_NC: howto manager. (line 798)
-* BFD_RELOC_ARM_ALU_SB_G2: howto manager. (line 800)
-* BFD_RELOC_ARM_CP_OFF_IMM: howto manager. (line 825)
-* BFD_RELOC_ARM_CP_OFF_IMM_S2: howto manager. (line 826)
+* BFD_RELOC_ARC_B22_PCREL: howto manager. (line 954)
+* BFD_RELOC_ARC_B26: howto manager. (line 959)
+* BFD_RELOC_ARM_ADR_IMM: howto manager. (line 840)
+* BFD_RELOC_ARM_ADRL_IMMEDIATE: howto manager. (line 826)
+* BFD_RELOC_ARM_ALU_PC_G0: howto manager. (line 790)
+* BFD_RELOC_ARM_ALU_PC_G0_NC: howto manager. (line 789)
+* BFD_RELOC_ARM_ALU_PC_G1: howto manager. (line 792)
+* BFD_RELOC_ARM_ALU_PC_G1_NC: howto manager. (line 791)
+* BFD_RELOC_ARM_ALU_PC_G2: howto manager. (line 793)
+* BFD_RELOC_ARM_ALU_SB_G0: howto manager. (line 804)
+* BFD_RELOC_ARM_ALU_SB_G0_NC: howto manager. (line 803)
+* BFD_RELOC_ARM_ALU_SB_G1: howto manager. (line 806)
+* BFD_RELOC_ARM_ALU_SB_G1_NC: howto manager. (line 805)
+* BFD_RELOC_ARM_ALU_SB_G2: howto manager. (line 807)
+* BFD_RELOC_ARM_CP_OFF_IMM: howto manager. (line 836)
+* BFD_RELOC_ARM_CP_OFF_IMM_S2: howto manager. (line 837)
* BFD_RELOC_ARM_GLOB_DAT: howto manager. (line 764)
* BFD_RELOC_ARM_GOT32: howto manager. (line 765)
+* BFD_RELOC_ARM_GOT_PREL: howto manager. (line 770)
* BFD_RELOC_ARM_GOTOFF: howto manager. (line 768)
* BFD_RELOC_ARM_GOTPC: howto manager. (line 769)
-* BFD_RELOC_ARM_HWLITERAL: howto manager. (line 836)
-* BFD_RELOC_ARM_IMMEDIATE: howto manager. (line 815)
-* BFD_RELOC_ARM_IN_POOL: howto manager. (line 832)
+* BFD_RELOC_ARM_HVC: howto manager. (line 833)
+* BFD_RELOC_ARM_HWLITERAL: howto manager. (line 847)
+* BFD_RELOC_ARM_IMMEDIATE: howto manager. (line 825)
+* BFD_RELOC_ARM_IN_POOL: howto manager. (line 843)
+* BFD_RELOC_ARM_IRELATIVE: howto manager. (line 822)
* BFD_RELOC_ARM_JUMP_SLOT: howto manager. (line 763)
-* BFD_RELOC_ARM_LDC_PC_G0: howto manager. (line 793)
-* BFD_RELOC_ARM_LDC_PC_G1: howto manager. (line 794)
-* BFD_RELOC_ARM_LDC_PC_G2: howto manager. (line 795)
-* BFD_RELOC_ARM_LDC_SB_G0: howto manager. (line 807)
-* BFD_RELOC_ARM_LDC_SB_G1: howto manager. (line 808)
-* BFD_RELOC_ARM_LDC_SB_G2: howto manager. (line 809)
-* BFD_RELOC_ARM_LDR_IMM: howto manager. (line 830)
-* BFD_RELOC_ARM_LDR_PC_G0: howto manager. (line 787)
-* BFD_RELOC_ARM_LDR_PC_G1: howto manager. (line 788)
-* BFD_RELOC_ARM_LDR_PC_G2: howto manager. (line 789)
-* BFD_RELOC_ARM_LDR_SB_G0: howto manager. (line 801)
-* BFD_RELOC_ARM_LDR_SB_G1: howto manager. (line 802)
-* BFD_RELOC_ARM_LDR_SB_G2: howto manager. (line 803)
-* BFD_RELOC_ARM_LDRS_PC_G0: howto manager. (line 790)
-* BFD_RELOC_ARM_LDRS_PC_G1: howto manager. (line 791)
-* BFD_RELOC_ARM_LDRS_PC_G2: howto manager. (line 792)
-* BFD_RELOC_ARM_LDRS_SB_G0: howto manager. (line 804)
-* BFD_RELOC_ARM_LDRS_SB_G1: howto manager. (line 805)
-* BFD_RELOC_ARM_LDRS_SB_G2: howto manager. (line 806)
-* BFD_RELOC_ARM_LITERAL: howto manager. (line 831)
+* BFD_RELOC_ARM_LDC_PC_G0: howto manager. (line 800)
+* BFD_RELOC_ARM_LDC_PC_G1: howto manager. (line 801)
+* BFD_RELOC_ARM_LDC_PC_G2: howto manager. (line 802)
+* BFD_RELOC_ARM_LDC_SB_G0: howto manager. (line 814)
+* BFD_RELOC_ARM_LDC_SB_G1: howto manager. (line 815)
+* BFD_RELOC_ARM_LDC_SB_G2: howto manager. (line 816)
+* BFD_RELOC_ARM_LDR_IMM: howto manager. (line 841)
+* BFD_RELOC_ARM_LDR_PC_G0: howto manager. (line 794)
+* BFD_RELOC_ARM_LDR_PC_G1: howto manager. (line 795)
+* BFD_RELOC_ARM_LDR_PC_G2: howto manager. (line 796)
+* BFD_RELOC_ARM_LDR_SB_G0: howto manager. (line 808)
+* BFD_RELOC_ARM_LDR_SB_G1: howto manager. (line 809)
+* BFD_RELOC_ARM_LDR_SB_G2: howto manager. (line 810)
+* BFD_RELOC_ARM_LDRS_PC_G0: howto manager. (line 797)
+* BFD_RELOC_ARM_LDRS_PC_G1: howto manager. (line 798)
+* BFD_RELOC_ARM_LDRS_PC_G2: howto manager. (line 799)
+* BFD_RELOC_ARM_LDRS_SB_G0: howto manager. (line 811)
+* BFD_RELOC_ARM_LDRS_SB_G1: howto manager. (line 812)
+* BFD_RELOC_ARM_LDRS_SB_G2: howto manager. (line 813)
+* BFD_RELOC_ARM_LITERAL: howto manager. (line 842)
* BFD_RELOC_ARM_MOVT: howto manager. (line 754)
* BFD_RELOC_ARM_MOVT_PCREL: howto manager. (line 756)
* BFD_RELOC_ARM_MOVW: howto manager. (line 753)
* BFD_RELOC_ARM_MOVW_PCREL: howto manager. (line 755)
-* BFD_RELOC_ARM_MULTI: howto manager. (line 824)
+* BFD_RELOC_ARM_MULTI: howto manager. (line 835)
* BFD_RELOC_ARM_OFFSET_IMM: howto manager. (line 727)
-* BFD_RELOC_ARM_OFFSET_IMM8: howto manager. (line 833)
+* BFD_RELOC_ARM_OFFSET_IMM8: howto manager. (line 844)
* BFD_RELOC_ARM_PCREL_BLX: howto manager. (line 698)
* BFD_RELOC_ARM_PCREL_BRANCH: howto manager. (line 694)
* BFD_RELOC_ARM_PCREL_CALL: howto manager. (line 708)
@@ -10277,200 +10470,236 @@ BFD Index
* BFD_RELOC_ARM_RELATIVE: howto manager. (line 767)
* BFD_RELOC_ARM_ROSEGREL32: howto manager. (line 739)
* BFD_RELOC_ARM_SBREL32: howto manager. (line 742)
-* BFD_RELOC_ARM_SHIFT_IMM: howto manager. (line 821)
-* BFD_RELOC_ARM_SMC: howto manager. (line 822)
-* BFD_RELOC_ARM_SWI: howto manager. (line 823)
-* BFD_RELOC_ARM_T32_ADD_IMM: howto manager. (line 818)
-* BFD_RELOC_ARM_T32_ADD_PC12: howto manager. (line 820)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM: howto manager. (line 827)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2: howto manager. (line 828)
-* BFD_RELOC_ARM_T32_IMM12: howto manager. (line 819)
-* BFD_RELOC_ARM_T32_IMMEDIATE: howto manager. (line 817)
-* BFD_RELOC_ARM_T32_OFFSET_IMM: howto manager. (line 835)
-* BFD_RELOC_ARM_T32_OFFSET_U8: howto manager. (line 834)
+* BFD_RELOC_ARM_SHIFT_IMM: howto manager. (line 831)
+* BFD_RELOC_ARM_SMC: howto manager. (line 832)
+* BFD_RELOC_ARM_SWI: howto manager. (line 834)
+* BFD_RELOC_ARM_T32_ADD_IMM: howto manager. (line 828)
+* BFD_RELOC_ARM_T32_ADD_PC12: howto manager. (line 830)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM: howto manager. (line 838)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2: howto manager. (line 839)
+* BFD_RELOC_ARM_T32_IMM12: howto manager. (line 829)
+* BFD_RELOC_ARM_T32_IMMEDIATE: howto manager. (line 827)
+* BFD_RELOC_ARM_T32_OFFSET_IMM: howto manager. (line 846)
+* BFD_RELOC_ARM_T32_OFFSET_U8: howto manager. (line 845)
* BFD_RELOC_ARM_TARGET1: howto manager. (line 735)
* BFD_RELOC_ARM_TARGET2: howto manager. (line 745)
-* BFD_RELOC_ARM_THUMB_ADD: howto manager. (line 837)
-* BFD_RELOC_ARM_THUMB_IMM: howto manager. (line 838)
+* BFD_RELOC_ARM_THM_TLS_CALL: howto manager. (line 783)
+* BFD_RELOC_ARM_THM_TLS_DESCSEQ: howto manager. (line 785)
+* BFD_RELOC_ARM_THUMB_ADD: howto manager. (line 848)
+* BFD_RELOC_ARM_THUMB_IMM: howto manager. (line 849)
* BFD_RELOC_ARM_THUMB_MOVT: howto manager. (line 758)
* BFD_RELOC_ARM_THUMB_MOVT_PCREL: howto manager. (line 760)
* BFD_RELOC_ARM_THUMB_MOVW: howto manager. (line 757)
* BFD_RELOC_ARM_THUMB_MOVW_PCREL: howto manager. (line 759)
* BFD_RELOC_ARM_THUMB_OFFSET: howto manager. (line 731)
-* BFD_RELOC_ARM_THUMB_SHIFT: howto manager. (line 839)
-* BFD_RELOC_ARM_TLS_DTPMOD32: howto manager. (line 776)
-* BFD_RELOC_ARM_TLS_DTPOFF32: howto manager. (line 775)
-* BFD_RELOC_ARM_TLS_GD32: howto manager. (line 772)
-* BFD_RELOC_ARM_TLS_IE32: howto manager. (line 778)
-* BFD_RELOC_ARM_TLS_LDM32: howto manager. (line 774)
-* BFD_RELOC_ARM_TLS_LDO32: howto manager. (line 773)
-* BFD_RELOC_ARM_TLS_LE32: howto manager. (line 779)
-* BFD_RELOC_ARM_TLS_TPOFF32: howto manager. (line 777)
-* BFD_RELOC_ARM_V4BX: howto manager. (line 812)
-* BFD_RELOC_AVR_13_PCREL: howto manager. (line 1401)
-* BFD_RELOC_AVR_16_PM: howto manager. (line 1405)
-* BFD_RELOC_AVR_6: howto manager. (line 1492)
-* BFD_RELOC_AVR_6_ADIW: howto manager. (line 1496)
-* BFD_RELOC_AVR_7_PCREL: howto manager. (line 1397)
-* BFD_RELOC_AVR_CALL: howto manager. (line 1484)
-* BFD_RELOC_AVR_HH8_LDI: howto manager. (line 1417)
-* BFD_RELOC_AVR_HH8_LDI_NEG: howto manager. (line 1436)
-* BFD_RELOC_AVR_HH8_LDI_PM: howto manager. (line 1465)
-* BFD_RELOC_AVR_HH8_LDI_PM_NEG: howto manager. (line 1479)
-* BFD_RELOC_AVR_HI8_LDI: howto manager. (line 1413)
-* BFD_RELOC_AVR_HI8_LDI_GS: howto manager. (line 1459)
-* BFD_RELOC_AVR_HI8_LDI_NEG: howto manager. (line 1431)
-* BFD_RELOC_AVR_HI8_LDI_PM: howto manager. (line 1455)
-* BFD_RELOC_AVR_HI8_LDI_PM_NEG: howto manager. (line 1474)
-* BFD_RELOC_AVR_LDI: howto manager. (line 1488)
-* BFD_RELOC_AVR_LO8_LDI: howto manager. (line 1409)
-* BFD_RELOC_AVR_LO8_LDI_GS: howto manager. (line 1449)
-* BFD_RELOC_AVR_LO8_LDI_NEG: howto manager. (line 1426)
-* BFD_RELOC_AVR_LO8_LDI_PM: howto manager. (line 1445)
-* BFD_RELOC_AVR_LO8_LDI_PM_NEG: howto manager. (line 1470)
-* BFD_RELOC_AVR_MS8_LDI: howto manager. (line 1422)
-* BFD_RELOC_AVR_MS8_LDI_NEG: howto manager. (line 1441)
-* BFD_RELOC_BFIN_10_PCREL: howto manager. (line 961)
-* BFD_RELOC_BFIN_11_PCREL: howto manager. (line 964)
-* BFD_RELOC_BFIN_12_PCREL_JUMP: howto manager. (line 967)
-* BFD_RELOC_BFIN_12_PCREL_JUMP_S: howto manager. (line 970)
-* BFD_RELOC_BFIN_16_HIGH: howto manager. (line 949)
-* BFD_RELOC_BFIN_16_IMM: howto manager. (line 946)
-* BFD_RELOC_BFIN_16_LOW: howto manager. (line 958)
-* BFD_RELOC_BFIN_24_PCREL_CALL_X: howto manager. (line 973)
-* BFD_RELOC_BFIN_24_PCREL_JUMP_L: howto manager. (line 976)
-* BFD_RELOC_BFIN_4_PCREL: howto manager. (line 952)
-* BFD_RELOC_BFIN_5_PCREL: howto manager. (line 955)
-* BFD_RELOC_BFIN_FUNCDESC: howto manager. (line 982)
-* BFD_RELOC_BFIN_FUNCDESC_GOT17M4: howto manager. (line 983)
-* BFD_RELOC_BFIN_FUNCDESC_GOTHI: howto manager. (line 984)
-* BFD_RELOC_BFIN_FUNCDESC_GOTLO: howto manager. (line 985)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4: howto manager. (line 987)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI: howto manager. (line 988)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO: howto manager. (line 989)
-* BFD_RELOC_BFIN_FUNCDESC_VALUE: howto manager. (line 986)
-* BFD_RELOC_BFIN_GOT: howto manager. (line 995)
-* BFD_RELOC_BFIN_GOT17M4: howto manager. (line 979)
-* BFD_RELOC_BFIN_GOTHI: howto manager. (line 980)
-* BFD_RELOC_BFIN_GOTLO: howto manager. (line 981)
-* BFD_RELOC_BFIN_GOTOFF17M4: howto manager. (line 990)
-* BFD_RELOC_BFIN_GOTOFFHI: howto manager. (line 991)
-* BFD_RELOC_BFIN_GOTOFFLO: howto manager. (line 992)
-* BFD_RELOC_BFIN_PLTPC: howto manager. (line 998)
+* BFD_RELOC_ARM_THUMB_SHIFT: howto manager. (line 850)
+* BFD_RELOC_ARM_TLS_CALL: howto manager. (line 782)
+* BFD_RELOC_ARM_TLS_DESC: howto manager. (line 786)
+* BFD_RELOC_ARM_TLS_DESCSEQ: howto manager. (line 784)
+* BFD_RELOC_ARM_TLS_DTPMOD32: howto manager. (line 777)
+* BFD_RELOC_ARM_TLS_DTPOFF32: howto manager. (line 776)
+* BFD_RELOC_ARM_TLS_GD32: howto manager. (line 773)
+* BFD_RELOC_ARM_TLS_GOTDESC: howto manager. (line 781)
+* BFD_RELOC_ARM_TLS_IE32: howto manager. (line 779)
+* BFD_RELOC_ARM_TLS_LDM32: howto manager. (line 775)
+* BFD_RELOC_ARM_TLS_LDO32: howto manager. (line 774)
+* BFD_RELOC_ARM_TLS_LE32: howto manager. (line 780)
+* BFD_RELOC_ARM_TLS_TPOFF32: howto manager. (line 778)
+* BFD_RELOC_ARM_V4BX: howto manager. (line 819)
+* BFD_RELOC_AVR_13_PCREL: howto manager. (line 1517)
+* BFD_RELOC_AVR_16_PM: howto manager. (line 1521)
+* BFD_RELOC_AVR_6: howto manager. (line 1608)
+* BFD_RELOC_AVR_6_ADIW: howto manager. (line 1612)
+* BFD_RELOC_AVR_7_PCREL: howto manager. (line 1513)
+* BFD_RELOC_AVR_CALL: howto manager. (line 1600)
+* BFD_RELOC_AVR_HH8_LDI: howto manager. (line 1533)
+* BFD_RELOC_AVR_HH8_LDI_NEG: howto manager. (line 1552)
+* BFD_RELOC_AVR_HH8_LDI_PM: howto manager. (line 1581)
+* BFD_RELOC_AVR_HH8_LDI_PM_NEG: howto manager. (line 1595)
+* BFD_RELOC_AVR_HI8_LDI: howto manager. (line 1529)
+* BFD_RELOC_AVR_HI8_LDI_GS: howto manager. (line 1575)
+* BFD_RELOC_AVR_HI8_LDI_NEG: howto manager. (line 1547)
+* BFD_RELOC_AVR_HI8_LDI_PM: howto manager. (line 1571)
+* BFD_RELOC_AVR_HI8_LDI_PM_NEG: howto manager. (line 1590)
+* BFD_RELOC_AVR_LDI: howto manager. (line 1604)
+* BFD_RELOC_AVR_LO8_LDI: howto manager. (line 1525)
+* BFD_RELOC_AVR_LO8_LDI_GS: howto manager. (line 1565)
+* BFD_RELOC_AVR_LO8_LDI_NEG: howto manager. (line 1542)
+* BFD_RELOC_AVR_LO8_LDI_PM: howto manager. (line 1561)
+* BFD_RELOC_AVR_LO8_LDI_PM_NEG: howto manager. (line 1586)
+* BFD_RELOC_AVR_MS8_LDI: howto manager. (line 1538)
+* BFD_RELOC_AVR_MS8_LDI_NEG: howto manager. (line 1557)
+* BFD_RELOC_BFIN_10_PCREL: howto manager. (line 979)
+* BFD_RELOC_BFIN_11_PCREL: howto manager. (line 982)
+* BFD_RELOC_BFIN_12_PCREL_JUMP: howto manager. (line 985)
+* BFD_RELOC_BFIN_12_PCREL_JUMP_S: howto manager. (line 988)
+* BFD_RELOC_BFIN_16_HIGH: howto manager. (line 967)
+* BFD_RELOC_BFIN_16_IMM: howto manager. (line 964)
+* BFD_RELOC_BFIN_16_LOW: howto manager. (line 976)
+* BFD_RELOC_BFIN_24_PCREL_CALL_X: howto manager. (line 991)
+* BFD_RELOC_BFIN_24_PCREL_JUMP_L: howto manager. (line 994)
+* BFD_RELOC_BFIN_4_PCREL: howto manager. (line 970)
+* BFD_RELOC_BFIN_5_PCREL: howto manager. (line 973)
+* BFD_RELOC_BFIN_FUNCDESC: howto manager. (line 1000)
+* BFD_RELOC_BFIN_FUNCDESC_GOT17M4: howto manager. (line 1001)
+* BFD_RELOC_BFIN_FUNCDESC_GOTHI: howto manager. (line 1002)
+* BFD_RELOC_BFIN_FUNCDESC_GOTLO: howto manager. (line 1003)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4: howto manager. (line 1005)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI: howto manager. (line 1006)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO: howto manager. (line 1007)
+* BFD_RELOC_BFIN_FUNCDESC_VALUE: howto manager. (line 1004)
+* BFD_RELOC_BFIN_GOT: howto manager. (line 1013)
+* BFD_RELOC_BFIN_GOT17M4: howto manager. (line 997)
+* BFD_RELOC_BFIN_GOTHI: howto manager. (line 998)
+* BFD_RELOC_BFIN_GOTLO: howto manager. (line 999)
+* BFD_RELOC_BFIN_GOTOFF17M4: howto manager. (line 1008)
+* BFD_RELOC_BFIN_GOTOFFHI: howto manager. (line 1009)
+* BFD_RELOC_BFIN_GOTOFFLO: howto manager. (line 1010)
+* BFD_RELOC_BFIN_PLTPC: howto manager. (line 1016)
+* BFD_RELOC_C6000_ABS_H16: howto manager. (line 1376)
+* BFD_RELOC_C6000_ABS_L16: howto manager. (line 1375)
+* BFD_RELOC_C6000_ABS_S16: howto manager. (line 1374)
+* BFD_RELOC_C6000_ALIGN: howto manager. (line 1397)
+* BFD_RELOC_C6000_COPY: howto manager. (line 1392)
+* BFD_RELOC_C6000_DSBT_INDEX: howto manager. (line 1390)
+* BFD_RELOC_C6000_EHTYPE: howto manager. (line 1394)
+* BFD_RELOC_C6000_FPHEAD: howto manager. (line 1398)
+* BFD_RELOC_C6000_JUMP_SLOT: howto manager. (line 1393)
+* BFD_RELOC_C6000_NOCMP: howto manager. (line 1399)
+* BFD_RELOC_C6000_PCR_H16: howto manager. (line 1395)
+* BFD_RELOC_C6000_PCR_L16: howto manager. (line 1396)
+* BFD_RELOC_C6000_PCR_S10: howto manager. (line 1372)
+* BFD_RELOC_C6000_PCR_S12: howto manager. (line 1371)
+* BFD_RELOC_C6000_PCR_S21: howto manager. (line 1370)
+* BFD_RELOC_C6000_PCR_S7: howto manager. (line 1373)
+* BFD_RELOC_C6000_PREL31: howto manager. (line 1391)
+* BFD_RELOC_C6000_SBR_GOT_H16_W: howto manager. (line 1389)
+* BFD_RELOC_C6000_SBR_GOT_L16_W: howto manager. (line 1388)
+* BFD_RELOC_C6000_SBR_GOT_U15_W: howto manager. (line 1387)
+* BFD_RELOC_C6000_SBR_H16_B: howto manager. (line 1384)
+* BFD_RELOC_C6000_SBR_H16_H: howto manager. (line 1385)
+* BFD_RELOC_C6000_SBR_H16_W: howto manager. (line 1386)
+* BFD_RELOC_C6000_SBR_L16_B: howto manager. (line 1381)
+* BFD_RELOC_C6000_SBR_L16_H: howto manager. (line 1382)
+* BFD_RELOC_C6000_SBR_L16_W: howto manager. (line 1383)
+* BFD_RELOC_C6000_SBR_S16: howto manager. (line 1380)
+* BFD_RELOC_C6000_SBR_U15_B: howto manager. (line 1377)
+* BFD_RELOC_C6000_SBR_U15_H: howto manager. (line 1378)
+* BFD_RELOC_C6000_SBR_U15_W: howto manager. (line 1379)
* bfd_reloc_code_type: howto manager. (line 10)
-* BFD_RELOC_CR16_ABS20: howto manager. (line 1894)
-* BFD_RELOC_CR16_ABS24: howto manager. (line 1895)
-* BFD_RELOC_CR16_DISP16: howto manager. (line 1905)
-* BFD_RELOC_CR16_DISP20: howto manager. (line 1906)
-* BFD_RELOC_CR16_DISP24: howto manager. (line 1907)
-* BFD_RELOC_CR16_DISP24a: howto manager. (line 1908)
-* BFD_RELOC_CR16_DISP4: howto manager. (line 1903)
-* BFD_RELOC_CR16_DISP8: howto manager. (line 1904)
-* BFD_RELOC_CR16_GLOB_DAT: howto manager. (line 1914)
-* BFD_RELOC_CR16_GOT_REGREL20: howto manager. (line 1912)
-* BFD_RELOC_CR16_GOTC_REGREL20: howto manager. (line 1913)
-* BFD_RELOC_CR16_IMM16: howto manager. (line 1898)
-* BFD_RELOC_CR16_IMM20: howto manager. (line 1899)
-* BFD_RELOC_CR16_IMM24: howto manager. (line 1900)
-* BFD_RELOC_CR16_IMM32: howto manager. (line 1901)
-* BFD_RELOC_CR16_IMM32a: howto manager. (line 1902)
-* BFD_RELOC_CR16_IMM4: howto manager. (line 1896)
-* BFD_RELOC_CR16_IMM8: howto manager. (line 1897)
-* BFD_RELOC_CR16_NUM16: howto manager. (line 1883)
-* BFD_RELOC_CR16_NUM32: howto manager. (line 1884)
-* BFD_RELOC_CR16_NUM32a: howto manager. (line 1885)
-* BFD_RELOC_CR16_NUM8: howto manager. (line 1882)
-* BFD_RELOC_CR16_REGREL0: howto manager. (line 1886)
-* BFD_RELOC_CR16_REGREL14: howto manager. (line 1889)
-* BFD_RELOC_CR16_REGREL14a: howto manager. (line 1890)
-* BFD_RELOC_CR16_REGREL16: howto manager. (line 1891)
-* BFD_RELOC_CR16_REGREL20: howto manager. (line 1892)
-* BFD_RELOC_CR16_REGREL20a: howto manager. (line 1893)
-* BFD_RELOC_CR16_REGREL4: howto manager. (line 1887)
-* BFD_RELOC_CR16_REGREL4a: howto manager. (line 1888)
-* BFD_RELOC_CR16_SWITCH16: howto manager. (line 1910)
-* BFD_RELOC_CR16_SWITCH32: howto manager. (line 1911)
-* BFD_RELOC_CR16_SWITCH8: howto manager. (line 1909)
-* BFD_RELOC_CRIS_16_DTPREL: howto manager. (line 1985)
-* BFD_RELOC_CRIS_16_GOT: howto manager. (line 1961)
-* BFD_RELOC_CRIS_16_GOT_GD: howto manager. (line 1981)
-* BFD_RELOC_CRIS_16_GOT_TPREL: howto manager. (line 1987)
-* BFD_RELOC_CRIS_16_GOTPLT: howto manager. (line 1967)
-* BFD_RELOC_CRIS_16_TPREL: howto manager. (line 1989)
-* BFD_RELOC_CRIS_32_DTPREL: howto manager. (line 1984)
-* BFD_RELOC_CRIS_32_GD: howto manager. (line 1982)
-* BFD_RELOC_CRIS_32_GOT: howto manager. (line 1958)
-* BFD_RELOC_CRIS_32_GOT_GD: howto manager. (line 1980)
-* BFD_RELOC_CRIS_32_GOT_TPREL: howto manager. (line 1986)
-* BFD_RELOC_CRIS_32_GOTPLT: howto manager. (line 1964)
-* BFD_RELOC_CRIS_32_GOTREL: howto manager. (line 1970)
-* BFD_RELOC_CRIS_32_IE: howto manager. (line 1991)
-* BFD_RELOC_CRIS_32_PLT_GOTREL: howto manager. (line 1973)
-* BFD_RELOC_CRIS_32_PLT_PCREL: howto manager. (line 1976)
-* BFD_RELOC_CRIS_32_TPREL: howto manager. (line 1988)
-* BFD_RELOC_CRIS_BDISP8: howto manager. (line 1939)
-* BFD_RELOC_CRIS_COPY: howto manager. (line 1952)
-* BFD_RELOC_CRIS_DTP: howto manager. (line 1983)
-* BFD_RELOC_CRIS_DTPMOD: howto manager. (line 1990)
-* BFD_RELOC_CRIS_GLOB_DAT: howto manager. (line 1953)
-* BFD_RELOC_CRIS_JUMP_SLOT: howto manager. (line 1954)
-* BFD_RELOC_CRIS_LAPCQ_OFFSET: howto manager. (line 1947)
-* BFD_RELOC_CRIS_RELATIVE: howto manager. (line 1955)
-* BFD_RELOC_CRIS_SIGNED_16: howto manager. (line 1945)
-* BFD_RELOC_CRIS_SIGNED_6: howto manager. (line 1941)
-* BFD_RELOC_CRIS_SIGNED_8: howto manager. (line 1943)
-* BFD_RELOC_CRIS_UNSIGNED_16: howto manager. (line 1946)
-* BFD_RELOC_CRIS_UNSIGNED_4: howto manager. (line 1948)
-* BFD_RELOC_CRIS_UNSIGNED_5: howto manager. (line 1940)
-* BFD_RELOC_CRIS_UNSIGNED_6: howto manager. (line 1942)
-* BFD_RELOC_CRIS_UNSIGNED_8: howto manager. (line 1944)
-* BFD_RELOC_CRX_ABS16: howto manager. (line 1927)
-* BFD_RELOC_CRX_ABS32: howto manager. (line 1928)
-* BFD_RELOC_CRX_IMM16: howto manager. (line 1932)
-* BFD_RELOC_CRX_IMM32: howto manager. (line 1933)
-* BFD_RELOC_CRX_NUM16: howto manager. (line 1930)
-* BFD_RELOC_CRX_NUM32: howto manager. (line 1931)
-* BFD_RELOC_CRX_NUM8: howto manager. (line 1929)
-* BFD_RELOC_CRX_REGREL12: howto manager. (line 1923)
-* BFD_RELOC_CRX_REGREL22: howto manager. (line 1924)
-* BFD_RELOC_CRX_REGREL28: howto manager. (line 1925)
-* BFD_RELOC_CRX_REGREL32: howto manager. (line 1926)
-* BFD_RELOC_CRX_REL16: howto manager. (line 1920)
-* BFD_RELOC_CRX_REL24: howto manager. (line 1921)
-* BFD_RELOC_CRX_REL32: howto manager. (line 1922)
-* BFD_RELOC_CRX_REL4: howto manager. (line 1917)
-* BFD_RELOC_CRX_REL8: howto manager. (line 1918)
-* BFD_RELOC_CRX_REL8_CMP: howto manager. (line 1919)
-* BFD_RELOC_CRX_SWITCH16: howto manager. (line 1935)
-* BFD_RELOC_CRX_SWITCH32: howto manager. (line 1936)
-* BFD_RELOC_CRX_SWITCH8: howto manager. (line 1934)
+* BFD_RELOC_CR16_ABS20: howto manager. (line 2013)
+* BFD_RELOC_CR16_ABS24: howto manager. (line 2014)
+* BFD_RELOC_CR16_DISP16: howto manager. (line 2024)
+* BFD_RELOC_CR16_DISP20: howto manager. (line 2025)
+* BFD_RELOC_CR16_DISP24: howto manager. (line 2026)
+* BFD_RELOC_CR16_DISP24a: howto manager. (line 2027)
+* BFD_RELOC_CR16_DISP4: howto manager. (line 2022)
+* BFD_RELOC_CR16_DISP8: howto manager. (line 2023)
+* BFD_RELOC_CR16_GLOB_DAT: howto manager. (line 2033)
+* BFD_RELOC_CR16_GOT_REGREL20: howto manager. (line 2031)
+* BFD_RELOC_CR16_GOTC_REGREL20: howto manager. (line 2032)
+* BFD_RELOC_CR16_IMM16: howto manager. (line 2017)
+* BFD_RELOC_CR16_IMM20: howto manager. (line 2018)
+* BFD_RELOC_CR16_IMM24: howto manager. (line 2019)
+* BFD_RELOC_CR16_IMM32: howto manager. (line 2020)
+* BFD_RELOC_CR16_IMM32a: howto manager. (line 2021)
+* BFD_RELOC_CR16_IMM4: howto manager. (line 2015)
+* BFD_RELOC_CR16_IMM8: howto manager. (line 2016)
+* BFD_RELOC_CR16_NUM16: howto manager. (line 2002)
+* BFD_RELOC_CR16_NUM32: howto manager. (line 2003)
+* BFD_RELOC_CR16_NUM32a: howto manager. (line 2004)
+* BFD_RELOC_CR16_NUM8: howto manager. (line 2001)
+* BFD_RELOC_CR16_REGREL0: howto manager. (line 2005)
+* BFD_RELOC_CR16_REGREL14: howto manager. (line 2008)
+* BFD_RELOC_CR16_REGREL14a: howto manager. (line 2009)
+* BFD_RELOC_CR16_REGREL16: howto manager. (line 2010)
+* BFD_RELOC_CR16_REGREL20: howto manager. (line 2011)
+* BFD_RELOC_CR16_REGREL20a: howto manager. (line 2012)
+* BFD_RELOC_CR16_REGREL4: howto manager. (line 2006)
+* BFD_RELOC_CR16_REGREL4a: howto manager. (line 2007)
+* BFD_RELOC_CR16_SWITCH16: howto manager. (line 2029)
+* BFD_RELOC_CR16_SWITCH32: howto manager. (line 2030)
+* BFD_RELOC_CR16_SWITCH8: howto manager. (line 2028)
+* BFD_RELOC_CRIS_16_DTPREL: howto manager. (line 2104)
+* BFD_RELOC_CRIS_16_GOT: howto manager. (line 2080)
+* BFD_RELOC_CRIS_16_GOT_GD: howto manager. (line 2100)
+* BFD_RELOC_CRIS_16_GOT_TPREL: howto manager. (line 2106)
+* BFD_RELOC_CRIS_16_GOTPLT: howto manager. (line 2086)
+* BFD_RELOC_CRIS_16_TPREL: howto manager. (line 2108)
+* BFD_RELOC_CRIS_32_DTPREL: howto manager. (line 2103)
+* BFD_RELOC_CRIS_32_GD: howto manager. (line 2101)
+* BFD_RELOC_CRIS_32_GOT: howto manager. (line 2077)
+* BFD_RELOC_CRIS_32_GOT_GD: howto manager. (line 2099)
+* BFD_RELOC_CRIS_32_GOT_TPREL: howto manager. (line 2105)
+* BFD_RELOC_CRIS_32_GOTPLT: howto manager. (line 2083)
+* BFD_RELOC_CRIS_32_GOTREL: howto manager. (line 2089)
+* BFD_RELOC_CRIS_32_IE: howto manager. (line 2110)
+* BFD_RELOC_CRIS_32_PLT_GOTREL: howto manager. (line 2092)
+* BFD_RELOC_CRIS_32_PLT_PCREL: howto manager. (line 2095)
+* BFD_RELOC_CRIS_32_TPREL: howto manager. (line 2107)
+* BFD_RELOC_CRIS_BDISP8: howto manager. (line 2058)
+* BFD_RELOC_CRIS_COPY: howto manager. (line 2071)
+* BFD_RELOC_CRIS_DTP: howto manager. (line 2102)
+* BFD_RELOC_CRIS_DTPMOD: howto manager. (line 2109)
+* BFD_RELOC_CRIS_GLOB_DAT: howto manager. (line 2072)
+* BFD_RELOC_CRIS_JUMP_SLOT: howto manager. (line 2073)
+* BFD_RELOC_CRIS_LAPCQ_OFFSET: howto manager. (line 2066)
+* BFD_RELOC_CRIS_RELATIVE: howto manager. (line 2074)
+* BFD_RELOC_CRIS_SIGNED_16: howto manager. (line 2064)
+* BFD_RELOC_CRIS_SIGNED_6: howto manager. (line 2060)
+* BFD_RELOC_CRIS_SIGNED_8: howto manager. (line 2062)
+* BFD_RELOC_CRIS_UNSIGNED_16: howto manager. (line 2065)
+* BFD_RELOC_CRIS_UNSIGNED_4: howto manager. (line 2067)
+* BFD_RELOC_CRIS_UNSIGNED_5: howto manager. (line 2059)
+* BFD_RELOC_CRIS_UNSIGNED_6: howto manager. (line 2061)
+* BFD_RELOC_CRIS_UNSIGNED_8: howto manager. (line 2063)
+* BFD_RELOC_CRX_ABS16: howto manager. (line 2046)
+* BFD_RELOC_CRX_ABS32: howto manager. (line 2047)
+* BFD_RELOC_CRX_IMM16: howto manager. (line 2051)
+* BFD_RELOC_CRX_IMM32: howto manager. (line 2052)
+* BFD_RELOC_CRX_NUM16: howto manager. (line 2049)
+* BFD_RELOC_CRX_NUM32: howto manager. (line 2050)
+* BFD_RELOC_CRX_NUM8: howto manager. (line 2048)
+* BFD_RELOC_CRX_REGREL12: howto manager. (line 2042)
+* BFD_RELOC_CRX_REGREL22: howto manager. (line 2043)
+* BFD_RELOC_CRX_REGREL28: howto manager. (line 2044)
+* BFD_RELOC_CRX_REGREL32: howto manager. (line 2045)
+* BFD_RELOC_CRX_REL16: howto manager. (line 2039)
+* BFD_RELOC_CRX_REL24: howto manager. (line 2040)
+* BFD_RELOC_CRX_REL32: howto manager. (line 2041)
+* BFD_RELOC_CRX_REL4: howto manager. (line 2036)
+* BFD_RELOC_CRX_REL8: howto manager. (line 2037)
+* BFD_RELOC_CRX_REL8_CMP: howto manager. (line 2038)
+* BFD_RELOC_CRX_SWITCH16: howto manager. (line 2054)
+* BFD_RELOC_CRX_SWITCH32: howto manager. (line 2055)
+* BFD_RELOC_CRX_SWITCH8: howto manager. (line 2053)
* BFD_RELOC_CTOR: howto manager. (line 688)
-* BFD_RELOC_D10V_10_PCREL_L: howto manager. (line 1065)
-* BFD_RELOC_D10V_10_PCREL_R: howto manager. (line 1061)
-* BFD_RELOC_D10V_18: howto manager. (line 1070)
-* BFD_RELOC_D10V_18_PCREL: howto manager. (line 1073)
-* BFD_RELOC_D30V_15: howto manager. (line 1088)
-* BFD_RELOC_D30V_15_PCREL: howto manager. (line 1092)
-* BFD_RELOC_D30V_15_PCREL_R: howto manager. (line 1096)
-* BFD_RELOC_D30V_21: howto manager. (line 1101)
-* BFD_RELOC_D30V_21_PCREL: howto manager. (line 1105)
-* BFD_RELOC_D30V_21_PCREL_R: howto manager. (line 1109)
-* BFD_RELOC_D30V_32: howto manager. (line 1114)
-* BFD_RELOC_D30V_32_PCREL: howto manager. (line 1117)
-* BFD_RELOC_D30V_6: howto manager. (line 1076)
-* BFD_RELOC_D30V_9_PCREL: howto manager. (line 1079)
-* BFD_RELOC_D30V_9_PCREL_R: howto manager. (line 1083)
-* BFD_RELOC_DLX_HI16_S: howto manager. (line 1120)
-* BFD_RELOC_DLX_JMP26: howto manager. (line 1126)
-* BFD_RELOC_DLX_LO16: howto manager. (line 1123)
-* BFD_RELOC_FR30_10_IN_8: howto manager. (line 1305)
-* BFD_RELOC_FR30_12_PCREL: howto manager. (line 1313)
-* BFD_RELOC_FR30_20: howto manager. (line 1289)
-* BFD_RELOC_FR30_48: howto manager. (line 1286)
-* BFD_RELOC_FR30_6_IN_4: howto manager. (line 1293)
-* BFD_RELOC_FR30_8_IN_8: howto manager. (line 1297)
-* BFD_RELOC_FR30_9_IN_8: howto manager. (line 1301)
-* BFD_RELOC_FR30_9_PCREL: howto manager. (line 1309)
+* BFD_RELOC_D10V_10_PCREL_L: howto manager. (line 1083)
+* BFD_RELOC_D10V_10_PCREL_R: howto manager. (line 1079)
+* BFD_RELOC_D10V_18: howto manager. (line 1088)
+* BFD_RELOC_D10V_18_PCREL: howto manager. (line 1091)
+* BFD_RELOC_D30V_15: howto manager. (line 1106)
+* BFD_RELOC_D30V_15_PCREL: howto manager. (line 1110)
+* BFD_RELOC_D30V_15_PCREL_R: howto manager. (line 1114)
+* BFD_RELOC_D30V_21: howto manager. (line 1119)
+* BFD_RELOC_D30V_21_PCREL: howto manager. (line 1123)
+* BFD_RELOC_D30V_21_PCREL_R: howto manager. (line 1127)
+* BFD_RELOC_D30V_32: howto manager. (line 1132)
+* BFD_RELOC_D30V_32_PCREL: howto manager. (line 1135)
+* BFD_RELOC_D30V_6: howto manager. (line 1094)
+* BFD_RELOC_D30V_9_PCREL: howto manager. (line 1097)
+* BFD_RELOC_D30V_9_PCREL_R: howto manager. (line 1101)
+* BFD_RELOC_DLX_HI16_S: howto manager. (line 1138)
+* BFD_RELOC_DLX_JMP26: howto manager. (line 1144)
+* BFD_RELOC_DLX_LO16: howto manager. (line 1141)
+* BFD_RELOC_FR30_10_IN_8: howto manager. (line 1421)
+* BFD_RELOC_FR30_12_PCREL: howto manager. (line 1429)
+* BFD_RELOC_FR30_20: howto manager. (line 1405)
+* BFD_RELOC_FR30_48: howto manager. (line 1402)
+* BFD_RELOC_FR30_6_IN_4: howto manager. (line 1409)
+* BFD_RELOC_FR30_8_IN_8: howto manager. (line 1413)
+* BFD_RELOC_FR30_9_IN_8: howto manager. (line 1417)
+* BFD_RELOC_FR30_9_PCREL: howto manager. (line 1425)
* BFD_RELOC_FRV_FUNCDESC: howto manager. (line 440)
* BFD_RELOC_FRV_FUNCDESC_GOT12: howto manager. (line 441)
* BFD_RELOC_FRV_FUNCDESC_GOTHI: howto manager. (line 442)
@@ -10512,11 +10741,11 @@ BFD Index
* BFD_RELOC_FRV_TLSOFF_RELAX: howto manager. (line 465)
* BFD_RELOC_GPREL16: howto manager. (line 121)
* BFD_RELOC_GPREL32: howto manager. (line 122)
-* BFD_RELOC_H8_DIR16A8: howto manager. (line 2032)
-* BFD_RELOC_H8_DIR16R8: howto manager. (line 2033)
-* BFD_RELOC_H8_DIR24A8: howto manager. (line 2034)
-* BFD_RELOC_H8_DIR24R8: howto manager. (line 2035)
-* BFD_RELOC_H8_DIR32A16: howto manager. (line 2036)
+* BFD_RELOC_H8_DIR16A8: howto manager. (line 2151)
+* BFD_RELOC_H8_DIR16R8: howto manager. (line 2152)
+* BFD_RELOC_H8_DIR24A8: howto manager. (line 2153)
+* BFD_RELOC_H8_DIR24R8: howto manager. (line 2154)
+* BFD_RELOC_H8_DIR32A16: howto manager. (line 2155)
* BFD_RELOC_HI16: howto manager. (line 344)
* BFD_RELOC_HI16_BASEREL: howto manager. (line 97)
* BFD_RELOC_HI16_GOTOFF: howto manager. (line 57)
@@ -10530,202 +10759,202 @@ BFD Index
* BFD_RELOC_HI22: howto manager. (line 116)
* BFD_RELOC_I370_D12: howto manager. (line 685)
* BFD_RELOC_I960_CALLJ: howto manager. (line 128)
-* BFD_RELOC_IA64_COPY: howto manager. (line 1776)
-* BFD_RELOC_IA64_DIR32LSB: howto manager. (line 1721)
-* BFD_RELOC_IA64_DIR32MSB: howto manager. (line 1720)
-* BFD_RELOC_IA64_DIR64LSB: howto manager. (line 1723)
-* BFD_RELOC_IA64_DIR64MSB: howto manager. (line 1722)
-* BFD_RELOC_IA64_DTPMOD64LSB: howto manager. (line 1786)
-* BFD_RELOC_IA64_DTPMOD64MSB: howto manager. (line 1785)
-* BFD_RELOC_IA64_DTPREL14: howto manager. (line 1788)
-* BFD_RELOC_IA64_DTPREL22: howto manager. (line 1789)
-* BFD_RELOC_IA64_DTPREL32LSB: howto manager. (line 1792)
-* BFD_RELOC_IA64_DTPREL32MSB: howto manager. (line 1791)
-* BFD_RELOC_IA64_DTPREL64I: howto manager. (line 1790)
-* BFD_RELOC_IA64_DTPREL64LSB: howto manager. (line 1794)
-* BFD_RELOC_IA64_DTPREL64MSB: howto manager. (line 1793)
-* BFD_RELOC_IA64_FPTR32LSB: howto manager. (line 1738)
-* BFD_RELOC_IA64_FPTR32MSB: howto manager. (line 1737)
-* BFD_RELOC_IA64_FPTR64I: howto manager. (line 1736)
-* BFD_RELOC_IA64_FPTR64LSB: howto manager. (line 1740)
-* BFD_RELOC_IA64_FPTR64MSB: howto manager. (line 1739)
-* BFD_RELOC_IA64_GPREL22: howto manager. (line 1724)
-* BFD_RELOC_IA64_GPREL32LSB: howto manager. (line 1727)
-* BFD_RELOC_IA64_GPREL32MSB: howto manager. (line 1726)
-* BFD_RELOC_IA64_GPREL64I: howto manager. (line 1725)
-* BFD_RELOC_IA64_GPREL64LSB: howto manager. (line 1729)
-* BFD_RELOC_IA64_GPREL64MSB: howto manager. (line 1728)
-* BFD_RELOC_IA64_IMM14: howto manager. (line 1717)
-* BFD_RELOC_IA64_IMM22: howto manager. (line 1718)
-* BFD_RELOC_IA64_IMM64: howto manager. (line 1719)
-* BFD_RELOC_IA64_IPLTLSB: howto manager. (line 1775)
-* BFD_RELOC_IA64_IPLTMSB: howto manager. (line 1774)
-* BFD_RELOC_IA64_LDXMOV: howto manager. (line 1778)
-* BFD_RELOC_IA64_LTOFF22: howto manager. (line 1730)
-* BFD_RELOC_IA64_LTOFF22X: howto manager. (line 1777)
-* BFD_RELOC_IA64_LTOFF64I: howto manager. (line 1731)
-* BFD_RELOC_IA64_LTOFF_DTPMOD22: howto manager. (line 1787)
-* BFD_RELOC_IA64_LTOFF_DTPREL22: howto manager. (line 1795)
-* BFD_RELOC_IA64_LTOFF_FPTR22: howto manager. (line 1752)
-* BFD_RELOC_IA64_LTOFF_FPTR32LSB: howto manager. (line 1755)
-* BFD_RELOC_IA64_LTOFF_FPTR32MSB: howto manager. (line 1754)
-* BFD_RELOC_IA64_LTOFF_FPTR64I: howto manager. (line 1753)
-* BFD_RELOC_IA64_LTOFF_FPTR64LSB: howto manager. (line 1757)
-* BFD_RELOC_IA64_LTOFF_FPTR64MSB: howto manager. (line 1756)
-* BFD_RELOC_IA64_LTOFF_TPREL22: howto manager. (line 1784)
-* BFD_RELOC_IA64_LTV32LSB: howto manager. (line 1771)
-* BFD_RELOC_IA64_LTV32MSB: howto manager. (line 1770)
-* BFD_RELOC_IA64_LTV64LSB: howto manager. (line 1773)
-* BFD_RELOC_IA64_LTV64MSB: howto manager. (line 1772)
-* BFD_RELOC_IA64_PCREL21B: howto manager. (line 1741)
-* BFD_RELOC_IA64_PCREL21BI: howto manager. (line 1742)
-* BFD_RELOC_IA64_PCREL21F: howto manager. (line 1744)
-* BFD_RELOC_IA64_PCREL21M: howto manager. (line 1743)
-* BFD_RELOC_IA64_PCREL22: howto manager. (line 1745)
-* BFD_RELOC_IA64_PCREL32LSB: howto manager. (line 1749)
-* BFD_RELOC_IA64_PCREL32MSB: howto manager. (line 1748)
-* BFD_RELOC_IA64_PCREL60B: howto manager. (line 1746)
-* BFD_RELOC_IA64_PCREL64I: howto manager. (line 1747)
-* BFD_RELOC_IA64_PCREL64LSB: howto manager. (line 1751)
-* BFD_RELOC_IA64_PCREL64MSB: howto manager. (line 1750)
-* BFD_RELOC_IA64_PLTOFF22: howto manager. (line 1732)
-* BFD_RELOC_IA64_PLTOFF64I: howto manager. (line 1733)
-* BFD_RELOC_IA64_PLTOFF64LSB: howto manager. (line 1735)
-* BFD_RELOC_IA64_PLTOFF64MSB: howto manager. (line 1734)
-* BFD_RELOC_IA64_REL32LSB: howto manager. (line 1767)
-* BFD_RELOC_IA64_REL32MSB: howto manager. (line 1766)
-* BFD_RELOC_IA64_REL64LSB: howto manager. (line 1769)
-* BFD_RELOC_IA64_REL64MSB: howto manager. (line 1768)
-* BFD_RELOC_IA64_SECREL32LSB: howto manager. (line 1763)
-* BFD_RELOC_IA64_SECREL32MSB: howto manager. (line 1762)
-* BFD_RELOC_IA64_SECREL64LSB: howto manager. (line 1765)
-* BFD_RELOC_IA64_SECREL64MSB: howto manager. (line 1764)
-* BFD_RELOC_IA64_SEGREL32LSB: howto manager. (line 1759)
-* BFD_RELOC_IA64_SEGREL32MSB: howto manager. (line 1758)
-* BFD_RELOC_IA64_SEGREL64LSB: howto manager. (line 1761)
-* BFD_RELOC_IA64_SEGREL64MSB: howto manager. (line 1760)
-* BFD_RELOC_IA64_TPREL14: howto manager. (line 1779)
-* BFD_RELOC_IA64_TPREL22: howto manager. (line 1780)
-* BFD_RELOC_IA64_TPREL64I: howto manager. (line 1781)
-* BFD_RELOC_IA64_TPREL64LSB: howto manager. (line 1783)
-* BFD_RELOC_IA64_TPREL64MSB: howto manager. (line 1782)
-* BFD_RELOC_IP2K_ADDR16CJP: howto manager. (line 1669)
-* BFD_RELOC_IP2K_BANK: howto manager. (line 1666)
-* BFD_RELOC_IP2K_EX8DATA: howto manager. (line 1677)
-* BFD_RELOC_IP2K_FR9: howto manager. (line 1663)
-* BFD_RELOC_IP2K_FR_OFFSET: howto manager. (line 1690)
-* BFD_RELOC_IP2K_HI8DATA: howto manager. (line 1676)
-* BFD_RELOC_IP2K_HI8INSN: howto manager. (line 1681)
-* BFD_RELOC_IP2K_LO8DATA: howto manager. (line 1675)
-* BFD_RELOC_IP2K_LO8INSN: howto manager. (line 1680)
-* BFD_RELOC_IP2K_PAGE3: howto manager. (line 1672)
-* BFD_RELOC_IP2K_PC_SKIP: howto manager. (line 1684)
-* BFD_RELOC_IP2K_TEXT: howto manager. (line 1687)
-* BFD_RELOC_IQ2000_OFFSET_16: howto manager. (line 2086)
-* BFD_RELOC_IQ2000_OFFSET_21: howto manager. (line 2087)
-* BFD_RELOC_IQ2000_UHI16: howto manager. (line 2088)
-* BFD_RELOC_LM32_16_GOT: howto manager. (line 2193)
-* BFD_RELOC_LM32_BRANCH: howto manager. (line 2192)
-* BFD_RELOC_LM32_CALL: howto manager. (line 2191)
-* BFD_RELOC_LM32_COPY: howto manager. (line 2196)
-* BFD_RELOC_LM32_GLOB_DAT: howto manager. (line 2197)
-* BFD_RELOC_LM32_GOTOFF_HI16: howto manager. (line 2194)
-* BFD_RELOC_LM32_GOTOFF_LO16: howto manager. (line 2195)
-* BFD_RELOC_LM32_JMP_SLOT: howto manager. (line 2198)
-* BFD_RELOC_LM32_RELATIVE: howto manager. (line 2199)
+* BFD_RELOC_IA64_COPY: howto manager. (line 1895)
+* BFD_RELOC_IA64_DIR32LSB: howto manager. (line 1840)
+* BFD_RELOC_IA64_DIR32MSB: howto manager. (line 1839)
+* BFD_RELOC_IA64_DIR64LSB: howto manager. (line 1842)
+* BFD_RELOC_IA64_DIR64MSB: howto manager. (line 1841)
+* BFD_RELOC_IA64_DTPMOD64LSB: howto manager. (line 1905)
+* BFD_RELOC_IA64_DTPMOD64MSB: howto manager. (line 1904)
+* BFD_RELOC_IA64_DTPREL14: howto manager. (line 1907)
+* BFD_RELOC_IA64_DTPREL22: howto manager. (line 1908)
+* BFD_RELOC_IA64_DTPREL32LSB: howto manager. (line 1911)
+* BFD_RELOC_IA64_DTPREL32MSB: howto manager. (line 1910)
+* BFD_RELOC_IA64_DTPREL64I: howto manager. (line 1909)
+* BFD_RELOC_IA64_DTPREL64LSB: howto manager. (line 1913)
+* BFD_RELOC_IA64_DTPREL64MSB: howto manager. (line 1912)
+* BFD_RELOC_IA64_FPTR32LSB: howto manager. (line 1857)
+* BFD_RELOC_IA64_FPTR32MSB: howto manager. (line 1856)
+* BFD_RELOC_IA64_FPTR64I: howto manager. (line 1855)
+* BFD_RELOC_IA64_FPTR64LSB: howto manager. (line 1859)
+* BFD_RELOC_IA64_FPTR64MSB: howto manager. (line 1858)
+* BFD_RELOC_IA64_GPREL22: howto manager. (line 1843)
+* BFD_RELOC_IA64_GPREL32LSB: howto manager. (line 1846)
+* BFD_RELOC_IA64_GPREL32MSB: howto manager. (line 1845)
+* BFD_RELOC_IA64_GPREL64I: howto manager. (line 1844)
+* BFD_RELOC_IA64_GPREL64LSB: howto manager. (line 1848)
+* BFD_RELOC_IA64_GPREL64MSB: howto manager. (line 1847)
+* BFD_RELOC_IA64_IMM14: howto manager. (line 1836)
+* BFD_RELOC_IA64_IMM22: howto manager. (line 1837)
+* BFD_RELOC_IA64_IMM64: howto manager. (line 1838)
+* BFD_RELOC_IA64_IPLTLSB: howto manager. (line 1894)
+* BFD_RELOC_IA64_IPLTMSB: howto manager. (line 1893)
+* BFD_RELOC_IA64_LDXMOV: howto manager. (line 1897)
+* BFD_RELOC_IA64_LTOFF22: howto manager. (line 1849)
+* BFD_RELOC_IA64_LTOFF22X: howto manager. (line 1896)
+* BFD_RELOC_IA64_LTOFF64I: howto manager. (line 1850)
+* BFD_RELOC_IA64_LTOFF_DTPMOD22: howto manager. (line 1906)
+* BFD_RELOC_IA64_LTOFF_DTPREL22: howto manager. (line 1914)
+* BFD_RELOC_IA64_LTOFF_FPTR22: howto manager. (line 1871)
+* BFD_RELOC_IA64_LTOFF_FPTR32LSB: howto manager. (line 1874)
+* BFD_RELOC_IA64_LTOFF_FPTR32MSB: howto manager. (line 1873)
+* BFD_RELOC_IA64_LTOFF_FPTR64I: howto manager. (line 1872)
+* BFD_RELOC_IA64_LTOFF_FPTR64LSB: howto manager. (line 1876)
+* BFD_RELOC_IA64_LTOFF_FPTR64MSB: howto manager. (line 1875)
+* BFD_RELOC_IA64_LTOFF_TPREL22: howto manager. (line 1903)
+* BFD_RELOC_IA64_LTV32LSB: howto manager. (line 1890)
+* BFD_RELOC_IA64_LTV32MSB: howto manager. (line 1889)
+* BFD_RELOC_IA64_LTV64LSB: howto manager. (line 1892)
+* BFD_RELOC_IA64_LTV64MSB: howto manager. (line 1891)
+* BFD_RELOC_IA64_PCREL21B: howto manager. (line 1860)
+* BFD_RELOC_IA64_PCREL21BI: howto manager. (line 1861)
+* BFD_RELOC_IA64_PCREL21F: howto manager. (line 1863)
+* BFD_RELOC_IA64_PCREL21M: howto manager. (line 1862)
+* BFD_RELOC_IA64_PCREL22: howto manager. (line 1864)
+* BFD_RELOC_IA64_PCREL32LSB: howto manager. (line 1868)
+* BFD_RELOC_IA64_PCREL32MSB: howto manager. (line 1867)
+* BFD_RELOC_IA64_PCREL60B: howto manager. (line 1865)
+* BFD_RELOC_IA64_PCREL64I: howto manager. (line 1866)
+* BFD_RELOC_IA64_PCREL64LSB: howto manager. (line 1870)
+* BFD_RELOC_IA64_PCREL64MSB: howto manager. (line 1869)
+* BFD_RELOC_IA64_PLTOFF22: howto manager. (line 1851)
+* BFD_RELOC_IA64_PLTOFF64I: howto manager. (line 1852)
+* BFD_RELOC_IA64_PLTOFF64LSB: howto manager. (line 1854)
+* BFD_RELOC_IA64_PLTOFF64MSB: howto manager. (line 1853)
+* BFD_RELOC_IA64_REL32LSB: howto manager. (line 1886)
+* BFD_RELOC_IA64_REL32MSB: howto manager. (line 1885)
+* BFD_RELOC_IA64_REL64LSB: howto manager. (line 1888)
+* BFD_RELOC_IA64_REL64MSB: howto manager. (line 1887)
+* BFD_RELOC_IA64_SECREL32LSB: howto manager. (line 1882)
+* BFD_RELOC_IA64_SECREL32MSB: howto manager. (line 1881)
+* BFD_RELOC_IA64_SECREL64LSB: howto manager. (line 1884)
+* BFD_RELOC_IA64_SECREL64MSB: howto manager. (line 1883)
+* BFD_RELOC_IA64_SEGREL32LSB: howto manager. (line 1878)
+* BFD_RELOC_IA64_SEGREL32MSB: howto manager. (line 1877)
+* BFD_RELOC_IA64_SEGREL64LSB: howto manager. (line 1880)
+* BFD_RELOC_IA64_SEGREL64MSB: howto manager. (line 1879)
+* BFD_RELOC_IA64_TPREL14: howto manager. (line 1898)
+* BFD_RELOC_IA64_TPREL22: howto manager. (line 1899)
+* BFD_RELOC_IA64_TPREL64I: howto manager. (line 1900)
+* BFD_RELOC_IA64_TPREL64LSB: howto manager. (line 1902)
+* BFD_RELOC_IA64_TPREL64MSB: howto manager. (line 1901)
+* BFD_RELOC_IP2K_ADDR16CJP: howto manager. (line 1788)
+* BFD_RELOC_IP2K_BANK: howto manager. (line 1785)
+* BFD_RELOC_IP2K_EX8DATA: howto manager. (line 1796)
+* BFD_RELOC_IP2K_FR9: howto manager. (line 1782)
+* BFD_RELOC_IP2K_FR_OFFSET: howto manager. (line 1809)
+* BFD_RELOC_IP2K_HI8DATA: howto manager. (line 1795)
+* BFD_RELOC_IP2K_HI8INSN: howto manager. (line 1800)
+* BFD_RELOC_IP2K_LO8DATA: howto manager. (line 1794)
+* BFD_RELOC_IP2K_LO8INSN: howto manager. (line 1799)
+* BFD_RELOC_IP2K_PAGE3: howto manager. (line 1791)
+* BFD_RELOC_IP2K_PC_SKIP: howto manager. (line 1803)
+* BFD_RELOC_IP2K_TEXT: howto manager. (line 1806)
+* BFD_RELOC_IQ2000_OFFSET_16: howto manager. (line 2205)
+* BFD_RELOC_IQ2000_OFFSET_21: howto manager. (line 2206)
+* BFD_RELOC_IQ2000_UHI16: howto manager. (line 2207)
+* BFD_RELOC_LM32_16_GOT: howto manager. (line 2312)
+* BFD_RELOC_LM32_BRANCH: howto manager. (line 2311)
+* BFD_RELOC_LM32_CALL: howto manager. (line 2310)
+* BFD_RELOC_LM32_COPY: howto manager. (line 2315)
+* BFD_RELOC_LM32_GLOB_DAT: howto manager. (line 2316)
+* BFD_RELOC_LM32_GOTOFF_HI16: howto manager. (line 2313)
+* BFD_RELOC_LM32_GOTOFF_LO16: howto manager. (line 2314)
+* BFD_RELOC_LM32_JMP_SLOT: howto manager. (line 2317)
+* BFD_RELOC_LM32_RELATIVE: howto manager. (line 2318)
* BFD_RELOC_LO10: howto manager. (line 117)
* BFD_RELOC_LO16: howto manager. (line 353)
* BFD_RELOC_LO16_BASEREL: howto manager. (line 96)
* BFD_RELOC_LO16_GOTOFF: howto manager. (line 56)
* BFD_RELOC_LO16_PCREL: howto manager. (line 362)
* BFD_RELOC_LO16_PLTOFF: howto manager. (line 68)
-* BFD_RELOC_M32C_HI8: howto manager. (line 1129)
-* BFD_RELOC_M32C_RL_1ADDR: howto manager. (line 1131)
-* BFD_RELOC_M32C_RL_2ADDR: howto manager. (line 1132)
-* BFD_RELOC_M32C_RL_JUMP: howto manager. (line 1130)
-* BFD_RELOC_M32R_10_PCREL: howto manager. (line 1139)
-* BFD_RELOC_M32R_18_PCREL: howto manager. (line 1143)
-* BFD_RELOC_M32R_24: howto manager. (line 1135)
-* BFD_RELOC_M32R_26_PCREL: howto manager. (line 1146)
-* BFD_RELOC_M32R_26_PLTREL: howto manager. (line 1165)
-* BFD_RELOC_M32R_COPY: howto manager. (line 1166)
-* BFD_RELOC_M32R_GLOB_DAT: howto manager. (line 1167)
-* BFD_RELOC_M32R_GOT16_HI_SLO: howto manager. (line 1176)
-* BFD_RELOC_M32R_GOT16_HI_ULO: howto manager. (line 1175)
-* BFD_RELOC_M32R_GOT16_LO: howto manager. (line 1177)
-* BFD_RELOC_M32R_GOT24: howto manager. (line 1164)
-* BFD_RELOC_M32R_GOTOFF: howto manager. (line 1170)
-* BFD_RELOC_M32R_GOTOFF_HI_SLO: howto manager. (line 1172)
-* BFD_RELOC_M32R_GOTOFF_HI_ULO: howto manager. (line 1171)
-* BFD_RELOC_M32R_GOTOFF_LO: howto manager. (line 1173)
-* BFD_RELOC_M32R_GOTPC24: howto manager. (line 1174)
-* BFD_RELOC_M32R_GOTPC_HI_SLO: howto manager. (line 1179)
-* BFD_RELOC_M32R_GOTPC_HI_ULO: howto manager. (line 1178)
-* BFD_RELOC_M32R_GOTPC_LO: howto manager. (line 1180)
-* BFD_RELOC_M32R_HI16_SLO: howto manager. (line 1153)
-* BFD_RELOC_M32R_HI16_ULO: howto manager. (line 1149)
-* BFD_RELOC_M32R_JMP_SLOT: howto manager. (line 1168)
-* BFD_RELOC_M32R_LO16: howto manager. (line 1157)
-* BFD_RELOC_M32R_RELATIVE: howto manager. (line 1169)
-* BFD_RELOC_M32R_SDA16: howto manager. (line 1160)
-* BFD_RELOC_M68HC11_24: howto manager. (line 1831)
-* BFD_RELOC_M68HC11_3B: howto manager. (line 1806)
-* BFD_RELOC_M68HC11_HI8: howto manager. (line 1798)
-* BFD_RELOC_M68HC11_LO16: howto manager. (line 1820)
-* BFD_RELOC_M68HC11_LO8: howto manager. (line 1802)
-* BFD_RELOC_M68HC11_PAGE: howto manager. (line 1826)
-* BFD_RELOC_M68HC11_RL_GROUP: howto manager. (line 1815)
-* BFD_RELOC_M68HC11_RL_JUMP: howto manager. (line 1809)
-* BFD_RELOC_M68HC12_5B: howto manager. (line 1837)
-* BFD_RELOC_MACH_O_PAIR: howto manager. (line 2206)
-* BFD_RELOC_MACH_O_SECTDIFF: howto manager. (line 2202)
-* BFD_RELOC_MACH_O_X86_64_BRANCH32: howto manager. (line 2209)
-* BFD_RELOC_MACH_O_X86_64_BRANCH8: howto manager. (line 2210)
-* BFD_RELOC_MACH_O_X86_64_GOT: howto manager. (line 2214)
-* BFD_RELOC_MACH_O_X86_64_GOT_LOAD: howto manager. (line 2217)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_1: howto manager. (line 2227)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_2: howto manager. (line 2230)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_4: howto manager. (line 2233)
-* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32: howto manager. (line 2221)
-* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64: howto manager. (line 2224)
-* BFD_RELOC_MCORE_PCREL_32: howto manager. (line 1320)
-* BFD_RELOC_MCORE_PCREL_IMM11BY2: howto manager. (line 1318)
-* BFD_RELOC_MCORE_PCREL_IMM4BY2: howto manager. (line 1319)
-* BFD_RELOC_MCORE_PCREL_IMM8BY4: howto manager. (line 1317)
-* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2: howto manager. (line 1321)
-* BFD_RELOC_MCORE_RVA: howto manager. (line 1322)
-* BFD_RELOC_MEP_16: howto manager. (line 1326)
-* BFD_RELOC_MEP_32: howto manager. (line 1327)
-* BFD_RELOC_MEP_8: howto manager. (line 1325)
-* BFD_RELOC_MEP_ADDR24A4: howto manager. (line 1342)
-* BFD_RELOC_MEP_GNU_VTENTRY: howto manager. (line 1344)
-* BFD_RELOC_MEP_GNU_VTINHERIT: howto manager. (line 1343)
-* BFD_RELOC_MEP_GPREL: howto manager. (line 1336)
-* BFD_RELOC_MEP_HI16S: howto manager. (line 1335)
-* BFD_RELOC_MEP_HI16U: howto manager. (line 1334)
-* BFD_RELOC_MEP_LOW16: howto manager. (line 1333)
-* BFD_RELOC_MEP_PCABS24A2: howto manager. (line 1332)
-* BFD_RELOC_MEP_PCREL12A2: howto manager. (line 1329)
-* BFD_RELOC_MEP_PCREL17A2: howto manager. (line 1330)
-* BFD_RELOC_MEP_PCREL24A2: howto manager. (line 1331)
-* BFD_RELOC_MEP_PCREL8A2: howto manager. (line 1328)
-* BFD_RELOC_MEP_TPREL: howto manager. (line 1337)
-* BFD_RELOC_MEP_TPREL7: howto manager. (line 1338)
-* BFD_RELOC_MEP_TPREL7A2: howto manager. (line 1339)
-* BFD_RELOC_MEP_TPREL7A4: howto manager. (line 1340)
-* BFD_RELOC_MEP_UIMM24: howto manager. (line 1341)
-* BFD_RELOC_MICROBLAZE_32_GOTOFF: howto manager. (line 2280)
-* BFD_RELOC_MICROBLAZE_32_LO: howto manager. (line 2236)
-* BFD_RELOC_MICROBLAZE_32_LO_PCREL: howto manager. (line 2240)
-* BFD_RELOC_MICROBLAZE_32_ROSDA: howto manager. (line 2244)
-* BFD_RELOC_MICROBLAZE_32_RWSDA: howto manager. (line 2248)
-* BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM: howto manager. (line 2252)
-* BFD_RELOC_MICROBLAZE_64_GOT: howto manager. (line 2266)
-* BFD_RELOC_MICROBLAZE_64_GOTOFF: howto manager. (line 2275)
-* BFD_RELOC_MICROBLAZE_64_GOTPC: howto manager. (line 2261)
-* BFD_RELOC_MICROBLAZE_64_NONE: howto manager. (line 2256)
-* BFD_RELOC_MICROBLAZE_64_PLT: howto manager. (line 2270)
-* BFD_RELOC_MICROBLAZE_COPY: howto manager. (line 2284)
+* BFD_RELOC_M32C_HI8: howto manager. (line 1147)
+* BFD_RELOC_M32C_RL_1ADDR: howto manager. (line 1149)
+* BFD_RELOC_M32C_RL_2ADDR: howto manager. (line 1150)
+* BFD_RELOC_M32C_RL_JUMP: howto manager. (line 1148)
+* BFD_RELOC_M32R_10_PCREL: howto manager. (line 1157)
+* BFD_RELOC_M32R_18_PCREL: howto manager. (line 1161)
+* BFD_RELOC_M32R_24: howto manager. (line 1153)
+* BFD_RELOC_M32R_26_PCREL: howto manager. (line 1164)
+* BFD_RELOC_M32R_26_PLTREL: howto manager. (line 1183)
+* BFD_RELOC_M32R_COPY: howto manager. (line 1184)
+* BFD_RELOC_M32R_GLOB_DAT: howto manager. (line 1185)
+* BFD_RELOC_M32R_GOT16_HI_SLO: howto manager. (line 1194)
+* BFD_RELOC_M32R_GOT16_HI_ULO: howto manager. (line 1193)
+* BFD_RELOC_M32R_GOT16_LO: howto manager. (line 1195)
+* BFD_RELOC_M32R_GOT24: howto manager. (line 1182)
+* BFD_RELOC_M32R_GOTOFF: howto manager. (line 1188)
+* BFD_RELOC_M32R_GOTOFF_HI_SLO: howto manager. (line 1190)
+* BFD_RELOC_M32R_GOTOFF_HI_ULO: howto manager. (line 1189)
+* BFD_RELOC_M32R_GOTOFF_LO: howto manager. (line 1191)
+* BFD_RELOC_M32R_GOTPC24: howto manager. (line 1192)
+* BFD_RELOC_M32R_GOTPC_HI_SLO: howto manager. (line 1197)
+* BFD_RELOC_M32R_GOTPC_HI_ULO: howto manager. (line 1196)
+* BFD_RELOC_M32R_GOTPC_LO: howto manager. (line 1198)
+* BFD_RELOC_M32R_HI16_SLO: howto manager. (line 1171)
+* BFD_RELOC_M32R_HI16_ULO: howto manager. (line 1167)
+* BFD_RELOC_M32R_JMP_SLOT: howto manager. (line 1186)
+* BFD_RELOC_M32R_LO16: howto manager. (line 1175)
+* BFD_RELOC_M32R_RELATIVE: howto manager. (line 1187)
+* BFD_RELOC_M32R_SDA16: howto manager. (line 1178)
+* BFD_RELOC_M68HC11_24: howto manager. (line 1950)
+* BFD_RELOC_M68HC11_3B: howto manager. (line 1925)
+* BFD_RELOC_M68HC11_HI8: howto manager. (line 1917)
+* BFD_RELOC_M68HC11_LO16: howto manager. (line 1939)
+* BFD_RELOC_M68HC11_LO8: howto manager. (line 1921)
+* BFD_RELOC_M68HC11_PAGE: howto manager. (line 1945)
+* BFD_RELOC_M68HC11_RL_GROUP: howto manager. (line 1934)
+* BFD_RELOC_M68HC11_RL_JUMP: howto manager. (line 1928)
+* BFD_RELOC_M68HC12_5B: howto manager. (line 1956)
+* BFD_RELOC_MACH_O_PAIR: howto manager. (line 2325)
+* BFD_RELOC_MACH_O_SECTDIFF: howto manager. (line 2321)
+* BFD_RELOC_MACH_O_X86_64_BRANCH32: howto manager. (line 2328)
+* BFD_RELOC_MACH_O_X86_64_BRANCH8: howto manager. (line 2329)
+* BFD_RELOC_MACH_O_X86_64_GOT: howto manager. (line 2333)
+* BFD_RELOC_MACH_O_X86_64_GOT_LOAD: howto manager. (line 2336)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_1: howto manager. (line 2346)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_2: howto manager. (line 2349)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_4: howto manager. (line 2352)
+* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32: howto manager. (line 2340)
+* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64: howto manager. (line 2343)
+* BFD_RELOC_MCORE_PCREL_32: howto manager. (line 1436)
+* BFD_RELOC_MCORE_PCREL_IMM11BY2: howto manager. (line 1434)
+* BFD_RELOC_MCORE_PCREL_IMM4BY2: howto manager. (line 1435)
+* BFD_RELOC_MCORE_PCREL_IMM8BY4: howto manager. (line 1433)
+* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2: howto manager. (line 1437)
+* BFD_RELOC_MCORE_RVA: howto manager. (line 1438)
+* BFD_RELOC_MEP_16: howto manager. (line 1442)
+* BFD_RELOC_MEP_32: howto manager. (line 1443)
+* BFD_RELOC_MEP_8: howto manager. (line 1441)
+* BFD_RELOC_MEP_ADDR24A4: howto manager. (line 1458)
+* BFD_RELOC_MEP_GNU_VTENTRY: howto manager. (line 1460)
+* BFD_RELOC_MEP_GNU_VTINHERIT: howto manager. (line 1459)
+* BFD_RELOC_MEP_GPREL: howto manager. (line 1452)
+* BFD_RELOC_MEP_HI16S: howto manager. (line 1451)
+* BFD_RELOC_MEP_HI16U: howto manager. (line 1450)
+* BFD_RELOC_MEP_LOW16: howto manager. (line 1449)
+* BFD_RELOC_MEP_PCABS24A2: howto manager. (line 1448)
+* BFD_RELOC_MEP_PCREL12A2: howto manager. (line 1445)
+* BFD_RELOC_MEP_PCREL17A2: howto manager. (line 1446)
+* BFD_RELOC_MEP_PCREL24A2: howto manager. (line 1447)
+* BFD_RELOC_MEP_PCREL8A2: howto manager. (line 1444)
+* BFD_RELOC_MEP_TPREL: howto manager. (line 1453)
+* BFD_RELOC_MEP_TPREL7: howto manager. (line 1454)
+* BFD_RELOC_MEP_TPREL7A2: howto manager. (line 1455)
+* BFD_RELOC_MEP_TPREL7A4: howto manager. (line 1456)
+* BFD_RELOC_MEP_UIMM24: howto manager. (line 1457)
+* BFD_RELOC_MICROBLAZE_32_GOTOFF: howto manager. (line 2399)
+* BFD_RELOC_MICROBLAZE_32_LO: howto manager. (line 2355)
+* BFD_RELOC_MICROBLAZE_32_LO_PCREL: howto manager. (line 2359)
+* BFD_RELOC_MICROBLAZE_32_ROSDA: howto manager. (line 2363)
+* BFD_RELOC_MICROBLAZE_32_RWSDA: howto manager. (line 2367)
+* BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM: howto manager. (line 2371)
+* BFD_RELOC_MICROBLAZE_64_GOT: howto manager. (line 2385)
+* BFD_RELOC_MICROBLAZE_64_GOTOFF: howto manager. (line 2394)
+* BFD_RELOC_MICROBLAZE_64_GOTPC: howto manager. (line 2380)
+* BFD_RELOC_MICROBLAZE_64_NONE: howto manager. (line 2375)
+* BFD_RELOC_MICROBLAZE_64_PLT: howto manager. (line 2389)
+* BFD_RELOC_MICROBLAZE_COPY: howto manager. (line 2403)
* BFD_RELOC_MIPS16_CALL16: howto manager. (line 366)
* BFD_RELOC_MIPS16_GOT16: howto manager. (line 365)
* BFD_RELOC_MIPS16_GPREL: howto manager. (line 341)
@@ -10771,32 +11000,32 @@ BFD Index
* BFD_RELOC_MIPS_TLS_TPREL64: howto manager. (line 416)
* BFD_RELOC_MIPS_TLS_TPREL_HI16: howto manager. (line 417)
* BFD_RELOC_MIPS_TLS_TPREL_LO16: howto manager. (line 418)
-* BFD_RELOC_MMIX_ADDR19: howto manager. (line 1373)
-* BFD_RELOC_MMIX_ADDR27: howto manager. (line 1377)
-* BFD_RELOC_MMIX_BASE_PLUS_OFFSET: howto manager. (line 1389)
-* BFD_RELOC_MMIX_CBRANCH: howto manager. (line 1353)
-* BFD_RELOC_MMIX_CBRANCH_1: howto manager. (line 1355)
-* BFD_RELOC_MMIX_CBRANCH_2: howto manager. (line 1356)
-* BFD_RELOC_MMIX_CBRANCH_3: howto manager. (line 1357)
-* BFD_RELOC_MMIX_CBRANCH_J: howto manager. (line 1354)
-* BFD_RELOC_MMIX_GETA: howto manager. (line 1347)
-* BFD_RELOC_MMIX_GETA_1: howto manager. (line 1348)
-* BFD_RELOC_MMIX_GETA_2: howto manager. (line 1349)
-* BFD_RELOC_MMIX_GETA_3: howto manager. (line 1350)
-* BFD_RELOC_MMIX_JMP: howto manager. (line 1367)
-* BFD_RELOC_MMIX_JMP_1: howto manager. (line 1368)
-* BFD_RELOC_MMIX_JMP_2: howto manager. (line 1369)
-* BFD_RELOC_MMIX_JMP_3: howto manager. (line 1370)
-* BFD_RELOC_MMIX_LOCAL: howto manager. (line 1393)
-* BFD_RELOC_MMIX_PUSHJ: howto manager. (line 1360)
-* BFD_RELOC_MMIX_PUSHJ_1: howto manager. (line 1361)
-* BFD_RELOC_MMIX_PUSHJ_2: howto manager. (line 1362)
-* BFD_RELOC_MMIX_PUSHJ_3: howto manager. (line 1363)
-* BFD_RELOC_MMIX_PUSHJ_STUBBABLE: howto manager. (line 1364)
-* BFD_RELOC_MMIX_REG: howto manager. (line 1385)
-* BFD_RELOC_MMIX_REG_OR_BYTE: howto manager. (line 1381)
-* BFD_RELOC_MN10300_16_PCREL: howto manager. (line 1255)
-* BFD_RELOC_MN10300_32_PCREL: howto manager. (line 1251)
+* BFD_RELOC_MMIX_ADDR19: howto manager. (line 1489)
+* BFD_RELOC_MMIX_ADDR27: howto manager. (line 1493)
+* BFD_RELOC_MMIX_BASE_PLUS_OFFSET: howto manager. (line 1505)
+* BFD_RELOC_MMIX_CBRANCH: howto manager. (line 1469)
+* BFD_RELOC_MMIX_CBRANCH_1: howto manager. (line 1471)
+* BFD_RELOC_MMIX_CBRANCH_2: howto manager. (line 1472)
+* BFD_RELOC_MMIX_CBRANCH_3: howto manager. (line 1473)
+* BFD_RELOC_MMIX_CBRANCH_J: howto manager. (line 1470)
+* BFD_RELOC_MMIX_GETA: howto manager. (line 1463)
+* BFD_RELOC_MMIX_GETA_1: howto manager. (line 1464)
+* BFD_RELOC_MMIX_GETA_2: howto manager. (line 1465)
+* BFD_RELOC_MMIX_GETA_3: howto manager. (line 1466)
+* BFD_RELOC_MMIX_JMP: howto manager. (line 1483)
+* BFD_RELOC_MMIX_JMP_1: howto manager. (line 1484)
+* BFD_RELOC_MMIX_JMP_2: howto manager. (line 1485)
+* BFD_RELOC_MMIX_JMP_3: howto manager. (line 1486)
+* BFD_RELOC_MMIX_LOCAL: howto manager. (line 1509)
+* BFD_RELOC_MMIX_PUSHJ: howto manager. (line 1476)
+* BFD_RELOC_MMIX_PUSHJ_1: howto manager. (line 1477)
+* BFD_RELOC_MMIX_PUSHJ_2: howto manager. (line 1478)
+* BFD_RELOC_MMIX_PUSHJ_3: howto manager. (line 1479)
+* BFD_RELOC_MMIX_PUSHJ_STUBBABLE: howto manager. (line 1480)
+* BFD_RELOC_MMIX_REG: howto manager. (line 1501)
+* BFD_RELOC_MMIX_REG_OR_BYTE: howto manager. (line 1497)
+* BFD_RELOC_MN10300_16_PCREL: howto manager. (line 1339)
+* BFD_RELOC_MN10300_32_PCREL: howto manager. (line 1335)
* BFD_RELOC_MN10300_ALIGN: howto manager. (line 501)
* BFD_RELOC_MN10300_COPY: howto manager. (line 484)
* BFD_RELOC_MN10300_GLOB_DAT: howto manager. (line 487)
@@ -10808,19 +11037,19 @@ BFD Index
* BFD_RELOC_MN10300_RELATIVE: howto manager. (line 493)
* BFD_RELOC_MN10300_SYM_DIFF: howto manager. (line 496)
* BFD_RELOC_MOXIE_10_PCREL: howto manager. (line 425)
-* BFD_RELOC_MSP430_10_PCREL: howto manager. (line 2077)
-* BFD_RELOC_MSP430_16: howto manager. (line 2079)
-* BFD_RELOC_MSP430_16_BYTE: howto manager. (line 2081)
-* BFD_RELOC_MSP430_16_PCREL: howto manager. (line 2078)
-* BFD_RELOC_MSP430_16_PCREL_BYTE: howto manager. (line 2080)
-* BFD_RELOC_MSP430_2X_PCREL: howto manager. (line 2082)
-* BFD_RELOC_MSP430_RL_PCREL: howto manager. (line 2083)
-* BFD_RELOC_MT_GNU_VTENTRY: howto manager. (line 2071)
-* BFD_RELOC_MT_GNU_VTINHERIT: howto manager. (line 2068)
-* BFD_RELOC_MT_HI16: howto manager. (line 2062)
-* BFD_RELOC_MT_LO16: howto manager. (line 2065)
-* BFD_RELOC_MT_PC16: howto manager. (line 2059)
-* BFD_RELOC_MT_PCINSN8: howto manager. (line 2074)
+* BFD_RELOC_MSP430_10_PCREL: howto manager. (line 2196)
+* BFD_RELOC_MSP430_16: howto manager. (line 2198)
+* BFD_RELOC_MSP430_16_BYTE: howto manager. (line 2200)
+* BFD_RELOC_MSP430_16_PCREL: howto manager. (line 2197)
+* BFD_RELOC_MSP430_16_PCREL_BYTE: howto manager. (line 2199)
+* BFD_RELOC_MSP430_2X_PCREL: howto manager. (line 2201)
+* BFD_RELOC_MSP430_RL_PCREL: howto manager. (line 2202)
+* BFD_RELOC_MT_GNU_VTENTRY: howto manager. (line 2190)
+* BFD_RELOC_MT_GNU_VTINHERIT: howto manager. (line 2187)
+* BFD_RELOC_MT_HI16: howto manager. (line 2181)
+* BFD_RELOC_MT_LO16: howto manager. (line 2184)
+* BFD_RELOC_MT_PC16: howto manager. (line 2178)
+* BFD_RELOC_MT_PCINSN8: howto manager. (line 2193)
* BFD_RELOC_NONE: howto manager. (line 131)
* BFD_RELOC_NS32K_DISP_16: howto manager. (line 567)
* BFD_RELOC_NS32K_DISP_16_PCREL: howto manager. (line 570)
@@ -10834,8 +11063,8 @@ BFD Index
* BFD_RELOC_NS32K_IMM_32_PCREL: howto manager. (line 565)
* BFD_RELOC_NS32K_IMM_8: howto manager. (line 560)
* BFD_RELOC_NS32K_IMM_8_PCREL: howto manager. (line 563)
-* BFD_RELOC_OPENRISC_ABS_26: howto manager. (line 2028)
-* BFD_RELOC_OPENRISC_REL_26: howto manager. (line 2029)
+* BFD_RELOC_OPENRISC_ABS_26: howto manager. (line 2147)
+* BFD_RELOC_OPENRISC_REL_26: howto manager. (line 2148)
* BFD_RELOC_PDP11_DISP_6_PCREL: howto manager. (line 575)
* BFD_RELOC_PDP11_DISP_8_PCREL: howto manager. (line 574)
* BFD_RELOC_PJ_CODE_DIR16: howto manager. (line 580)
@@ -10939,135 +11168,145 @@ BFD Index
* BFD_RELOC_PPC_TPREL16_HA: howto manager. (line 648)
* BFD_RELOC_PPC_TPREL16_HI: howto manager. (line 647)
* BFD_RELOC_PPC_TPREL16_LO: howto manager. (line 646)
-* BFD_RELOC_RELC: howto manager. (line 2045)
+* BFD_RELOC_RELC: howto manager. (line 2164)
* BFD_RELOC_RVA: howto manager. (line 100)
-* BFD_RELOC_RX_16_OP: howto manager. (line 1504)
-* BFD_RELOC_RX_16U: howto manager. (line 1508)
-* BFD_RELOC_RX_24_OP: howto manager. (line 1505)
-* BFD_RELOC_RX_24U: howto manager. (line 1509)
-* BFD_RELOC_RX_32_OP: howto manager. (line 1506)
-* BFD_RELOC_RX_8U: howto manager. (line 1507)
-* BFD_RELOC_RX_ABS16: howto manager. (line 1518)
-* BFD_RELOC_RX_ABS16U: howto manager. (line 1520)
-* BFD_RELOC_RX_ABS16UL: howto manager. (line 1522)
-* BFD_RELOC_RX_ABS16UW: howto manager. (line 1521)
-* BFD_RELOC_RX_ABS32: howto manager. (line 1519)
-* BFD_RELOC_RX_ABS8: howto manager. (line 1517)
-* BFD_RELOC_RX_DIFF: howto manager. (line 1511)
-* BFD_RELOC_RX_DIR3U_PCREL: howto manager. (line 1510)
-* BFD_RELOC_RX_GPRELB: howto manager. (line 1512)
-* BFD_RELOC_RX_GPRELL: howto manager. (line 1514)
-* BFD_RELOC_RX_GPRELW: howto manager. (line 1513)
-* BFD_RELOC_RX_NEG16: howto manager. (line 1501)
-* BFD_RELOC_RX_NEG24: howto manager. (line 1502)
-* BFD_RELOC_RX_NEG32: howto manager. (line 1503)
-* BFD_RELOC_RX_NEG8: howto manager. (line 1500)
-* BFD_RELOC_RX_OP_SUBTRACT: howto manager. (line 1516)
-* BFD_RELOC_RX_RELAX: howto manager. (line 1523)
-* BFD_RELOC_RX_SYM: howto manager. (line 1515)
-* BFD_RELOC_SCORE16_BRANCH: howto manager. (line 1651)
-* BFD_RELOC_SCORE16_JMP: howto manager. (line 1648)
-* BFD_RELOC_SCORE_BCMP: howto manager. (line 1654)
-* BFD_RELOC_SCORE_BRANCH: howto manager. (line 1639)
-* BFD_RELOC_SCORE_CALL15: howto manager. (line 1659)
-* BFD_RELOC_SCORE_DUMMY2: howto manager. (line 1635)
-* BFD_RELOC_SCORE_DUMMY_HI16: howto manager. (line 1660)
-* BFD_RELOC_SCORE_GOT15: howto manager. (line 1657)
-* BFD_RELOC_SCORE_GOT_LO16: howto manager. (line 1658)
-* BFD_RELOC_SCORE_GPREL15: howto manager. (line 1632)
-* BFD_RELOC_SCORE_IMM30: howto manager. (line 1642)
-* BFD_RELOC_SCORE_IMM32: howto manager. (line 1645)
-* BFD_RELOC_SCORE_JMP: howto manager. (line 1636)
-* BFD_RELOC_SH_ALIGN: howto manager. (line 865)
-* BFD_RELOC_SH_CODE: howto manager. (line 866)
-* BFD_RELOC_SH_COPY: howto manager. (line 871)
-* BFD_RELOC_SH_COPY64: howto manager. (line 896)
-* BFD_RELOC_SH_COUNT: howto manager. (line 864)
-* BFD_RELOC_SH_DATA: howto manager. (line 867)
-* BFD_RELOC_SH_DISP12: howto manager. (line 847)
-* BFD_RELOC_SH_DISP12BY2: howto manager. (line 848)
-* BFD_RELOC_SH_DISP12BY4: howto manager. (line 849)
-* BFD_RELOC_SH_DISP12BY8: howto manager. (line 850)
-* BFD_RELOC_SH_DISP20: howto manager. (line 851)
-* BFD_RELOC_SH_DISP20BY8: howto manager. (line 852)
-* BFD_RELOC_SH_GLOB_DAT: howto manager. (line 872)
-* BFD_RELOC_SH_GLOB_DAT64: howto manager. (line 897)
-* BFD_RELOC_SH_GOT10BY4: howto manager. (line 900)
-* BFD_RELOC_SH_GOT10BY8: howto manager. (line 901)
-* BFD_RELOC_SH_GOT_HI16: howto manager. (line 879)
-* BFD_RELOC_SH_GOT_LOW16: howto manager. (line 876)
-* BFD_RELOC_SH_GOT_MEDHI16: howto manager. (line 878)
-* BFD_RELOC_SH_GOT_MEDLOW16: howto manager. (line 877)
-* BFD_RELOC_SH_GOTOFF_HI16: howto manager. (line 891)
-* BFD_RELOC_SH_GOTOFF_LOW16: howto manager. (line 888)
-* BFD_RELOC_SH_GOTOFF_MEDHI16: howto manager. (line 890)
-* BFD_RELOC_SH_GOTOFF_MEDLOW16: howto manager. (line 889)
-* BFD_RELOC_SH_GOTPC: howto manager. (line 875)
-* BFD_RELOC_SH_GOTPC_HI16: howto manager. (line 895)
-* BFD_RELOC_SH_GOTPC_LOW16: howto manager. (line 892)
-* BFD_RELOC_SH_GOTPC_MEDHI16: howto manager. (line 894)
-* BFD_RELOC_SH_GOTPC_MEDLOW16: howto manager. (line 893)
-* BFD_RELOC_SH_GOTPLT10BY4: howto manager. (line 902)
-* BFD_RELOC_SH_GOTPLT10BY8: howto manager. (line 903)
-* BFD_RELOC_SH_GOTPLT32: howto manager. (line 904)
-* BFD_RELOC_SH_GOTPLT_HI16: howto manager. (line 883)
-* BFD_RELOC_SH_GOTPLT_LOW16: howto manager. (line 880)
-* BFD_RELOC_SH_GOTPLT_MEDHI16: howto manager. (line 882)
-* BFD_RELOC_SH_GOTPLT_MEDLOW16: howto manager. (line 881)
-* BFD_RELOC_SH_IMM3: howto manager. (line 845)
-* BFD_RELOC_SH_IMM3U: howto manager. (line 846)
-* BFD_RELOC_SH_IMM4: howto manager. (line 853)
-* BFD_RELOC_SH_IMM4BY2: howto manager. (line 854)
-* BFD_RELOC_SH_IMM4BY4: howto manager. (line 855)
-* BFD_RELOC_SH_IMM8: howto manager. (line 856)
-* BFD_RELOC_SH_IMM8BY2: howto manager. (line 857)
-* BFD_RELOC_SH_IMM8BY4: howto manager. (line 858)
-* BFD_RELOC_SH_IMM_HI16: howto manager. (line 922)
-* BFD_RELOC_SH_IMM_HI16_PCREL: howto manager. (line 923)
-* BFD_RELOC_SH_IMM_LOW16: howto manager. (line 916)
-* BFD_RELOC_SH_IMM_LOW16_PCREL: howto manager. (line 917)
-* BFD_RELOC_SH_IMM_MEDHI16: howto manager. (line 920)
-* BFD_RELOC_SH_IMM_MEDHI16_PCREL: howto manager. (line 921)
-* BFD_RELOC_SH_IMM_MEDLOW16: howto manager. (line 918)
-* BFD_RELOC_SH_IMM_MEDLOW16_PCREL: howto manager. (line 919)
-* BFD_RELOC_SH_IMMS10: howto manager. (line 910)
-* BFD_RELOC_SH_IMMS10BY2: howto manager. (line 911)
-* BFD_RELOC_SH_IMMS10BY4: howto manager. (line 912)
-* BFD_RELOC_SH_IMMS10BY8: howto manager. (line 913)
-* BFD_RELOC_SH_IMMS16: howto manager. (line 914)
-* BFD_RELOC_SH_IMMS6: howto manager. (line 907)
-* BFD_RELOC_SH_IMMS6BY32: howto manager. (line 908)
-* BFD_RELOC_SH_IMMU16: howto manager. (line 915)
-* BFD_RELOC_SH_IMMU5: howto manager. (line 906)
-* BFD_RELOC_SH_IMMU6: howto manager. (line 909)
-* BFD_RELOC_SH_JMP_SLOT: howto manager. (line 873)
-* BFD_RELOC_SH_JMP_SLOT64: howto manager. (line 898)
-* BFD_RELOC_SH_LABEL: howto manager. (line 868)
-* BFD_RELOC_SH_LOOP_END: howto manager. (line 870)
-* BFD_RELOC_SH_LOOP_START: howto manager. (line 869)
-* BFD_RELOC_SH_PCDISP12BY2: howto manager. (line 844)
-* BFD_RELOC_SH_PCDISP8BY2: howto manager. (line 843)
-* BFD_RELOC_SH_PCRELIMM8BY2: howto manager. (line 859)
-* BFD_RELOC_SH_PCRELIMM8BY4: howto manager. (line 860)
-* BFD_RELOC_SH_PLT_HI16: howto manager. (line 887)
-* BFD_RELOC_SH_PLT_LOW16: howto manager. (line 884)
-* BFD_RELOC_SH_PLT_MEDHI16: howto manager. (line 886)
-* BFD_RELOC_SH_PLT_MEDLOW16: howto manager. (line 885)
-* BFD_RELOC_SH_PT_16: howto manager. (line 924)
-* BFD_RELOC_SH_RELATIVE: howto manager. (line 874)
-* BFD_RELOC_SH_RELATIVE64: howto manager. (line 899)
-* BFD_RELOC_SH_SHMEDIA_CODE: howto manager. (line 905)
-* BFD_RELOC_SH_SWITCH16: howto manager. (line 861)
-* BFD_RELOC_SH_SWITCH32: howto manager. (line 862)
-* BFD_RELOC_SH_TLS_DTPMOD32: howto manager. (line 930)
-* BFD_RELOC_SH_TLS_DTPOFF32: howto manager. (line 931)
-* BFD_RELOC_SH_TLS_GD_32: howto manager. (line 925)
-* BFD_RELOC_SH_TLS_IE_32: howto manager. (line 928)
-* BFD_RELOC_SH_TLS_LD_32: howto manager. (line 926)
-* BFD_RELOC_SH_TLS_LDO_32: howto manager. (line 927)
-* BFD_RELOC_SH_TLS_LE_32: howto manager. (line 929)
-* BFD_RELOC_SH_TLS_TPOFF32: howto manager. (line 932)
-* BFD_RELOC_SH_USES: howto manager. (line 863)
+* BFD_RELOC_RX_16_OP: howto manager. (line 1620)
+* BFD_RELOC_RX_16U: howto manager. (line 1624)
+* BFD_RELOC_RX_24_OP: howto manager. (line 1621)
+* BFD_RELOC_RX_24U: howto manager. (line 1625)
+* BFD_RELOC_RX_32_OP: howto manager. (line 1622)
+* BFD_RELOC_RX_8U: howto manager. (line 1623)
+* BFD_RELOC_RX_ABS16: howto manager. (line 1635)
+* BFD_RELOC_RX_ABS16_REV: howto manager. (line 1636)
+* BFD_RELOC_RX_ABS16U: howto manager. (line 1639)
+* BFD_RELOC_RX_ABS16UL: howto manager. (line 1641)
+* BFD_RELOC_RX_ABS16UW: howto manager. (line 1640)
+* BFD_RELOC_RX_ABS32: howto manager. (line 1637)
+* BFD_RELOC_RX_ABS32_REV: howto manager. (line 1638)
+* BFD_RELOC_RX_ABS8: howto manager. (line 1634)
+* BFD_RELOC_RX_DIFF: howto manager. (line 1627)
+* BFD_RELOC_RX_DIR3U_PCREL: howto manager. (line 1626)
+* BFD_RELOC_RX_GPRELB: howto manager. (line 1628)
+* BFD_RELOC_RX_GPRELL: howto manager. (line 1630)
+* BFD_RELOC_RX_GPRELW: howto manager. (line 1629)
+* BFD_RELOC_RX_NEG16: howto manager. (line 1617)
+* BFD_RELOC_RX_NEG24: howto manager. (line 1618)
+* BFD_RELOC_RX_NEG32: howto manager. (line 1619)
+* BFD_RELOC_RX_NEG8: howto manager. (line 1616)
+* BFD_RELOC_RX_OP_NEG: howto manager. (line 1633)
+* BFD_RELOC_RX_OP_SUBTRACT: howto manager. (line 1632)
+* BFD_RELOC_RX_RELAX: howto manager. (line 1642)
+* BFD_RELOC_RX_SYM: howto manager. (line 1631)
+* BFD_RELOC_SCORE16_BRANCH: howto manager. (line 1770)
+* BFD_RELOC_SCORE16_JMP: howto manager. (line 1767)
+* BFD_RELOC_SCORE_BCMP: howto manager. (line 1773)
+* BFD_RELOC_SCORE_BRANCH: howto manager. (line 1758)
+* BFD_RELOC_SCORE_CALL15: howto manager. (line 1778)
+* BFD_RELOC_SCORE_DUMMY2: howto manager. (line 1754)
+* BFD_RELOC_SCORE_DUMMY_HI16: howto manager. (line 1779)
+* BFD_RELOC_SCORE_GOT15: howto manager. (line 1776)
+* BFD_RELOC_SCORE_GOT_LO16: howto manager. (line 1777)
+* BFD_RELOC_SCORE_GPREL15: howto manager. (line 1751)
+* BFD_RELOC_SCORE_IMM30: howto manager. (line 1761)
+* BFD_RELOC_SCORE_IMM32: howto manager. (line 1764)
+* BFD_RELOC_SCORE_JMP: howto manager. (line 1755)
+* BFD_RELOC_SH_ALIGN: howto manager. (line 876)
+* BFD_RELOC_SH_CODE: howto manager. (line 877)
+* BFD_RELOC_SH_COPY: howto manager. (line 882)
+* BFD_RELOC_SH_COPY64: howto manager. (line 907)
+* BFD_RELOC_SH_COUNT: howto manager. (line 875)
+* BFD_RELOC_SH_DATA: howto manager. (line 878)
+* BFD_RELOC_SH_DISP12: howto manager. (line 858)
+* BFD_RELOC_SH_DISP12BY2: howto manager. (line 859)
+* BFD_RELOC_SH_DISP12BY4: howto manager. (line 860)
+* BFD_RELOC_SH_DISP12BY8: howto manager. (line 861)
+* BFD_RELOC_SH_DISP20: howto manager. (line 862)
+* BFD_RELOC_SH_DISP20BY8: howto manager. (line 863)
+* BFD_RELOC_SH_FUNCDESC: howto manager. (line 950)
+* BFD_RELOC_SH_GLOB_DAT: howto manager. (line 883)
+* BFD_RELOC_SH_GLOB_DAT64: howto manager. (line 908)
+* BFD_RELOC_SH_GOT10BY4: howto manager. (line 911)
+* BFD_RELOC_SH_GOT10BY8: howto manager. (line 912)
+* BFD_RELOC_SH_GOT20: howto manager. (line 944)
+* BFD_RELOC_SH_GOT_HI16: howto manager. (line 890)
+* BFD_RELOC_SH_GOT_LOW16: howto manager. (line 887)
+* BFD_RELOC_SH_GOT_MEDHI16: howto manager. (line 889)
+* BFD_RELOC_SH_GOT_MEDLOW16: howto manager. (line 888)
+* BFD_RELOC_SH_GOTFUNCDESC: howto manager. (line 946)
+* BFD_RELOC_SH_GOTFUNCDESC20: howto manager. (line 947)
+* BFD_RELOC_SH_GOTOFF20: howto manager. (line 945)
+* BFD_RELOC_SH_GOTOFF_HI16: howto manager. (line 902)
+* BFD_RELOC_SH_GOTOFF_LOW16: howto manager. (line 899)
+* BFD_RELOC_SH_GOTOFF_MEDHI16: howto manager. (line 901)
+* BFD_RELOC_SH_GOTOFF_MEDLOW16: howto manager. (line 900)
+* BFD_RELOC_SH_GOTOFFFUNCDESC: howto manager. (line 948)
+* BFD_RELOC_SH_GOTOFFFUNCDESC20: howto manager. (line 949)
+* BFD_RELOC_SH_GOTPC: howto manager. (line 886)
+* BFD_RELOC_SH_GOTPC_HI16: howto manager. (line 906)
+* BFD_RELOC_SH_GOTPC_LOW16: howto manager. (line 903)
+* BFD_RELOC_SH_GOTPC_MEDHI16: howto manager. (line 905)
+* BFD_RELOC_SH_GOTPC_MEDLOW16: howto manager. (line 904)
+* BFD_RELOC_SH_GOTPLT10BY4: howto manager. (line 913)
+* BFD_RELOC_SH_GOTPLT10BY8: howto manager. (line 914)
+* BFD_RELOC_SH_GOTPLT32: howto manager. (line 915)
+* BFD_RELOC_SH_GOTPLT_HI16: howto manager. (line 894)
+* BFD_RELOC_SH_GOTPLT_LOW16: howto manager. (line 891)
+* BFD_RELOC_SH_GOTPLT_MEDHI16: howto manager. (line 893)
+* BFD_RELOC_SH_GOTPLT_MEDLOW16: howto manager. (line 892)
+* BFD_RELOC_SH_IMM3: howto manager. (line 856)
+* BFD_RELOC_SH_IMM3U: howto manager. (line 857)
+* BFD_RELOC_SH_IMM4: howto manager. (line 864)
+* BFD_RELOC_SH_IMM4BY2: howto manager. (line 865)
+* BFD_RELOC_SH_IMM4BY4: howto manager. (line 866)
+* BFD_RELOC_SH_IMM8: howto manager. (line 867)
+* BFD_RELOC_SH_IMM8BY2: howto manager. (line 868)
+* BFD_RELOC_SH_IMM8BY4: howto manager. (line 869)
+* BFD_RELOC_SH_IMM_HI16: howto manager. (line 933)
+* BFD_RELOC_SH_IMM_HI16_PCREL: howto manager. (line 934)
+* BFD_RELOC_SH_IMM_LOW16: howto manager. (line 927)
+* BFD_RELOC_SH_IMM_LOW16_PCREL: howto manager. (line 928)
+* BFD_RELOC_SH_IMM_MEDHI16: howto manager. (line 931)
+* BFD_RELOC_SH_IMM_MEDHI16_PCREL: howto manager. (line 932)
+* BFD_RELOC_SH_IMM_MEDLOW16: howto manager. (line 929)
+* BFD_RELOC_SH_IMM_MEDLOW16_PCREL: howto manager. (line 930)
+* BFD_RELOC_SH_IMMS10: howto manager. (line 921)
+* BFD_RELOC_SH_IMMS10BY2: howto manager. (line 922)
+* BFD_RELOC_SH_IMMS10BY4: howto manager. (line 923)
+* BFD_RELOC_SH_IMMS10BY8: howto manager. (line 924)
+* BFD_RELOC_SH_IMMS16: howto manager. (line 925)
+* BFD_RELOC_SH_IMMS6: howto manager. (line 918)
+* BFD_RELOC_SH_IMMS6BY32: howto manager. (line 919)
+* BFD_RELOC_SH_IMMU16: howto manager. (line 926)
+* BFD_RELOC_SH_IMMU5: howto manager. (line 917)
+* BFD_RELOC_SH_IMMU6: howto manager. (line 920)
+* BFD_RELOC_SH_JMP_SLOT: howto manager. (line 884)
+* BFD_RELOC_SH_JMP_SLOT64: howto manager. (line 909)
+* BFD_RELOC_SH_LABEL: howto manager. (line 879)
+* BFD_RELOC_SH_LOOP_END: howto manager. (line 881)
+* BFD_RELOC_SH_LOOP_START: howto manager. (line 880)
+* BFD_RELOC_SH_PCDISP12BY2: howto manager. (line 855)
+* BFD_RELOC_SH_PCDISP8BY2: howto manager. (line 854)
+* BFD_RELOC_SH_PCRELIMM8BY2: howto manager. (line 870)
+* BFD_RELOC_SH_PCRELIMM8BY4: howto manager. (line 871)
+* BFD_RELOC_SH_PLT_HI16: howto manager. (line 898)
+* BFD_RELOC_SH_PLT_LOW16: howto manager. (line 895)
+* BFD_RELOC_SH_PLT_MEDHI16: howto manager. (line 897)
+* BFD_RELOC_SH_PLT_MEDLOW16: howto manager. (line 896)
+* BFD_RELOC_SH_PT_16: howto manager. (line 935)
+* BFD_RELOC_SH_RELATIVE: howto manager. (line 885)
+* BFD_RELOC_SH_RELATIVE64: howto manager. (line 910)
+* BFD_RELOC_SH_SHMEDIA_CODE: howto manager. (line 916)
+* BFD_RELOC_SH_SWITCH16: howto manager. (line 872)
+* BFD_RELOC_SH_SWITCH32: howto manager. (line 873)
+* BFD_RELOC_SH_TLS_DTPMOD32: howto manager. (line 941)
+* BFD_RELOC_SH_TLS_DTPOFF32: howto manager. (line 942)
+* BFD_RELOC_SH_TLS_GD_32: howto manager. (line 936)
+* BFD_RELOC_SH_TLS_IE_32: howto manager. (line 939)
+* BFD_RELOC_SH_TLS_LD_32: howto manager. (line 937)
+* BFD_RELOC_SH_TLS_LDO_32: howto manager. (line 938)
+* BFD_RELOC_SH_TLS_LE_32: howto manager. (line 940)
+* BFD_RELOC_SH_TLS_TPOFF32: howto manager. (line 943)
+* BFD_RELOC_SH_USES: howto manager. (line 874)
* BFD_RELOC_SPARC13: howto manager. (line 134)
* BFD_RELOC_SPARC22: howto manager. (line 133)
* BFD_RELOC_SPARC_10: howto manager. (line 163)
@@ -11164,40 +11403,62 @@ BFD Index
* BFD_RELOC_THUMB_PCREL_BRANCH25: howto manager. (line 720)
* BFD_RELOC_THUMB_PCREL_BRANCH7: howto manager. (line 715)
* BFD_RELOC_THUMB_PCREL_BRANCH9: howto manager. (line 716)
-* BFD_RELOC_TIC30_LDP: howto manager. (line 1259)
-* BFD_RELOC_TIC54X_16_OF_23: howto manager. (line 1277)
-* BFD_RELOC_TIC54X_23: howto manager. (line 1274)
-* BFD_RELOC_TIC54X_MS7_OF_23: howto manager. (line 1282)
-* BFD_RELOC_TIC54X_PARTLS7: howto manager. (line 1264)
-* BFD_RELOC_TIC54X_PARTMS9: howto manager. (line 1269)
-* bfd_reloc_type_lookup: howto manager. (line 2289)
-* BFD_RELOC_V850_22_PCREL: howto manager. (line 1186)
-* BFD_RELOC_V850_9_PCREL: howto manager. (line 1183)
-* BFD_RELOC_V850_ALIGN: howto manager. (line 1244)
-* BFD_RELOC_V850_CALLT_16_16_OFFSET: howto manager. (line 1235)
-* BFD_RELOC_V850_CALLT_6_7_OFFSET: howto manager. (line 1232)
-* BFD_RELOC_V850_LO16_SPLIT_OFFSET: howto manager. (line 1247)
-* BFD_RELOC_V850_LONGCALL: howto manager. (line 1238)
-* BFD_RELOC_V850_LONGJUMP: howto manager. (line 1241)
-* BFD_RELOC_V850_SDA_15_16_OFFSET: howto manager. (line 1192)
-* BFD_RELOC_V850_SDA_16_16_OFFSET: howto manager. (line 1189)
-* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager. (line 1224)
-* BFD_RELOC_V850_TDA_16_16_OFFSET: howto manager. (line 1214)
-* BFD_RELOC_V850_TDA_4_4_OFFSET: howto manager. (line 1221)
-* BFD_RELOC_V850_TDA_4_5_OFFSET: howto manager. (line 1217)
-* BFD_RELOC_V850_TDA_6_8_OFFSET: howto manager. (line 1203)
-* BFD_RELOC_V850_TDA_7_7_OFFSET: howto manager. (line 1211)
-* BFD_RELOC_V850_TDA_7_8_OFFSET: howto manager. (line 1207)
-* BFD_RELOC_V850_ZDA_15_16_OFFSET: howto manager. (line 1199)
-* BFD_RELOC_V850_ZDA_16_16_OFFSET: howto manager. (line 1196)
-* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager. (line 1228)
-* BFD_RELOC_VAX_GLOB_DAT: howto manager. (line 2054)
-* BFD_RELOC_VAX_JMP_SLOT: howto manager. (line 2055)
-* BFD_RELOC_VAX_RELATIVE: howto manager. (line 2056)
-* BFD_RELOC_VPE4KMATH_DATA: howto manager. (line 1693)
-* BFD_RELOC_VPE4KMATH_INSN: howto manager. (line 1694)
-* BFD_RELOC_VTABLE_ENTRY: howto manager. (line 1698)
-* BFD_RELOC_VTABLE_INHERIT: howto manager. (line 1697)
+* BFD_RELOC_TIC30_LDP: howto manager. (line 1343)
+* BFD_RELOC_TIC54X_16_OF_23: howto manager. (line 1361)
+* BFD_RELOC_TIC54X_23: howto manager. (line 1358)
+* BFD_RELOC_TIC54X_MS7_OF_23: howto manager. (line 1366)
+* BFD_RELOC_TIC54X_PARTLS7: howto manager. (line 1348)
+* BFD_RELOC_TIC54X_PARTMS9: howto manager. (line 1353)
+* bfd_reloc_type_lookup: howto manager. (line 2408)
+* BFD_RELOC_V850_16_GOT: howto manager. (line 1299)
+* BFD_RELOC_V850_16_GOTOFF: howto manager. (line 1323)
+* BFD_RELOC_V850_16_PCREL: howto manager. (line 1269)
+* BFD_RELOC_V850_16_S1: howto manager. (line 1287)
+* BFD_RELOC_V850_16_SPLIT_OFFSET: howto manager. (line 1284)
+* BFD_RELOC_V850_17_PCREL: howto manager. (line 1272)
+* BFD_RELOC_V850_22_PCREL: howto manager. (line 1204)
+* BFD_RELOC_V850_22_PLT_PCREL: howto manager. (line 1305)
+* BFD_RELOC_V850_23: howto manager. (line 1275)
+* BFD_RELOC_V850_32_ABS: howto manager. (line 1281)
+* BFD_RELOC_V850_32_GOT: howto manager. (line 1302)
+* BFD_RELOC_V850_32_GOTOFF: howto manager. (line 1326)
+* BFD_RELOC_V850_32_GOTPCREL: howto manager. (line 1296)
+* BFD_RELOC_V850_32_PCREL: howto manager. (line 1278)
+* BFD_RELOC_V850_32_PLT_PCREL: howto manager. (line 1308)
+* BFD_RELOC_V850_9_PCREL: howto manager. (line 1201)
+* BFD_RELOC_V850_ALIGN: howto manager. (line 1262)
+* BFD_RELOC_V850_CALLT_15_16_OFFSET: howto manager. (line 1293)
+* BFD_RELOC_V850_CALLT_16_16_OFFSET: howto manager. (line 1253)
+* BFD_RELOC_V850_CALLT_6_7_OFFSET: howto manager. (line 1250)
+* BFD_RELOC_V850_CODE: howto manager. (line 1329)
+* BFD_RELOC_V850_COPY: howto manager. (line 1311)
+* BFD_RELOC_V850_DATA: howto manager. (line 1332)
+* BFD_RELOC_V850_GLOB_DAT: howto manager. (line 1314)
+* BFD_RELOC_V850_JMP_SLOT: howto manager. (line 1317)
+* BFD_RELOC_V850_LO16_S1: howto manager. (line 1290)
+* BFD_RELOC_V850_LO16_SPLIT_OFFSET: howto manager. (line 1265)
+* BFD_RELOC_V850_LONGCALL: howto manager. (line 1256)
+* BFD_RELOC_V850_LONGJUMP: howto manager. (line 1259)
+* BFD_RELOC_V850_RELATIVE: howto manager. (line 1320)
+* BFD_RELOC_V850_SDA_15_16_OFFSET: howto manager. (line 1210)
+* BFD_RELOC_V850_SDA_16_16_OFFSET: howto manager. (line 1207)
+* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager. (line 1242)
+* BFD_RELOC_V850_TDA_16_16_OFFSET: howto manager. (line 1232)
+* BFD_RELOC_V850_TDA_4_4_OFFSET: howto manager. (line 1239)
+* BFD_RELOC_V850_TDA_4_5_OFFSET: howto manager. (line 1235)
+* BFD_RELOC_V850_TDA_6_8_OFFSET: howto manager. (line 1221)
+* BFD_RELOC_V850_TDA_7_7_OFFSET: howto manager. (line 1229)
+* BFD_RELOC_V850_TDA_7_8_OFFSET: howto manager. (line 1225)
+* BFD_RELOC_V850_ZDA_15_16_OFFSET: howto manager. (line 1217)
+* BFD_RELOC_V850_ZDA_16_16_OFFSET: howto manager. (line 1214)
+* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager. (line 1246)
+* BFD_RELOC_VAX_GLOB_DAT: howto manager. (line 2173)
+* BFD_RELOC_VAX_JMP_SLOT: howto manager. (line 2174)
+* BFD_RELOC_VAX_RELATIVE: howto manager. (line 2175)
+* BFD_RELOC_VPE4KMATH_DATA: howto manager. (line 1812)
+* BFD_RELOC_VPE4KMATH_INSN: howto manager. (line 1813)
+* BFD_RELOC_VTABLE_ENTRY: howto manager. (line 1817)
+* BFD_RELOC_VTABLE_INHERIT: howto manager. (line 1816)
* BFD_RELOC_X86_64_32S: howto manager. (line 538)
* BFD_RELOC_X86_64_COPY: howto manager. (line 533)
* BFD_RELOC_X86_64_DTPMOD64: howto manager. (line 539)
@@ -11225,187 +11486,188 @@ BFD Index
* BFD_RELOC_X86_64_TLSLD: howto manager. (line 543)
* BFD_RELOC_X86_64_TPOFF32: howto manager. (line 546)
* BFD_RELOC_X86_64_TPOFF64: howto manager. (line 541)
-* BFD_RELOC_XC16X_PAG: howto manager. (line 2048)
-* BFD_RELOC_XC16X_POF: howto manager. (line 2049)
-* BFD_RELOC_XC16X_SEG: howto manager. (line 2050)
-* BFD_RELOC_XC16X_SOF: howto manager. (line 2051)
-* BFD_RELOC_XSTORMY16_12: howto manager. (line 2040)
-* BFD_RELOC_XSTORMY16_24: howto manager. (line 2041)
-* BFD_RELOC_XSTORMY16_FPTR16: howto manager. (line 2042)
-* BFD_RELOC_XSTORMY16_REL_12: howto manager. (line 2039)
-* BFD_RELOC_XTENSA_ASM_EXPAND: howto manager. (line 2160)
-* BFD_RELOC_XTENSA_ASM_SIMPLIFY: howto manager. (line 2165)
-* BFD_RELOC_XTENSA_DIFF16: howto manager. (line 2107)
-* BFD_RELOC_XTENSA_DIFF32: howto manager. (line 2108)
-* BFD_RELOC_XTENSA_DIFF8: howto manager. (line 2106)
-* BFD_RELOC_XTENSA_GLOB_DAT: howto manager. (line 2096)
-* BFD_RELOC_XTENSA_JMP_SLOT: howto manager. (line 2097)
-* BFD_RELOC_XTENSA_OP0: howto manager. (line 2154)
-* BFD_RELOC_XTENSA_OP1: howto manager. (line 2155)
-* BFD_RELOC_XTENSA_OP2: howto manager. (line 2156)
-* BFD_RELOC_XTENSA_PLT: howto manager. (line 2101)
-* BFD_RELOC_XTENSA_RELATIVE: howto manager. (line 2098)
-* BFD_RELOC_XTENSA_RTLD: howto manager. (line 2091)
-* BFD_RELOC_XTENSA_SLOT0_ALT: howto manager. (line 2136)
-* BFD_RELOC_XTENSA_SLOT0_OP: howto manager. (line 2116)
-* BFD_RELOC_XTENSA_SLOT10_ALT: howto manager. (line 2146)
-* BFD_RELOC_XTENSA_SLOT10_OP: howto manager. (line 2126)
-* BFD_RELOC_XTENSA_SLOT11_ALT: howto manager. (line 2147)
-* BFD_RELOC_XTENSA_SLOT11_OP: howto manager. (line 2127)
-* BFD_RELOC_XTENSA_SLOT12_ALT: howto manager. (line 2148)
-* BFD_RELOC_XTENSA_SLOT12_OP: howto manager. (line 2128)
-* BFD_RELOC_XTENSA_SLOT13_ALT: howto manager. (line 2149)
-* BFD_RELOC_XTENSA_SLOT13_OP: howto manager. (line 2129)
-* BFD_RELOC_XTENSA_SLOT14_ALT: howto manager. (line 2150)
-* BFD_RELOC_XTENSA_SLOT14_OP: howto manager. (line 2130)
-* BFD_RELOC_XTENSA_SLOT1_ALT: howto manager. (line 2137)
-* BFD_RELOC_XTENSA_SLOT1_OP: howto manager. (line 2117)
-* BFD_RELOC_XTENSA_SLOT2_ALT: howto manager. (line 2138)
-* BFD_RELOC_XTENSA_SLOT2_OP: howto manager. (line 2118)
-* BFD_RELOC_XTENSA_SLOT3_ALT: howto manager. (line 2139)
-* BFD_RELOC_XTENSA_SLOT3_OP: howto manager. (line 2119)
-* BFD_RELOC_XTENSA_SLOT4_ALT: howto manager. (line 2140)
-* BFD_RELOC_XTENSA_SLOT4_OP: howto manager. (line 2120)
-* BFD_RELOC_XTENSA_SLOT5_ALT: howto manager. (line 2141)
-* BFD_RELOC_XTENSA_SLOT5_OP: howto manager. (line 2121)
-* BFD_RELOC_XTENSA_SLOT6_ALT: howto manager. (line 2142)
-* BFD_RELOC_XTENSA_SLOT6_OP: howto manager. (line 2122)
-* BFD_RELOC_XTENSA_SLOT7_ALT: howto manager. (line 2143)
-* BFD_RELOC_XTENSA_SLOT7_OP: howto manager. (line 2123)
-* BFD_RELOC_XTENSA_SLOT8_ALT: howto manager. (line 2144)
-* BFD_RELOC_XTENSA_SLOT8_OP: howto manager. (line 2124)
-* BFD_RELOC_XTENSA_SLOT9_ALT: howto manager. (line 2145)
-* BFD_RELOC_XTENSA_SLOT9_OP: howto manager. (line 2125)
-* BFD_RELOC_XTENSA_TLS_ARG: howto manager. (line 2175)
-* BFD_RELOC_XTENSA_TLS_CALL: howto manager. (line 2176)
-* BFD_RELOC_XTENSA_TLS_DTPOFF: howto manager. (line 2172)
-* BFD_RELOC_XTENSA_TLS_FUNC: howto manager. (line 2174)
-* BFD_RELOC_XTENSA_TLS_TPOFF: howto manager. (line 2173)
-* BFD_RELOC_XTENSA_TLSDESC_ARG: howto manager. (line 2171)
-* BFD_RELOC_XTENSA_TLSDESC_FN: howto manager. (line 2170)
-* BFD_RELOC_Z80_DISP8: howto manager. (line 2179)
-* BFD_RELOC_Z8K_CALLR: howto manager. (line 2185)
-* BFD_RELOC_Z8K_DISP7: howto manager. (line 2182)
-* BFD_RELOC_Z8K_IMM4L: howto manager. (line 2188)
-* bfd_scan_arch: Architectures. (line 437)
-* bfd_scan_vma: BFD front end. (line 513)
-* bfd_seach_for_target: bfd_target. (line 505)
+* BFD_RELOC_XC16X_PAG: howto manager. (line 2167)
+* BFD_RELOC_XC16X_POF: howto manager. (line 2168)
+* BFD_RELOC_XC16X_SEG: howto manager. (line 2169)
+* BFD_RELOC_XC16X_SOF: howto manager. (line 2170)
+* BFD_RELOC_XSTORMY16_12: howto manager. (line 2159)
+* BFD_RELOC_XSTORMY16_24: howto manager. (line 2160)
+* BFD_RELOC_XSTORMY16_FPTR16: howto manager. (line 2161)
+* BFD_RELOC_XSTORMY16_REL_12: howto manager. (line 2158)
+* BFD_RELOC_XTENSA_ASM_EXPAND: howto manager. (line 2279)
+* BFD_RELOC_XTENSA_ASM_SIMPLIFY: howto manager. (line 2284)
+* BFD_RELOC_XTENSA_DIFF16: howto manager. (line 2226)
+* BFD_RELOC_XTENSA_DIFF32: howto manager. (line 2227)
+* BFD_RELOC_XTENSA_DIFF8: howto manager. (line 2225)
+* BFD_RELOC_XTENSA_GLOB_DAT: howto manager. (line 2215)
+* BFD_RELOC_XTENSA_JMP_SLOT: howto manager. (line 2216)
+* BFD_RELOC_XTENSA_OP0: howto manager. (line 2273)
+* BFD_RELOC_XTENSA_OP1: howto manager. (line 2274)
+* BFD_RELOC_XTENSA_OP2: howto manager. (line 2275)
+* BFD_RELOC_XTENSA_PLT: howto manager. (line 2220)
+* BFD_RELOC_XTENSA_RELATIVE: howto manager. (line 2217)
+* BFD_RELOC_XTENSA_RTLD: howto manager. (line 2210)
+* BFD_RELOC_XTENSA_SLOT0_ALT: howto manager. (line 2255)
+* BFD_RELOC_XTENSA_SLOT0_OP: howto manager. (line 2235)
+* BFD_RELOC_XTENSA_SLOT10_ALT: howto manager. (line 2265)
+* BFD_RELOC_XTENSA_SLOT10_OP: howto manager. (line 2245)
+* BFD_RELOC_XTENSA_SLOT11_ALT: howto manager. (line 2266)
+* BFD_RELOC_XTENSA_SLOT11_OP: howto manager. (line 2246)
+* BFD_RELOC_XTENSA_SLOT12_ALT: howto manager. (line 2267)
+* BFD_RELOC_XTENSA_SLOT12_OP: howto manager. (line 2247)
+* BFD_RELOC_XTENSA_SLOT13_ALT: howto manager. (line 2268)
+* BFD_RELOC_XTENSA_SLOT13_OP: howto manager. (line 2248)
+* BFD_RELOC_XTENSA_SLOT14_ALT: howto manager. (line 2269)
+* BFD_RELOC_XTENSA_SLOT14_OP: howto manager. (line 2249)
+* BFD_RELOC_XTENSA_SLOT1_ALT: howto manager. (line 2256)
+* BFD_RELOC_XTENSA_SLOT1_OP: howto manager. (line 2236)
+* BFD_RELOC_XTENSA_SLOT2_ALT: howto manager. (line 2257)
+* BFD_RELOC_XTENSA_SLOT2_OP: howto manager. (line 2237)
+* BFD_RELOC_XTENSA_SLOT3_ALT: howto manager. (line 2258)
+* BFD_RELOC_XTENSA_SLOT3_OP: howto manager. (line 2238)
+* BFD_RELOC_XTENSA_SLOT4_ALT: howto manager. (line 2259)
+* BFD_RELOC_XTENSA_SLOT4_OP: howto manager. (line 2239)
+* BFD_RELOC_XTENSA_SLOT5_ALT: howto manager. (line 2260)
+* BFD_RELOC_XTENSA_SLOT5_OP: howto manager. (line 2240)
+* BFD_RELOC_XTENSA_SLOT6_ALT: howto manager. (line 2261)
+* BFD_RELOC_XTENSA_SLOT6_OP: howto manager. (line 2241)
+* BFD_RELOC_XTENSA_SLOT7_ALT: howto manager. (line 2262)
+* BFD_RELOC_XTENSA_SLOT7_OP: howto manager. (line 2242)
+* BFD_RELOC_XTENSA_SLOT8_ALT: howto manager. (line 2263)
+* BFD_RELOC_XTENSA_SLOT8_OP: howto manager. (line 2243)
+* BFD_RELOC_XTENSA_SLOT9_ALT: howto manager. (line 2264)
+* BFD_RELOC_XTENSA_SLOT9_OP: howto manager. (line 2244)
+* BFD_RELOC_XTENSA_TLS_ARG: howto manager. (line 2294)
+* BFD_RELOC_XTENSA_TLS_CALL: howto manager. (line 2295)
+* BFD_RELOC_XTENSA_TLS_DTPOFF: howto manager. (line 2291)
+* BFD_RELOC_XTENSA_TLS_FUNC: howto manager. (line 2293)
+* BFD_RELOC_XTENSA_TLS_TPOFF: howto manager. (line 2292)
+* BFD_RELOC_XTENSA_TLSDESC_ARG: howto manager. (line 2290)
+* BFD_RELOC_XTENSA_TLSDESC_FN: howto manager. (line 2289)
+* BFD_RELOC_Z80_DISP8: howto manager. (line 2298)
+* BFD_RELOC_Z8K_CALLR: howto manager. (line 2304)
+* BFD_RELOC_Z8K_DISP7: howto manager. (line 2301)
+* BFD_RELOC_Z8K_IMM4L: howto manager. (line 2307)
+* bfd_rename_section: section prototypes. (line 155)
+* bfd_scan_arch: Architectures. (line 447)
+* bfd_scan_vma: BFD front end. (line 532)
+* bfd_seach_for_target: bfd_target. (line 507)
* bfd_section_already_linked: Writing the symbol table.
(line 55)
* bfd_section_list_clear: section prototypes. (line 8)
-* bfd_sections_find_if: section prototypes. (line 176)
-* bfd_set_arch_info: Architectures. (line 478)
+* bfd_sections_find_if: section prototypes. (line 185)
+* bfd_set_arch_info: Architectures. (line 488)
* bfd_set_archive_head: Archives. (line 69)
-* bfd_set_default_target: bfd_target. (line 444)
-* bfd_set_error: BFD front end. (line 323)
-* bfd_set_error_handler: BFD front end. (line 365)
-* bfd_set_error_program_name: BFD front end. (line 374)
-* bfd_set_file_flags: BFD front end. (line 433)
+* bfd_set_default_target: bfd_target. (line 446)
+* bfd_set_error: BFD front end. (line 342)
+* bfd_set_error_handler: BFD front end. (line 384)
+* bfd_set_error_program_name: BFD front end. (line 393)
+* bfd_set_file_flags: BFD front end. (line 452)
* bfd_set_format: Formats. (line 68)
-* bfd_set_gp_size: BFD front end. (line 503)
-* bfd_set_private_flags: BFD front end. (line 580)
-* bfd_set_reloc: BFD front end. (line 423)
-* bfd_set_section_contents: section prototypes. (line 207)
+* bfd_set_gp_size: BFD front end. (line 522)
+* bfd_set_private_flags: BFD front end. (line 599)
+* bfd_set_reloc: BFD front end. (line 442)
+* bfd_set_section_contents: section prototypes. (line 216)
* bfd_set_section_flags: section prototypes. (line 140)
-* bfd_set_section_size: section prototypes. (line 193)
-* bfd_set_start_address: BFD front end. (line 482)
+* bfd_set_section_size: section prototypes. (line 202)
+* bfd_set_start_address: BFD front end. (line 501)
* bfd_set_symtab: symbol handling functions.
(line 60)
* bfd_symbol_info: symbol handling functions.
(line 130)
-* bfd_target_list: bfd_target. (line 496)
+* bfd_target_list: bfd_target. (line 498)
* bfd_write_bigendian_4byte_int: Internal. (line 13)
* bfd_zalloc: Opening and Closing.
- (line 229)
+ (line 232)
* bfd_zalloc2: Opening and Closing.
- (line 238)
+ (line 241)
* coff_symbol_type: coff. (line 244)
-* core_file_matches_executable_p: Core Files. (line 30)
+* core_file_matches_executable_p: Core Files. (line 39)
* find_separate_debug_file: Opening and Closing.
- (line 280)
-* generic_core_file_matches_executable_p: Core Files. (line 40)
+ (line 283)
+* generic_core_file_matches_executable_p: Core Files. (line 49)
* get_debug_link_info: Opening and Closing.
- (line 261)
+ (line 264)
* Hash tables: Hash Tables. (line 6)
* internal object-file format: Canonical format. (line 11)
* Linker: Linker Functions. (line 6)
-* Other functions: BFD front end. (line 595)
+* Other functions: BFD front end. (line 614)
* separate_debug_file_exists: Opening and Closing.
- (line 271)
-* struct bfd_iovec: BFD front end. (line 798)
+ (line 274)
+* struct bfd_iovec: BFD front end. (line 817)
* target vector (_bfd_final_link): Performing the Final Link.
(line 6)
* target vector (_bfd_link_add_symbols): Adding Symbols to the Hash Table.
(line 6)
* target vector (_bfd_link_hash_table_create): Creating a Linker Hash Table.
(line 6)
-* The HOWTO Macro: typedef arelent. (line 291)
+* The HOWTO Macro: typedef arelent. (line 288)
* what is it?: Overview. (line 6)

Tag Table:
-Node: Top1105
-Node: Overview1444
-Node: History2495
-Node: How It Works3441
-Node: What BFD Version 2 Can Do4984
-Node: BFD information loss6299
-Node: Canonical format8831
-Node: BFD front end13203
-Node: Memory Usage44511
-Node: Initialization45739
-Node: Sections46198
-Node: Section Input46681
-Node: Section Output48046
-Node: typedef asection50532
-Node: section prototypes75541
-Node: Symbols85221
-Node: Reading Symbols86816
-Node: Writing Symbols87923
-Node: Mini Symbols89632
-Node: typedef asymbol90606
-Node: symbol handling functions96665
-Node: Archives102007
-Node: Formats105733
-Node: Relocations108681
-Node: typedef arelent109408
-Node: howto manager125219
-Node: Core Files199207
-Node: Targets201024
-Node: bfd_target202994
-Node: Architectures225310
-Node: Opening and Closing248660
-Node: Internal259998
-Node: File Caching266331
-Node: Linker Functions268245
-Node: Creating a Linker Hash Table269918
-Node: Adding Symbols to the Hash Table271656
-Node: Differing file formats272556
-Node: Adding symbols from an object file274281
-Node: Adding symbols from an archive276432
-Node: Performing the Final Link278846
-Node: Information provided by the linker280088
-Node: Relocating the section contents281242
-Node: Writing the symbol table282993
-Node: Hash Tables287008
-Node: Creating and Freeing a Hash Table288206
-Node: Looking Up or Entering a String289456
-Node: Traversing a Hash Table290709
-Node: Deriving a New Hash Table Type291498
-Node: Define the Derived Structures292564
-Node: Write the Derived Creation Routine293645
-Node: Write Other Derived Routines296269
-Node: BFD back ends297584
-Node: What to Put Where297854
-Node: aout298034
-Node: coff304352
-Node: elf332785
-Node: mmo333186
-Node: File layout334114
-Node: Symbol-table339761
-Node: mmo section mapping343530
-Node: GNU Free Documentation License347182
-Node: BFD Index372265
+Node: Top1144
+Node: Overview1483
+Node: History2534
+Node: How It Works3480
+Node: What BFD Version 2 Can Do5023
+Node: BFD information loss6338
+Node: Canonical format8870
+Node: BFD front end13242
+Node: Memory Usage45321
+Node: Initialization46549
+Node: Sections47008
+Node: Section Input47491
+Node: Section Output48856
+Node: typedef asection51342
+Node: section prototypes76654
+Node: Symbols86549
+Node: Reading Symbols88144
+Node: Writing Symbols89251
+Node: Mini Symbols90960
+Node: typedef asymbol91934
+Node: symbol handling functions97993
+Node: Archives103335
+Node: Formats107061
+Node: Relocations110009
+Node: typedef arelent110736
+Node: howto manager126372
+Node: Core Files203204
+Node: Targets205242
+Node: bfd_target207212
+Node: Architectures229605
+Node: Opening and Closing253363
+Node: Internal264819
+Node: File Caching271152
+Node: Linker Functions273066
+Node: Creating a Linker Hash Table274739
+Node: Adding Symbols to the Hash Table276477
+Node: Differing file formats277377
+Node: Adding symbols from an object file279102
+Node: Adding symbols from an archive281253
+Node: Performing the Final Link284182
+Node: Information provided by the linker285424
+Node: Relocating the section contents286578
+Node: Writing the symbol table288329
+Node: Hash Tables292344
+Node: Creating and Freeing a Hash Table293542
+Node: Looking Up or Entering a String294792
+Node: Traversing a Hash Table296045
+Node: Deriving a New Hash Table Type296834
+Node: Define the Derived Structures297900
+Node: Write the Derived Creation Routine298981
+Node: Write Other Derived Routines301605
+Node: BFD back ends302920
+Node: What to Put Where303190
+Node: aout303370
+Node: coff309688
+Node: elf338121
+Node: mmo338522
+Node: File layout339450
+Node: Symbol-table345097
+Node: mmo section mapping348866
+Node: GNU Free Documentation License352518
+Node: BFD Index377601

End Tag Table
diff --git a/share/info/binutils.info b/share/info/binutils.info
index 35f1dc8..9e9acb8 100644
--- a/share/info/binutils.info
+++ b/share/info/binutils.info
@@ -1,5 +1,5 @@
This is binutils.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../binutils/binutils-2.21/binutils/doc/binutils.texi.
+/tmp/android-15472/src/build/../binutils/binutils-2.21/binutils/doc/binutils.texi.
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
@@ -4612,35 +4612,35 @@ Binutils Index

Tag Table:
-Node: Top2070
-Node: ar3780
-Node: ar cmdline6585
-Node: ar scripts15909
-Node: nm21597
-Node: objcopy31071
-Node: objdump60679
-Node: ranlib81351
-Node: size82172
-Node: strings85177
-Node: strip87635
-Node: c++filt93586
-Ref: c++filt-Footnote-198433
-Node: addr2line98539
-Node: nlmconv102339
-Node: windmc104945
-Node: windres108594
-Node: dlltool114621
-Node: def file format127507
-Node: readelf129438
-Node: elfedit136018
-Node: Common Options138238
-Node: Selecting the Target System139278
-Node: Target Selection140210
-Node: Architecture Selection142192
-Node: Reporting Bugs143020
-Node: Bug Criteria143799
-Node: Bug Reporting144352
-Node: GNU Free Documentation License151222
-Node: Binutils Index176401
+Node: Top2071
+Node: ar3781
+Node: ar cmdline6586
+Node: ar scripts15910
+Node: nm21598
+Node: objcopy31072
+Node: objdump60680
+Node: ranlib81352
+Node: size82173
+Node: strings85178
+Node: strip87636
+Node: c++filt93587
+Ref: c++filt-Footnote-198434
+Node: addr2line98540
+Node: nlmconv102340
+Node: windmc104946
+Node: windres108595
+Node: dlltool114622
+Node: def file format127508
+Node: readelf129439
+Node: elfedit136019
+Node: Common Options138239
+Node: Selecting the Target System139279
+Node: Target Selection140211
+Node: Architecture Selection142193
+Node: Reporting Bugs143021
+Node: Bug Criteria143800
+Node: Bug Reporting144353
+Node: GNU Free Documentation License151223
+Node: Binutils Index176402

End Tag Table
diff --git a/share/info/configure.info b/share/info/configure.info
index 8e15432..d5b76a9 100644
--- a/share/info/configure.info
+++ b/share/info/configure.info
@@ -1,5 +1,5 @@
This is configure.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gdb/gdb-7.1.x/etc/configure.texi.
+/tmp/android-15472/src/build/../gdb/gdb-7.3.x/etc/configure.texi.
INFO-DIR-SECTION GNU admin
START-INFO-DIR-ENTRY
@@ -2710,64 +2710,64 @@ Index

Tag Table:
-Node: Top1019
-Node: Introduction1547
-Node: Goals2629
-Node: Tools3353
-Node: History4347
-Node: Building7345
-Node: Getting Started10608
-Node: Write configure.in11121
-Node: Write Makefile.am18372
-Node: Write acconfig.h21549
-Node: Generate files23086
-Node: Getting Started Example25052
-Node: Getting Started Example 125807
-Node: Getting Started Example 227728
-Node: Getting Started Example 330723
-Node: Generate Files in Example33087
-Node: Files34177
-Node: Developer Files34788
-Node: Developer Files Picture35168
-Node: Written Developer Files36456
-Node: Generated Developer Files39008
-Node: Build Files42152
-Node: Build Files Picture42813
-Node: Build Files Description43577
-Node: Support Files45583
-Node: Configuration Names48465
-Node: Configuration Name Definition48965
-Node: Using Configuration Names51288
-Node: Cross Compilation Tools53258
-Node: Cross Compilation Concepts53949
-Node: Host and Target54917
-Node: Using the Host Type56418
-Node: Specifying the Target57767
-Node: Using the Target Type58556
-Node: Cross Tools in the Cygnus Tree61987
-Node: Host and Target Libraries63044
-Node: Target Library Configure Scripts66793
-Node: Make Targets in Cygnus Tree69885
-Node: Target libiberty71233
-Node: Canadian Cross72620
-Node: Canadian Cross Example73461
-Node: Canadian Cross Concepts74580
-Node: Build Cross Host Tools76092
-Node: Build and Host Options77044
-Node: CCross not in Cygnus Tree78830
-Node: CCross in Cygnus Tree79808
-Node: Standard Cygnus CCross80229
-Node: Cross Cygnus CCross81593
-Node: Supporting Canadian Cross84393
-Node: CCross in Configure85008
-Node: CCross in Make88176
-Node: Cygnus Configure89779
-Node: Cygnus Configure Basics90614
-Node: Cygnus Configure in C++ Libraries95292
-Node: Multilibs96299
-Node: Multilibs in gcc97344
-Node: Multilibs in Target Libraries98422
-Node: FAQ102613
-Node: Index106713
+Node: Top1020
+Node: Introduction1548
+Node: Goals2630
+Node: Tools3354
+Node: History4348
+Node: Building7346
+Node: Getting Started10609
+Node: Write configure.in11122
+Node: Write Makefile.am18373
+Node: Write acconfig.h21550
+Node: Generate files23087
+Node: Getting Started Example25053
+Node: Getting Started Example 125808
+Node: Getting Started Example 227729
+Node: Getting Started Example 330724
+Node: Generate Files in Example33088
+Node: Files34178
+Node: Developer Files34789
+Node: Developer Files Picture35169
+Node: Written Developer Files36457
+Node: Generated Developer Files39009
+Node: Build Files42153
+Node: Build Files Picture42814
+Node: Build Files Description43578
+Node: Support Files45584
+Node: Configuration Names48466
+Node: Configuration Name Definition48966
+Node: Using Configuration Names51289
+Node: Cross Compilation Tools53259
+Node: Cross Compilation Concepts53950
+Node: Host and Target54918
+Node: Using the Host Type56419
+Node: Specifying the Target57768
+Node: Using the Target Type58557
+Node: Cross Tools in the Cygnus Tree61988
+Node: Host and Target Libraries63045
+Node: Target Library Configure Scripts66794
+Node: Make Targets in Cygnus Tree69886
+Node: Target libiberty71234
+Node: Canadian Cross72621
+Node: Canadian Cross Example73462
+Node: Canadian Cross Concepts74581
+Node: Build Cross Host Tools76093
+Node: Build and Host Options77045
+Node: CCross not in Cygnus Tree78831
+Node: CCross in Cygnus Tree79809
+Node: Standard Cygnus CCross80230
+Node: Cross Cygnus CCross81594
+Node: Supporting Canadian Cross84394
+Node: CCross in Configure85009
+Node: CCross in Make88177
+Node: Cygnus Configure89780
+Node: Cygnus Configure Basics90615
+Node: Cygnus Configure in C++ Libraries95293
+Node: Multilibs96300
+Node: Multilibs in gcc97345
+Node: Multilibs in Target Libraries98423
+Node: FAQ102614
+Node: Index106714

End Tag Table
diff --git a/share/info/cpp.info b/share/info/cpp.info
index b10f22e..2c07ed1 100644
--- a/share/info/cpp.info
+++ b/share/info/cpp.info
@@ -1,5 +1,5 @@
This is doc/cpp.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gcc/gcc-4.6/gcc/doc/cpp.texi.
+/tmp/android-15472/src/build/../gcc/gcc-4.6/gcc/doc/cpp.texi.
Copyright (C) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -5471,79 +5471,79 @@ Concept Index

Tag Table:
-Node: Top1129
-Node: Overview3861
-Node: Character sets6694
-Ref: Character sets-Footnote-18877
-Node: Initial processing9058
-Ref: trigraphs10617
-Node: Tokenization14819
-Ref: Tokenization-Footnote-121955
-Node: The preprocessing language22066
-Node: Header Files24944
-Node: Include Syntax26860
-Node: Include Operation28497
-Node: Search Path30345
-Node: Once-Only Headers33535
-Node: Alternatives to Wrapper #ifndef35194
-Node: Computed Includes36937
-Node: Wrapper Headers40095
-Node: System Headers42521
-Node: Macros44571
-Node: Object-like Macros45712
-Node: Function-like Macros49302
-Node: Macro Arguments50918
-Node: Stringification55063
-Node: Concatenation58269
-Node: Variadic Macros61377
-Node: Predefined Macros66164
-Node: Standard Predefined Macros66752
-Node: Common Predefined Macros72689
-Node: System-specific Predefined Macros90192
-Node: C++ Named Operators92213
-Node: Undefining and Redefining Macros93177
-Node: Directives Within Macro Arguments95281
-Node: Macro Pitfalls96829
-Node: Misnesting97362
-Node: Operator Precedence Problems98474
-Node: Swallowing the Semicolon100340
-Node: Duplication of Side Effects102363
-Node: Self-Referential Macros104546
-Node: Argument Prescan106955
-Node: Newlines in Arguments110709
-Node: Conditionals111660
-Node: Conditional Uses113490
-Node: Conditional Syntax114848
-Node: Ifdef115168
-Node: If118329
-Node: Defined120633
-Node: Else121916
-Node: Elif122486
-Node: Deleted Code123775
-Node: Diagnostics125022
-Node: Line Control126639
-Node: Pragmas130443
-Node: Other Directives134760
-Node: Preprocessor Output135810
-Node: Traditional Mode139011
-Node: Traditional lexical analysis140069
-Node: Traditional macros142572
-Node: Traditional miscellany146374
-Node: Traditional warnings147371
-Node: Implementation Details149568
-Node: Implementation-defined behavior150189
-Ref: Identifier characters150941
-Node: Implementation limits154019
-Node: Obsolete Features156693
-Node: Differences from previous versions159581
-Node: Invocation163789
-Ref: Wtrigraphs168241
-Ref: dashMF173016
-Ref: fdollars-in-identifiers182727
-Node: Environment Variables190890
-Node: GNU Free Documentation License193856
-Node: Index of Directives219020
-Node: Option Index220954
-Node: Concept Index227138
+Node: Top1130
+Node: Overview3862
+Node: Character sets6695
+Ref: Character sets-Footnote-18878
+Node: Initial processing9059
+Ref: trigraphs10618
+Node: Tokenization14820
+Ref: Tokenization-Footnote-121956
+Node: The preprocessing language22067
+Node: Header Files24945
+Node: Include Syntax26861
+Node: Include Operation28498
+Node: Search Path30346
+Node: Once-Only Headers33536
+Node: Alternatives to Wrapper #ifndef35195
+Node: Computed Includes36938
+Node: Wrapper Headers40096
+Node: System Headers42522
+Node: Macros44572
+Node: Object-like Macros45713
+Node: Function-like Macros49303
+Node: Macro Arguments50919
+Node: Stringification55064
+Node: Concatenation58270
+Node: Variadic Macros61378
+Node: Predefined Macros66165
+Node: Standard Predefined Macros66753
+Node: Common Predefined Macros72690
+Node: System-specific Predefined Macros90193
+Node: C++ Named Operators92214
+Node: Undefining and Redefining Macros93178
+Node: Directives Within Macro Arguments95282
+Node: Macro Pitfalls96830
+Node: Misnesting97363
+Node: Operator Precedence Problems98475
+Node: Swallowing the Semicolon100341
+Node: Duplication of Side Effects102364
+Node: Self-Referential Macros104547
+Node: Argument Prescan106956
+Node: Newlines in Arguments110710
+Node: Conditionals111661
+Node: Conditional Uses113491
+Node: Conditional Syntax114849
+Node: Ifdef115169
+Node: If118330
+Node: Defined120634
+Node: Else121917
+Node: Elif122487
+Node: Deleted Code123776
+Node: Diagnostics125023
+Node: Line Control126640
+Node: Pragmas130444
+Node: Other Directives134761
+Node: Preprocessor Output135811
+Node: Traditional Mode139012
+Node: Traditional lexical analysis140070
+Node: Traditional macros142573
+Node: Traditional miscellany146375
+Node: Traditional warnings147372
+Node: Implementation Details149569
+Node: Implementation-defined behavior150190
+Ref: Identifier characters150942
+Node: Implementation limits154020
+Node: Obsolete Features156694
+Node: Differences from previous versions159582
+Node: Invocation163790
+Ref: Wtrigraphs168242
+Ref: dashMF173017
+Ref: fdollars-in-identifiers182728
+Node: Environment Variables190891
+Node: GNU Free Documentation License193857
+Node: Index of Directives219021
+Node: Option Index220955
+Node: Concept Index227139

End Tag Table
diff --git a/share/info/cppinternals.info b/share/info/cppinternals.info
index 3309bca..da42d85 100644
--- a/share/info/cppinternals.info
+++ b/share/info/cppinternals.info
@@ -1,5 +1,5 @@
This is doc/cppinternals.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gcc/gcc-4.6/gcc/doc/cppinternals.texi.
+/tmp/android-15472/src/build/../gcc/gcc-4.6/gcc/doc/cppinternals.texi.
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
@@ -1020,17 +1020,17 @@ Concept Index

Tag Table:
-Node: Top991
-Node: Conventions2676
-Node: Lexer3618
-Ref: Invalid identifiers11531
-Ref: Lexing a line13480
-Node: Hash Nodes18253
-Node: Macro Expansion21132
-Node: Token Spacing30079
-Node: Line Numbering35939
-Node: Guard Macros40024
-Node: Files44815
-Node: Concept Index48281
+Node: Top992
+Node: Conventions2677
+Node: Lexer3619
+Ref: Invalid identifiers11532
+Ref: Lexing a line13481
+Node: Hash Nodes18254
+Node: Macro Expansion21133
+Node: Token Spacing30080
+Node: Line Numbering35940
+Node: Guard Macros40025
+Node: Files44816
+Node: Concept Index48282

End Tag Table
diff --git a/share/info/dir b/share/info/dir
index 5f11fa7..b452d27 100644
--- a/share/info/dir
+++ b/share/info/dir
@@ -46,9 +46,6 @@ Individual utilities
resources.
* windres: (binutils)windres. Manipulate Windows resources.
-Miscellaneous
-* Bfd: (bfd). The Binary File Descriptor library.
-
Software development
* Annotate: (annotate). The obsolete annotation interface.
* As: (as). The GNU assembler.
diff --git a/share/info/gcc.info b/share/info/gcc.info
index d6c7504..3b448b7 100644
--- a/share/info/gcc.info
+++ b/share/info/gcc.info
@@ -1,5 +1,5 @@
This is doc/gcc.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gcc/gcc-4.6/gcc/doc/gcc.texi.
+/tmp/android-15472/src/build/../gcc/gcc-4.6/gcc/doc/gcc.texi.
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@@ -48806,290 +48806,290 @@ Keyword Index

Tag Table:
-Node: Top2106
-Node: G++ and GCC3879
-Node: Standards5948
-Node: Invoking GCC18115
-Node: Option Summary21866
-Node: Overall Options59752
-Node: Invoking G++74493
-Node: C Dialect Options76016
-Node: C++ Dialect Options91096
-Node: Objective-C and Objective-C++ Dialect Options116096
-Node: Language Independent Options126635
-Node: Warning Options129559
-Node: Debugging Options198942
-Node: Optimize Options249746
-Ref: Type-punning305784
-Node: Preprocessor Options385195
-Ref: Wtrigraphs389293
-Ref: dashMF394041
-Ref: fdollars-in-identifiers404885
-Node: Assembler Options413446
-Node: Link Options414248
-Ref: Link Options-Footnote-1424606
-Node: Directory Options424940
-Node: Spec Files431229
-Node: Target Options453207
-Node: Submodel Options453606
-Node: ARC Options455225
-Node: ARM Options456415
-Node: AVR Options470146
-Node: Blackfin Options475724
-Node: CRIS Options483672
-Node: CRX Options487413
-Node: Darwin Options487838
-Node: DEC Alpha Options495330
-Node: DEC Alpha/VMS Options507246
-Node: FR30 Options507820
-Node: FRV Options508395
-Node: GNU/Linux Options515112
-Node: H8/300 Options516373
-Node: HPPA Options517440
-Node: i386 and x86-64 Options526940
-Node: i386 and x86-64 Windows Options558100
-Node: IA-64 Options560648
-Node: IA-64/VMS Options568666
-Node: LM32 Options569221
-Node: M32C Options569750
-Node: M32R/D Options571040
-Node: M680x0 Options574627
-Node: M68hc1x Options588634
-Node: MCore Options590203
-Node: MeP Options591710
-Node: MicroBlaze Options595683
-Node: MIPS Options598254
-Node: MMIX Options626174
-Node: MN10300 Options628656
-Node: PDP-11 Options630864
-Node: picoChip Options632558
-Node: PowerPC Options634757
-Node: RS/6000 and PowerPC Options634993
-Node: RX Options671735
-Node: S/390 and zSeries Options677307
-Node: Score Options685238
-Node: SH Options686066
-Node: Solaris 2 Options697205
-Node: SPARC Options698725
-Node: SPU Options708543
-Node: System V Options713547
-Node: V850 Options714370
-Node: VAX Options717949
-Node: VxWorks Options718497
-Node: x86-64 Options719652
-Node: Xstormy16 Options719870
-Node: Xtensa Options720159
-Node: zSeries Options724493
-Node: Code Gen Options724689
-Node: Environment Variables751120
-Node: Precompiled Headers759016
-Node: C Implementation765215
-Node: Translation implementation766878
-Node: Environment implementation767452
-Node: Identifiers implementation768002
-Node: Characters implementation769056
-Node: Integers implementation771862
-Node: Floating point implementation773687
-Node: Arrays and pointers implementation776616
-Ref: Arrays and pointers implementation-Footnote-1778051
-Node: Hints implementation778175
-Node: Structures unions enumerations and bit-fields implementation779641
-Node: Qualifiers implementation781627
-Node: Declarators implementation783399
-Node: Statements implementation783741
-Node: Preprocessing directives implementation784068
-Node: Library functions implementation786173
-Node: Architecture implementation786813
-Node: Locale-specific behavior implementation787516
-Node: C++ Implementation787821
-Node: Conditionally-supported behavior789101
-Node: Exception handling789611
-Node: C Extensions790020
-Node: Statement Exprs794855
-Node: Local Labels799368
-Node: Labels as Values802347
-Ref: Labels as Values-Footnote-1804756
-Node: Nested Functions804939
-Node: Constructing Calls808872
-Node: Typeof813603
-Node: Conditionals816918
-Node: __int128817809
-Node: Long Long818329
-Node: Complex819831
-Node: Floating Types822402
-Node: Half-Precision823540
-Node: Decimal Float825722
-Node: Hex Floats827589
-Node: Fixed-Point828630
-Node: Named Address Spaces831924
-Node: Zero Length833223
-Node: Empty Structures836510
-Node: Variable Length836926
-Node: Variadic Macros839579
-Node: Escaped Newlines841961
-Node: Subscripting842800
-Node: Pointer Arith843523
-Node: Initializers844091
-Node: Compound Literals844587
-Node: Designated Inits846762
-Node: Case Ranges850417
-Node: Cast to Union851100
-Node: Mixed Declarations852196
-Node: Function Attributes852702
-Node: Attribute Syntax933862
-Node: Function Prototypes944308
-Node: C++ Comments946089
-Node: Dollar Signs946608
-Node: Character Escapes947073
-Node: Variable Attributes947367
-Ref: MeP Variable Attributes962693
-Ref: i386 Variable Attributes964654
-Node: Type Attributes970347
-Ref: MeP Type Attributes984088
-Ref: i386 Type Attributes984362
-Ref: PowerPC Type Attributes985202
-Ref: SPU Type Attributes986064
-Node: Alignment986355
-Node: Inline987729
-Node: Volatiles992713
-Node: Extended Asm995608
-Ref: Example of asm with clobbered asm reg1001697
-Ref: Extended asm with goto1011464
-Node: Constraints1019199
-Node: Simple Constraints1020283
-Node: Multi-Alternative1027604
-Node: Modifiers1029321
-Node: Machine Constraints1032215
-Node: Asm Labels1070859
-Node: Explicit Reg Vars1072535
-Node: Global Reg Vars1074143
-Node: Local Reg Vars1078693
-Node: Alternate Keywords1081134
-Node: Incomplete Enums1082620
-Node: Function Names1083377
-Node: Return Address1085539
-Node: Vector Extensions1089092
-Node: Offsetof1093498
-Node: Atomic Builtins1094312
-Node: Object Size Checking1099690
-Node: Other Builtins1105118
-Node: Target Builtins1131798
-Node: Alpha Built-in Functions1132722
-Node: ARM iWMMXt Built-in Functions1135721
-Node: ARM NEON Intrinsics1142440
-Node: Blackfin Built-in Functions1348640
-Node: FR-V Built-in Functions1349254
-Node: Argument Types1350113
-Node: Directly-mapped Integer Functions1351869
-Node: Directly-mapped Media Functions1352951
-Node: Raw read/write Functions1359983
-Node: Other Built-in Functions1360895
-Node: X86 Built-in Functions1362084
-Node: MIPS DSP Built-in Functions1407220
-Node: MIPS Paired-Single Support1419667
-Node: MIPS Loongson Built-in Functions1421168
-Node: Paired-Single Arithmetic1427686
-Node: Paired-Single Built-in Functions1428632
-Node: MIPS-3D Built-in Functions1431302
-Node: picoChip Built-in Functions1436677
-Node: Other MIPS Built-in Functions1438043
-Node: PowerPC AltiVec/VSX Built-in Functions1438567
-Node: RX Built-in Functions1549225
-Node: SPARC VIS Built-in Functions1553235
-Node: SPU Built-in Functions1554914
-Node: Target Format Checks1556696
-Node: Solaris Format Checks1557128
-Node: Darwin Format Checks1557554
-Node: Pragmas1558381
-Node: ARM Pragmas1559091
-Node: M32C Pragmas1559694
-Node: MeP Pragmas1560768
-Node: RS/6000 and PowerPC Pragmas1562837
-Node: Darwin Pragmas1563578
-Node: Solaris Pragmas1564645
-Node: Symbol-Renaming Pragmas1565806
-Node: Structure-Packing Pragmas1568440
-Node: Weak Pragmas1570090
-Node: Diagnostic Pragmas1570824
-Node: Visibility Pragmas1573852
-Node: Push/Pop Macro Pragmas1574604
-Node: Function Specific Option Pragmas1575577
-Node: Unnamed Fields1577841
-Node: Thread-Local1580079
-Node: C99 Thread-Local Edits1582186
-Node: C++98 Thread-Local Edits1584198
-Node: Binary constants1587643
-Node: C++ Extensions1588314
-Node: C++ Volatiles1589962
-Node: Restricted Pointers1592322
-Node: Vague Linkage1593920
-Node: C++ Interface1597582
-Ref: C++ Interface-Footnote-11601879
-Node: Template Instantiation1602016
-Node: Bound member functions1609028
-Node: C++ Attributes1610571
-Node: Namespace Association1612229
-Node: Type Traits1613643
-Node: Java Exceptions1619998
-Node: Deprecated Features1621395
-Node: Backwards Compatibility1624360
-Node: Objective-C1625718
-Node: GNU Objective-C runtime API1626327
-Node: Modern GNU Objective-C runtime API1627334
-Node: Traditional GNU Objective-C runtime API1629771
-Node: Executing code before main1631393
-Node: What you can and what you cannot do in +load1634131
-Node: Type encoding1636521
-Node: Legacy type encoding1641597
-Node: @encode1642688
-Node: Method signatures1643229
-Node: Garbage Collection1645224
-Node: Constant string objects1647858
-Node: compatibility_alias1650366
-Node: Exceptions1651088
-Node: Synchronization1653799
-Node: Fast enumeration1654983
-Node: Using fast enumeration1655295
-Node: c99-like fast enumeration syntax1656506
-Node: Fast enumeration details1657209
-Node: Fast enumeration protocol1659550
-Node: Messaging with the GNU Objective-C runtime1662702
-Node: Dynamically registering methods1664073
-Node: Forwarding hook1665764
-Node: Compatibility1668803
-Node: Gcov1675370
-Node: Gcov Intro1675903
-Node: Invoking Gcov1678621
-Node: Gcov and Optimization1691587
-Node: Gcov Data Files1694242
-Node: Cross-profiling1695382
-Node: Trouble1697233
-Node: Actual Bugs1698718
-Node: Cross-Compiler Problems1699174
-Node: Interoperation1699588
-Node: Incompatibilities1706725
-Node: Fixed Headers1714876
-Node: Standard Libraries1716539
-Node: Disappointments1717911
-Node: C++ Misunderstandings1722269
-Node: Static Definitions1723080
-Node: Name lookup1724133
-Ref: Name lookup-Footnote-11728911
-Node: Temporaries1729098
-Node: Copy Assignment1731074
-Node: Non-bugs1732881
-Node: Warnings and Errors1743388
-Node: Bugs1745152
-Node: Bug Criteria1745716
-Node: Bug Reporting1747926
-Node: Service1748147
-Node: Contributing1748966
-Node: Funding1749706
-Node: GNU Project1752195
-Node: Copying1752841
-Node: GNU Free Documentation License1790369
-Node: Contributors1815506
-Node: Option Index1852375
-Node: Keyword Index2032683
+Node: Top2107
+Node: G++ and GCC3880
+Node: Standards5949
+Node: Invoking GCC18116
+Node: Option Summary21867
+Node: Overall Options59753
+Node: Invoking G++74494
+Node: C Dialect Options76017
+Node: C++ Dialect Options91097
+Node: Objective-C and Objective-C++ Dialect Options116097
+Node: Language Independent Options126636
+Node: Warning Options129560
+Node: Debugging Options198943
+Node: Optimize Options249747
+Ref: Type-punning305785
+Node: Preprocessor Options385196
+Ref: Wtrigraphs389294
+Ref: dashMF394042
+Ref: fdollars-in-identifiers404886
+Node: Assembler Options413447
+Node: Link Options414249
+Ref: Link Options-Footnote-1424607
+Node: Directory Options424941
+Node: Spec Files431230
+Node: Target Options453208
+Node: Submodel Options453607
+Node: ARC Options455226
+Node: ARM Options456416
+Node: AVR Options470147
+Node: Blackfin Options475725
+Node: CRIS Options483673
+Node: CRX Options487414
+Node: Darwin Options487839
+Node: DEC Alpha Options495331
+Node: DEC Alpha/VMS Options507247
+Node: FR30 Options507821
+Node: FRV Options508396
+Node: GNU/Linux Options515113
+Node: H8/300 Options516374
+Node: HPPA Options517441
+Node: i386 and x86-64 Options526941
+Node: i386 and x86-64 Windows Options558101
+Node: IA-64 Options560649
+Node: IA-64/VMS Options568667
+Node: LM32 Options569222
+Node: M32C Options569751
+Node: M32R/D Options571041
+Node: M680x0 Options574628
+Node: M68hc1x Options588635
+Node: MCore Options590204
+Node: MeP Options591711
+Node: MicroBlaze Options595684
+Node: MIPS Options598255
+Node: MMIX Options626175
+Node: MN10300 Options628657
+Node: PDP-11 Options630865
+Node: picoChip Options632559
+Node: PowerPC Options634758
+Node: RS/6000 and PowerPC Options634994
+Node: RX Options671736
+Node: S/390 and zSeries Options677308
+Node: Score Options685239
+Node: SH Options686067
+Node: Solaris 2 Options697206
+Node: SPARC Options698726
+Node: SPU Options708544
+Node: System V Options713548
+Node: V850 Options714371
+Node: VAX Options717950
+Node: VxWorks Options718498
+Node: x86-64 Options719653
+Node: Xstormy16 Options719871
+Node: Xtensa Options720160
+Node: zSeries Options724494
+Node: Code Gen Options724690
+Node: Environment Variables751121
+Node: Precompiled Headers759017
+Node: C Implementation765216
+Node: Translation implementation766879
+Node: Environment implementation767453
+Node: Identifiers implementation768003
+Node: Characters implementation769057
+Node: Integers implementation771863
+Node: Floating point implementation773688
+Node: Arrays and pointers implementation776617
+Ref: Arrays and pointers implementation-Footnote-1778052
+Node: Hints implementation778176
+Node: Structures unions enumerations and bit-fields implementation779642
+Node: Qualifiers implementation781628
+Node: Declarators implementation783400
+Node: Statements implementation783742
+Node: Preprocessing directives implementation784069
+Node: Library functions implementation786174
+Node: Architecture implementation786814
+Node: Locale-specific behavior implementation787517
+Node: C++ Implementation787822
+Node: Conditionally-supported behavior789102
+Node: Exception handling789612
+Node: C Extensions790021
+Node: Statement Exprs794856
+Node: Local Labels799369
+Node: Labels as Values802348
+Ref: Labels as Values-Footnote-1804757
+Node: Nested Functions804940
+Node: Constructing Calls808873
+Node: Typeof813604
+Node: Conditionals816919
+Node: __int128817810
+Node: Long Long818330
+Node: Complex819832
+Node: Floating Types822403
+Node: Half-Precision823541
+Node: Decimal Float825723
+Node: Hex Floats827590
+Node: Fixed-Point828631
+Node: Named Address Spaces831925
+Node: Zero Length833224
+Node: Empty Structures836511
+Node: Variable Length836927
+Node: Variadic Macros839580
+Node: Escaped Newlines841962
+Node: Subscripting842801
+Node: Pointer Arith843524
+Node: Initializers844092
+Node: Compound Literals844588
+Node: Designated Inits846763
+Node: Case Ranges850418
+Node: Cast to Union851101
+Node: Mixed Declarations852197
+Node: Function Attributes852703
+Node: Attribute Syntax933863
+Node: Function Prototypes944309
+Node: C++ Comments946090
+Node: Dollar Signs946609
+Node: Character Escapes947074
+Node: Variable Attributes947368
+Ref: MeP Variable Attributes962694
+Ref: i386 Variable Attributes964655
+Node: Type Attributes970348
+Ref: MeP Type Attributes984089
+Ref: i386 Type Attributes984363
+Ref: PowerPC Type Attributes985203
+Ref: SPU Type Attributes986065
+Node: Alignment986356
+Node: Inline987730
+Node: Volatiles992714
+Node: Extended Asm995609
+Ref: Example of asm with clobbered asm reg1001698
+Ref: Extended asm with goto1011465
+Node: Constraints1019200
+Node: Simple Constraints1020284
+Node: Multi-Alternative1027605
+Node: Modifiers1029322
+Node: Machine Constraints1032216
+Node: Asm Labels1070860
+Node: Explicit Reg Vars1072536
+Node: Global Reg Vars1074144
+Node: Local Reg Vars1078694
+Node: Alternate Keywords1081135
+Node: Incomplete Enums1082621
+Node: Function Names1083378
+Node: Return Address1085540
+Node: Vector Extensions1089093
+Node: Offsetof1093499
+Node: Atomic Builtins1094313
+Node: Object Size Checking1099691
+Node: Other Builtins1105119
+Node: Target Builtins1131799
+Node: Alpha Built-in Functions1132723
+Node: ARM iWMMXt Built-in Functions1135722
+Node: ARM NEON Intrinsics1142441
+Node: Blackfin Built-in Functions1348641
+Node: FR-V Built-in Functions1349255
+Node: Argument Types1350114
+Node: Directly-mapped Integer Functions1351870
+Node: Directly-mapped Media Functions1352952
+Node: Raw read/write Functions1359984
+Node: Other Built-in Functions1360896
+Node: X86 Built-in Functions1362085
+Node: MIPS DSP Built-in Functions1407221
+Node: MIPS Paired-Single Support1419668
+Node: MIPS Loongson Built-in Functions1421169
+Node: Paired-Single Arithmetic1427687
+Node: Paired-Single Built-in Functions1428633
+Node: MIPS-3D Built-in Functions1431303
+Node: picoChip Built-in Functions1436678
+Node: Other MIPS Built-in Functions1438044
+Node: PowerPC AltiVec/VSX Built-in Functions1438568
+Node: RX Built-in Functions1549226
+Node: SPARC VIS Built-in Functions1553236
+Node: SPU Built-in Functions1554915
+Node: Target Format Checks1556697
+Node: Solaris Format Checks1557129
+Node: Darwin Format Checks1557555
+Node: Pragmas1558382
+Node: ARM Pragmas1559092
+Node: M32C Pragmas1559695
+Node: MeP Pragmas1560769
+Node: RS/6000 and PowerPC Pragmas1562838
+Node: Darwin Pragmas1563579
+Node: Solaris Pragmas1564646
+Node: Symbol-Renaming Pragmas1565807
+Node: Structure-Packing Pragmas1568441
+Node: Weak Pragmas1570091
+Node: Diagnostic Pragmas1570825
+Node: Visibility Pragmas1573853
+Node: Push/Pop Macro Pragmas1574605
+Node: Function Specific Option Pragmas1575578
+Node: Unnamed Fields1577842
+Node: Thread-Local1580080
+Node: C99 Thread-Local Edits1582187
+Node: C++98 Thread-Local Edits1584199
+Node: Binary constants1587644
+Node: C++ Extensions1588315
+Node: C++ Volatiles1589963
+Node: Restricted Pointers1592323
+Node: Vague Linkage1593921
+Node: C++ Interface1597583
+Ref: C++ Interface-Footnote-11601880
+Node: Template Instantiation1602017
+Node: Bound member functions1609029
+Node: C++ Attributes1610572
+Node: Namespace Association1612230
+Node: Type Traits1613644
+Node: Java Exceptions1619999
+Node: Deprecated Features1621396
+Node: Backwards Compatibility1624361
+Node: Objective-C1625719
+Node: GNU Objective-C runtime API1626328
+Node: Modern GNU Objective-C runtime API1627335
+Node: Traditional GNU Objective-C runtime API1629772
+Node: Executing code before main1631394
+Node: What you can and what you cannot do in +load1634132
+Node: Type encoding1636522
+Node: Legacy type encoding1641598
+Node: @encode1642689
+Node: Method signatures1643230
+Node: Garbage Collection1645225
+Node: Constant string objects1647859
+Node: compatibility_alias1650367
+Node: Exceptions1651089
+Node: Synchronization1653800
+Node: Fast enumeration1654984
+Node: Using fast enumeration1655296
+Node: c99-like fast enumeration syntax1656507
+Node: Fast enumeration details1657210
+Node: Fast enumeration protocol1659551
+Node: Messaging with the GNU Objective-C runtime1662703
+Node: Dynamically registering methods1664074
+Node: Forwarding hook1665765
+Node: Compatibility1668804
+Node: Gcov1675371
+Node: Gcov Intro1675904
+Node: Invoking Gcov1678622
+Node: Gcov and Optimization1691588
+Node: Gcov Data Files1694243
+Node: Cross-profiling1695383
+Node: Trouble1697234
+Node: Actual Bugs1698719
+Node: Cross-Compiler Problems1699175
+Node: Interoperation1699589
+Node: Incompatibilities1706726
+Node: Fixed Headers1714877
+Node: Standard Libraries1716540
+Node: Disappointments1717912
+Node: C++ Misunderstandings1722270
+Node: Static Definitions1723081
+Node: Name lookup1724134
+Ref: Name lookup-Footnote-11728912
+Node: Temporaries1729099
+Node: Copy Assignment1731075
+Node: Non-bugs1732882
+Node: Warnings and Errors1743389
+Node: Bugs1745153
+Node: Bug Criteria1745717
+Node: Bug Reporting1747927
+Node: Service1748148
+Node: Contributing1748967
+Node: Funding1749707
+Node: GNU Project1752196
+Node: Copying1752842
+Node: GNU Free Documentation License1790370
+Node: Contributors1815507
+Node: Option Index1852376
+Node: Keyword Index2032684

End Tag Table
diff --git a/share/info/gccinstall.info b/share/info/gccinstall.info
index 4693b9e..58e4db9 100644
--- a/share/info/gccinstall.info
+++ b/share/info/gccinstall.info
@@ -1,5 +1,5 @@
This is doc/gccinstall.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gcc/gcc-4.6/gcc/doc/install.texi.
+/tmp/android-15472/src/build/../gcc/gcc-4.6/gcc/doc/install.texi.
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@@ -4568,89 +4568,89 @@ Concept Index

Tag Table:
-Node: Top1983
-Node: Installing GCC2541
-Node: Prerequisites4056
-Node: Downloading the source14212
-Node: Configuration16149
-Ref: with-gnu-as31451
-Ref: with-as32349
-Ref: with-gnu-ld33762
-Node: Building79771
-Node: Testing95256
-Node: Final install102953
-Node: Binaries108267
-Node: Specific109868
-Ref: alpha-x-x110374
-Ref: alpha-dec-osf51110863
-Ref: arc-x-elf113061
-Ref: arm-x-elf113161
-Ref: avr113381
-Ref: bfin114021
-Ref: cris114263
-Ref: crx115079
-Ref: dos115757
-Ref: x-x-freebsd116080
-Ref: h8300-hms117917
-Ref: hppa-hp-hpux118269
-Ref: hppa-hp-hpux10120640
-Ref: hppa-hp-hpux11121053
-Ref: x-x-linux-gnu126712
-Ref: ix86-x-linux126905
-Ref: ix86-x-solaris289127218
-Ref: ix86-x-solaris210128062
-Ref: ia64-x-linux129288
-Ref: ia64-x-hpux130058
-Ref: x-ibm-aix130613
-Ref: iq2000-x-elf136851
-Ref: lm32-x-elf136991
-Ref: lm32-x-uclinux137095
-Ref: m32c-x-elf137223
-Ref: m32r-x-elf137325
-Ref: m6811-elf137427
-Ref: m6812-elf137577
-Ref: m68k-x-x137727
-Ref: m68k-x-uclinux138699
-Ref: mep-x-elf139062
-Ref: microblaze-x-elf139172
-Ref: mips-x-x139291
-Ref: mips-sgi-irix5141968
-Ref: mips-sgi-irix6142048
-Ref: moxie-x-elf145116
-Ref: powerpc-x-x145236
-Ref: powerpc-x-darwin145441
-Ref: powerpc-x-elf145935
-Ref: powerpc-x-linux-gnu146020
-Ref: powerpc-x-netbsd146115
-Ref: powerpc-x-eabisim146203
-Ref: powerpc-x-eabi146329
-Ref: powerpcle-x-elf146405
-Ref: powerpcle-x-eabisim146497
-Ref: powerpcle-x-eabi146630
-Ref: rx-x-elf146713
-Ref: s390-x-linux146912
-Ref: s390x-x-linux146984
-Ref: s390x-ibm-tpf147071
-Ref: x-x-solaris2147202
-Ref: sparc-x-x152350
-Ref: sparc-sun-solaris2152852
-Ref: sparc-sun-solaris210155606
-Ref: sparc-x-linux155982
-Ref: sparc64-x-solaris2156207
-Ref: sparcv9-x-solaris2156843
-Ref: x-x-vxworks156930
-Ref: x86-64-x-x158452
-Ref: xtensa-x-elf158780
-Ref: xtensa-x-linux159451
-Ref: windows159792
-Ref: x-x-cygwin161749
-Ref: x-x-interix162302
-Ref: x-x-mingw32162611
-Ref: older162837
-Ref: elf164954
-Node: Old165212
-Node: Configurations168349
-Node: GNU Free Documentation License172331
-Node: Concept Index197478
+Node: Top1984
+Node: Installing GCC2542
+Node: Prerequisites4057
+Node: Downloading the source14213
+Node: Configuration16150
+Ref: with-gnu-as31452
+Ref: with-as32350
+Ref: with-gnu-ld33763
+Node: Building79772
+Node: Testing95257
+Node: Final install102954
+Node: Binaries108268
+Node: Specific109869
+Ref: alpha-x-x110375
+Ref: alpha-dec-osf51110864
+Ref: arc-x-elf113062
+Ref: arm-x-elf113162
+Ref: avr113382
+Ref: bfin114022
+Ref: cris114264
+Ref: crx115080
+Ref: dos115758
+Ref: x-x-freebsd116081
+Ref: h8300-hms117918
+Ref: hppa-hp-hpux118270
+Ref: hppa-hp-hpux10120641
+Ref: hppa-hp-hpux11121054
+Ref: x-x-linux-gnu126713
+Ref: ix86-x-linux126906
+Ref: ix86-x-solaris289127219
+Ref: ix86-x-solaris210128063
+Ref: ia64-x-linux129289
+Ref: ia64-x-hpux130059
+Ref: x-ibm-aix130614
+Ref: iq2000-x-elf136852
+Ref: lm32-x-elf136992
+Ref: lm32-x-uclinux137096
+Ref: m32c-x-elf137224
+Ref: m32r-x-elf137326
+Ref: m6811-elf137428
+Ref: m6812-elf137578
+Ref: m68k-x-x137728
+Ref: m68k-x-uclinux138700
+Ref: mep-x-elf139063
+Ref: microblaze-x-elf139173
+Ref: mips-x-x139292
+Ref: mips-sgi-irix5141969
+Ref: mips-sgi-irix6142049
+Ref: moxie-x-elf145117
+Ref: powerpc-x-x145237
+Ref: powerpc-x-darwin145442
+Ref: powerpc-x-elf145936
+Ref: powerpc-x-linux-gnu146021
+Ref: powerpc-x-netbsd146116
+Ref: powerpc-x-eabisim146204
+Ref: powerpc-x-eabi146330
+Ref: powerpcle-x-elf146406
+Ref: powerpcle-x-eabisim146498
+Ref: powerpcle-x-eabi146631
+Ref: rx-x-elf146714
+Ref: s390-x-linux146913
+Ref: s390x-x-linux146985
+Ref: s390x-ibm-tpf147072
+Ref: x-x-solaris2147203
+Ref: sparc-x-x152351
+Ref: sparc-sun-solaris2152853
+Ref: sparc-sun-solaris210155607
+Ref: sparc-x-linux155983
+Ref: sparc64-x-solaris2156208
+Ref: sparcv9-x-solaris2156844
+Ref: x-x-vxworks156931
+Ref: x86-64-x-x158453
+Ref: xtensa-x-elf158781
+Ref: xtensa-x-linux159452
+Ref: windows159793
+Ref: x-x-cygwin161750
+Ref: x-x-interix162303
+Ref: x-x-mingw32162612
+Ref: older162838
+Ref: elf164955
+Node: Old165213
+Node: Configurations168350
+Node: GNU Free Documentation License172332
+Node: Concept Index197479

End Tag Table
diff --git a/share/info/gccint.info b/share/info/gccint.info
index c88b924..74760ee 100644
--- a/share/info/gccint.info
+++ b/share/info/gccint.info
@@ -1,5 +1,5 @@
This is doc/gccint.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gcc/gcc-4.6/gcc/doc/gccint.texi.
+/tmp/android-15472/src/build/../gcc/gcc-4.6/gcc/doc/gccint.texi.
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free
@@ -47519,349 +47519,349 @@ Concept Index

Tag Table:
-Node: Top2066
-Node: Contributing5161
-Node: Portability5902
-Node: Interface7690
-Node: Libgcc10730
-Node: Integer library routines12571
-Node: Soft float library routines19410
-Node: Decimal float library routines31347
-Node: Fixed-point fractional library routines47104
-Node: Exception handling routines147502
-Node: Miscellaneous routines148609
-Node: Languages150729
-Node: Source Tree152278
-Node: Configure Terms152860
-Node: Top Level155818
-Node: gcc Directory159130
-Node: Subdirectories160080
-Node: Configuration161952
-Node: Config Fragments162672
-Node: System Config163901
-Node: Configuration Files164837
-Node: Build167194
-Node: Makefile167606
-Ref: Makefile-Footnote-1174409
-Ref: Makefile-Footnote-2174554
-Node: Library Files174626
-Node: Headers175188
-Node: Documentation177271
-Node: Texinfo Manuals178130
-Node: Man Page Generation180474
-Node: Miscellaneous Docs182389
-Node: Front End183778
-Node: Front End Directory187471
-Node: Front End Config188791
-Node: Front End Makefile191733
-Node: Back End195515
-Node: Testsuites199194
-Node: Test Idioms200125
-Node: Test Directives203522
-Node: Directives204049
-Node: Selectors214117
-Node: Effective-Target Keywords215259
-Ref: arm_neon_ok222492
-Ref: arm_neon_fp16_ok222653
-Node: Add Options231849
-Node: Require Support233046
-Node: Final Actions235553
-Node: Ada Tests239616
-Node: C Tests240958
-Node: libgcj Tests245381
-Node: LTO Testing246508
-Node: gcov Testing248155
-Node: profopt Testing251142
-Node: compat Testing252857
-Node: Torture Tests257097
-Node: Options258714
-Node: Option file format259154
-Node: Option properties266125
-Node: Passes277679
-Node: Parsing pass278423
-Node: Gimplification pass281953
-Node: Pass manager283786
-Node: Tree SSA passes285580
-Node: RTL passes308052
-Node: RTL320395
-Node: RTL Objects322583
-Node: RTL Classes326457
-Node: Accessors331455
-Node: Special Accessors333849
-Node: Flags339215
-Node: Machine Modes355390
-Node: Constants367702
-Node: Regs and Memory373731
-Node: Arithmetic391632
-Node: Comparisons401459
-Node: Bit-Fields405751
-Node: Vector Operations407303
-Node: Conversions409138
-Node: RTL Declarations413636
-Node: Side Effects414457
-Node: Incdec430779
-Node: Assembler434114
-Node: Debug Information435659
-Node: Insns436857
-Node: Calls463057
-Node: Sharing465650
-Node: Reading RTL468760
-Node: GENERIC469752
-Node: Deficiencies471625
-Node: Tree overview471866
-Node: Macros and Functions475993
-Node: Identifiers476818
-Node: Containers478429
-Node: Types479586
-Node: Declarations491682
-Node: Working with declarations492177
-Node: Internal structure497783
-Node: Current structure hierarchy498167
-Node: Adding new DECL node types500261
-Node: Attributes504334
-Node: Expression trees505579
-Node: Constant expressions507332
-Node: Storage References511551
-Node: Unary and Binary Expressions515070
-Node: Vectors534488
-Node: Statements539417
-Node: Basic Statements539937
-Node: Blocks544444
-Node: Statement Sequences545848
-Node: Empty Statements546181
-Node: Jumps546755
-Node: Cleanups547408
-Node: OpenMP549176
-Node: Functions554923
-Node: Function Basics555394
-Node: Function Properties559079
-Node: Language-dependent trees561861
-Node: C and C++ Trees562747
-Node: Types for C++565651
-Node: Namespaces570617
-Node: Classes573724
-Node: Functions for C++578802
-Node: Statements for C++585055
-Node: C++ Expressions593103
-Node: Java Trees594604
-Node: GIMPLE594717
-Node: Tuple representation598338
-Node: GIMPLE instruction set606614
-Node: GIMPLE Exception Handling608282
-Node: Temporaries610196
-Ref: Temporaries-Footnote-1611511
-Node: Operands611574
-Node: Compound Expressions612336
-Node: Compound Lvalues612570
-Node: Conditional Expressions613332
-Node: Logical Operators613990
-Node: Manipulating GIMPLE statements620747
-Node: Tuple specific accessors626681
-Node: `GIMPLE_ASM'627500
-Node: `GIMPLE_ASSIGN'630133
-Node: `GIMPLE_BIND'634239
-Node: `GIMPLE_CALL'636046
-Node: `GIMPLE_CATCH'640316
-Node: `GIMPLE_COND'641460
-Node: `GIMPLE_DEBUG'644248
-Node: `GIMPLE_EH_FILTER'647631
-Node: `GIMPLE_LABEL'649119
-Node: `GIMPLE_NOP'650094
-Node: `GIMPLE_OMP_ATOMIC_LOAD'650463
-Node: `GIMPLE_OMP_ATOMIC_STORE'651373
-Node: `GIMPLE_OMP_CONTINUE'652012
-Node: `GIMPLE_OMP_CRITICAL'653362
-Node: `GIMPLE_OMP_FOR'654299
-Node: `GIMPLE_OMP_MASTER'657814
-Node: `GIMPLE_OMP_ORDERED'658197
-Node: `GIMPLE_OMP_PARALLEL'658597
-Node: `GIMPLE_OMP_RETURN'661369
-Node: `GIMPLE_OMP_SECTION'662019
-Node: `GIMPLE_OMP_SECTIONS'662685
-Node: `GIMPLE_OMP_SINGLE'664291
-Node: `GIMPLE_PHI'665228
-Node: `GIMPLE_RESX'666643
-Node: `GIMPLE_RETURN'667362
-Node: `GIMPLE_SWITCH'667930
-Node: `GIMPLE_TRY'670068
-Node: `GIMPLE_WITH_CLEANUP_EXPR'671858
-Node: GIMPLE sequences672741
-Node: Sequence iterators675947
-Node: Adding a new GIMPLE statement code684403
-Node: Statement and operand traversals685679
-Node: Tree SSA688279
-Node: Annotations690065
-Node: SSA Operands690591
-Node: SSA705122
-Node: Alias analysis717413
-Node: Memory model721193
-Node: Loop Analysis and Representation722556
-Node: Loop representation723737
-Node: Loop querying730657
-Node: Loop manipulation733490
-Node: LCSSA735858
-Node: Scalar evolutions737930
-Node: loop-iv741174
-Node: Number of iterations743100
-Node: Dependency analysis745909
-Node: Lambda752277
-Node: Omega753948
-Node: Control Flow755513
-Node: Basic Blocks756508
-Node: Edges761076
-Node: Profile information769638
-Node: Maintaining the CFG774324
-Node: Liveness information781201
-Node: Machine Desc783327
-Node: Overview785795
-Node: Patterns787836
-Node: Example791274
-Node: RTL Template792709
-Node: Output Template803364
-Node: Output Statement807329
-Node: Predicates811291
-Node: Machine-Independent Predicates814209
-Node: Defining Predicates819154
-Node: Constraints825119
-Node: Simple Constraints826601
-Node: Multi-Alternative839457
-Node: Class Preferences842298
-Node: Modifiers843190
-Node: Machine Constraints847322
-Node: Disable Insn Alternatives886476
-Node: Define Constraints889369
-Node: C Constraint Interface896150
-Node: Standard Names899791
-Ref: shift patterns919732
-Ref: prologue instruction pattern960366
-Ref: epilogue instruction pattern960859
-Node: Pattern Ordering970581
-Node: Dependent Patterns971817
-Node: Jump Patterns973437
-Ref: Jump Patterns-Footnote-1975581
-Node: Looping Patterns975627
-Node: Insn Canonicalizations980355
-Node: Expander Definitions984306
-Node: Insn Splitting992424
-Node: Including Patterns1002026
-Node: Peephole Definitions1003806
-Node: define_peephole1005059
-Node: define_peephole21011390
-Node: Insn Attributes1014457
-Node: Defining Attributes1015563
-Ref: define_enum_attr1018082
-Node: Expressions1019117
-Node: Tagging Insns1025719
-Node: Attr Example1030072
-Node: Insn Lengths1032446
-Node: Constant Attributes1035505
-Node: Delay Slots1036674
-Node: Processor pipeline description1039898
-Ref: Processor pipeline description-Footnote-11057516
-Node: Conditional Execution1057838
-Node: Constant Definitions1060691
-Ref: define_enum1064482
-Node: Iterators1064970
-Node: Mode Iterators1065417
-Node: Defining Mode Iterators1066395
-Node: Substitutions1067889
-Node: Examples1070130
-Node: Code Iterators1071578
-Node: Target Macros1073835
-Node: Target Structure1076923
-Node: Driver1078192
-Node: Run-time Target1097578
-Node: Per-Function Data1107215
-Node: Storage Layout1109980
-Node: Type Layout1135214
-Node: Registers1149685
-Node: Register Basics1150659
-Node: Allocation Order1156164
-Node: Values in Registers1158610
-Node: Leaf Functions1166099
-Node: Stack Registers1168957
-Node: Register Classes1170229
-Node: Old Constraints1199376
-Node: Stack and Calling1206528
-Node: Frame Layout1207062
-Node: Exception Handling1217942
-Node: Stack Checking1224320
-Node: Frame Registers1229133
-Node: Elimination1236799
-Node: Stack Arguments1241028
-Node: Register Arguments1247925
-Node: Scalar Return1266705
-Node: Aggregate Return1272784
-Node: Caller Saves1276994
-Node: Function Entry1278172
-Node: Profiling1290800
-Node: Tail Calls1292499
-Node: Stack Smashing Protection1293865
-Node: Varargs1295490
-Node: Trampolines1302176
-Node: Library Calls1308823
-Node: Addressing Modes1313024
-Node: Anchored Addresses1332040
-Node: Condition Code1334689
-Node: CC0 Condition Codes1336818
-Node: MODE_CC Condition Codes1340064
-Node: Cond Exec Macros1346291
-Node: Costs1347268
-Node: Scheduling1363479
-Node: Sections1382400
-Node: PIC1397701
-Node: Assembler Format1399761
-Node: File Framework1400899
-Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1407788
-Node: Data Output1411053
-Node: Uninitialized Data1419402
-Node: Label Output1424966
-Node: Initialization1448038
-Node: Macros for Initialization1454000
-Node: Instruction Output1460723
-Node: Dispatch Tables1471225
-Node: Exception Region Output1475603
-Node: Alignment Output1481947
-Node: Debugging Info1486492
-Node: All Debuggers1487162
-Node: DBX Options1490017
-Node: DBX Hooks1495466
-Node: File Names and DBX1497392
-Node: SDB and DWARF1499504
-Node: VMS Debug1505351
-Node: Floating Point1505938
-Node: Mode Switching1510761
-Node: Target Attributes1514687
-Node: Emulated TLS1522599
-Node: MIPS Coprocessors1525989
-Node: PCH Target1527558
-Node: C++ ABI1529100
-Node: Named Address Spaces1533749
-Node: Misc1538688
-Ref: TARGET_SHIFT_TRUNCATION_MASK1546116
-Node: Host Config1589518
-Node: Host Common1590586
-Node: Filesystem1592965
-Node: Host Misc1597080
-Node: Fragments1599529
-Node: Target Fragment1600724
-Node: Host Fragment1606614
-Node: Collect21606854
-Node: Header Dirs1609490
-Node: Type Information1610913
-Node: GTY Options1613270
-Node: GGC Roots1624960
-Node: Files1625680
-Node: Invoking the garbage collector1628426
-Node: Troubleshooting1629929
-Node: Plugins1631005
-Node: LTO1647376
-Node: Funding1672422
-Node: GNU Project1674905
-Node: Copying1675554
-Node: GNU Free Documentation License1713085
-Node: Contributors1738225
-Node: Option Index1775097
-Node: Concept Index1775901
+Node: Top2067
+Node: Contributing5162
+Node: Portability5903
+Node: Interface7691
+Node: Libgcc10731
+Node: Integer library routines12572
+Node: Soft float library routines19411
+Node: Decimal float library routines31348
+Node: Fixed-point fractional library routines47105
+Node: Exception handling routines147503
+Node: Miscellaneous routines148610
+Node: Languages150730
+Node: Source Tree152279
+Node: Configure Terms152861
+Node: Top Level155819
+Node: gcc Directory159131
+Node: Subdirectories160081
+Node: Configuration161953
+Node: Config Fragments162673
+Node: System Config163902
+Node: Configuration Files164838
+Node: Build167195
+Node: Makefile167607
+Ref: Makefile-Footnote-1174410
+Ref: Makefile-Footnote-2174555
+Node: Library Files174627
+Node: Headers175189
+Node: Documentation177272
+Node: Texinfo Manuals178131
+Node: Man Page Generation180475
+Node: Miscellaneous Docs182390
+Node: Front End183779
+Node: Front End Directory187472
+Node: Front End Config188792
+Node: Front End Makefile191734
+Node: Back End195516
+Node: Testsuites199195
+Node: Test Idioms200126
+Node: Test Directives203523
+Node: Directives204050
+Node: Selectors214118
+Node: Effective-Target Keywords215260
+Ref: arm_neon_ok222493
+Ref: arm_neon_fp16_ok222654
+Node: Add Options231850
+Node: Require Support233047
+Node: Final Actions235554
+Node: Ada Tests239617
+Node: C Tests240959
+Node: libgcj Tests245382
+Node: LTO Testing246509
+Node: gcov Testing248156
+Node: profopt Testing251143
+Node: compat Testing252858
+Node: Torture Tests257098
+Node: Options258715
+Node: Option file format259155
+Node: Option properties266126
+Node: Passes277680
+Node: Parsing pass278424
+Node: Gimplification pass281954
+Node: Pass manager283787
+Node: Tree SSA passes285581
+Node: RTL passes308053
+Node: RTL320396
+Node: RTL Objects322584
+Node: RTL Classes326458
+Node: Accessors331456
+Node: Special Accessors333850
+Node: Flags339216
+Node: Machine Modes355391
+Node: Constants367703
+Node: Regs and Memory373732
+Node: Arithmetic391633
+Node: Comparisons401460
+Node: Bit-Fields405752
+Node: Vector Operations407304
+Node: Conversions409139
+Node: RTL Declarations413637
+Node: Side Effects414458
+Node: Incdec430780
+Node: Assembler434115
+Node: Debug Information435660
+Node: Insns436858
+Node: Calls463058
+Node: Sharing465651
+Node: Reading RTL468761
+Node: GENERIC469753
+Node: Deficiencies471626
+Node: Tree overview471867
+Node: Macros and Functions475994
+Node: Identifiers476819
+Node: Containers478430
+Node: Types479587
+Node: Declarations491683
+Node: Working with declarations492178
+Node: Internal structure497784
+Node: Current structure hierarchy498168
+Node: Adding new DECL node types500262
+Node: Attributes504335
+Node: Expression trees505580
+Node: Constant expressions507333
+Node: Storage References511552
+Node: Unary and Binary Expressions515071
+Node: Vectors534489
+Node: Statements539418
+Node: Basic Statements539938
+Node: Blocks544445
+Node: Statement Sequences545849
+Node: Empty Statements546182
+Node: Jumps546756
+Node: Cleanups547409
+Node: OpenMP549177
+Node: Functions554924
+Node: Function Basics555395
+Node: Function Properties559080
+Node: Language-dependent trees561862
+Node: C and C++ Trees562748
+Node: Types for C++565652
+Node: Namespaces570618
+Node: Classes573725
+Node: Functions for C++578803
+Node: Statements for C++585056
+Node: C++ Expressions593104
+Node: Java Trees594605
+Node: GIMPLE594718
+Node: Tuple representation598339
+Node: GIMPLE instruction set606615
+Node: GIMPLE Exception Handling608283
+Node: Temporaries610197
+Ref: Temporaries-Footnote-1611512
+Node: Operands611575
+Node: Compound Expressions612337
+Node: Compound Lvalues612571
+Node: Conditional Expressions613333
+Node: Logical Operators613991
+Node: Manipulating GIMPLE statements620748
+Node: Tuple specific accessors626682
+Node: `GIMPLE_ASM'627501
+Node: `GIMPLE_ASSIGN'630134
+Node: `GIMPLE_BIND'634240
+Node: `GIMPLE_CALL'636047
+Node: `GIMPLE_CATCH'640317
+Node: `GIMPLE_COND'641461
+Node: `GIMPLE_DEBUG'644249
+Node: `GIMPLE_EH_FILTER'647632
+Node: `GIMPLE_LABEL'649120
+Node: `GIMPLE_NOP'650095
+Node: `GIMPLE_OMP_ATOMIC_LOAD'650464
+Node: `GIMPLE_OMP_ATOMIC_STORE'651374
+Node: `GIMPLE_OMP_CONTINUE'652013
+Node: `GIMPLE_OMP_CRITICAL'653363
+Node: `GIMPLE_OMP_FOR'654300
+Node: `GIMPLE_OMP_MASTER'657815
+Node: `GIMPLE_OMP_ORDERED'658198
+Node: `GIMPLE_OMP_PARALLEL'658598
+Node: `GIMPLE_OMP_RETURN'661370
+Node: `GIMPLE_OMP_SECTION'662020
+Node: `GIMPLE_OMP_SECTIONS'662686
+Node: `GIMPLE_OMP_SINGLE'664292
+Node: `GIMPLE_PHI'665229
+Node: `GIMPLE_RESX'666644
+Node: `GIMPLE_RETURN'667363
+Node: `GIMPLE_SWITCH'667931
+Node: `GIMPLE_TRY'670069
+Node: `GIMPLE_WITH_CLEANUP_EXPR'671859
+Node: GIMPLE sequences672742
+Node: Sequence iterators675948
+Node: Adding a new GIMPLE statement code684404
+Node: Statement and operand traversals685680
+Node: Tree SSA688280
+Node: Annotations690066
+Node: SSA Operands690592
+Node: SSA705123
+Node: Alias analysis717414
+Node: Memory model721194
+Node: Loop Analysis and Representation722557
+Node: Loop representation723738
+Node: Loop querying730658
+Node: Loop manipulation733491
+Node: LCSSA735859
+Node: Scalar evolutions737931
+Node: loop-iv741175
+Node: Number of iterations743101
+Node: Dependency analysis745910
+Node: Lambda752278
+Node: Omega753949
+Node: Control Flow755514
+Node: Basic Blocks756509
+Node: Edges761077
+Node: Profile information769639
+Node: Maintaining the CFG774325
+Node: Liveness information781202
+Node: Machine Desc783328
+Node: Overview785796
+Node: Patterns787837
+Node: Example791275
+Node: RTL Template792710
+Node: Output Template803365
+Node: Output Statement807330
+Node: Predicates811292
+Node: Machine-Independent Predicates814210
+Node: Defining Predicates819155
+Node: Constraints825120
+Node: Simple Constraints826602
+Node: Multi-Alternative839458
+Node: Class Preferences842299
+Node: Modifiers843191
+Node: Machine Constraints847323
+Node: Disable Insn Alternatives886477
+Node: Define Constraints889370
+Node: C Constraint Interface896151
+Node: Standard Names899792
+Ref: shift patterns919733
+Ref: prologue instruction pattern960367
+Ref: epilogue instruction pattern960860
+Node: Pattern Ordering970582
+Node: Dependent Patterns971818
+Node: Jump Patterns973438
+Ref: Jump Patterns-Footnote-1975582
+Node: Looping Patterns975628
+Node: Insn Canonicalizations980356
+Node: Expander Definitions984307
+Node: Insn Splitting992425
+Node: Including Patterns1002027
+Node: Peephole Definitions1003807
+Node: define_peephole1005060
+Node: define_peephole21011391
+Node: Insn Attributes1014458
+Node: Defining Attributes1015564
+Ref: define_enum_attr1018083
+Node: Expressions1019118
+Node: Tagging Insns1025720
+Node: Attr Example1030073
+Node: Insn Lengths1032447
+Node: Constant Attributes1035506
+Node: Delay Slots1036675
+Node: Processor pipeline description1039899
+Ref: Processor pipeline description-Footnote-11057517
+Node: Conditional Execution1057839
+Node: Constant Definitions1060692
+Ref: define_enum1064483
+Node: Iterators1064971
+Node: Mode Iterators1065418
+Node: Defining Mode Iterators1066396
+Node: Substitutions1067890
+Node: Examples1070131
+Node: Code Iterators1071579
+Node: Target Macros1073836
+Node: Target Structure1076924
+Node: Driver1078193
+Node: Run-time Target1097579
+Node: Per-Function Data1107216
+Node: Storage Layout1109981
+Node: Type Layout1135215
+Node: Registers1149686
+Node: Register Basics1150660
+Node: Allocation Order1156165
+Node: Values in Registers1158611
+Node: Leaf Functions1166100
+Node: Stack Registers1168958
+Node: Register Classes1170230
+Node: Old Constraints1199377
+Node: Stack and Calling1206529
+Node: Frame Layout1207063
+Node: Exception Handling1217943
+Node: Stack Checking1224321
+Node: Frame Registers1229134
+Node: Elimination1236800
+Node: Stack Arguments1241029
+Node: Register Arguments1247926
+Node: Scalar Return1266706
+Node: Aggregate Return1272785
+Node: Caller Saves1276995
+Node: Function Entry1278173
+Node: Profiling1290801
+Node: Tail Calls1292500
+Node: Stack Smashing Protection1293866
+Node: Varargs1295491
+Node: Trampolines1302177
+Node: Library Calls1308824
+Node: Addressing Modes1313025
+Node: Anchored Addresses1332041
+Node: Condition Code1334690
+Node: CC0 Condition Codes1336819
+Node: MODE_CC Condition Codes1340065
+Node: Cond Exec Macros1346292
+Node: Costs1347269
+Node: Scheduling1363480
+Node: Sections1382401
+Node: PIC1397702
+Node: Assembler Format1399762
+Node: File Framework1400900
+Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1407789
+Node: Data Output1411054
+Node: Uninitialized Data1419403
+Node: Label Output1424967
+Node: Initialization1448039
+Node: Macros for Initialization1454001
+Node: Instruction Output1460724
+Node: Dispatch Tables1471226
+Node: Exception Region Output1475604
+Node: Alignment Output1481948
+Node: Debugging Info1486493
+Node: All Debuggers1487163
+Node: DBX Options1490018
+Node: DBX Hooks1495467
+Node: File Names and DBX1497393
+Node: SDB and DWARF1499505
+Node: VMS Debug1505352
+Node: Floating Point1505939
+Node: Mode Switching1510762
+Node: Target Attributes1514688
+Node: Emulated TLS1522600
+Node: MIPS Coprocessors1525990
+Node: PCH Target1527559
+Node: C++ ABI1529101
+Node: Named Address Spaces1533750
+Node: Misc1538689
+Ref: TARGET_SHIFT_TRUNCATION_MASK1546117
+Node: Host Config1589519
+Node: Host Common1590587
+Node: Filesystem1592966
+Node: Host Misc1597081
+Node: Fragments1599530
+Node: Target Fragment1600725
+Node: Host Fragment1606615
+Node: Collect21606855
+Node: Header Dirs1609491
+Node: Type Information1610914
+Node: GTY Options1613271
+Node: GGC Roots1624961
+Node: Files1625681
+Node: Invoking the garbage collector1628427
+Node: Troubleshooting1629930
+Node: Plugins1631006
+Node: LTO1647377
+Node: Funding1672423
+Node: GNU Project1674906
+Node: Copying1675555
+Node: GNU Free Documentation License1713086
+Node: Contributors1738226
+Node: Option Index1775098
+Node: Concept Index1775902

End Tag Table
diff --git a/share/info/gdb.info b/share/info/gdb.info
index 065edec..3760646 100644
--- a/share/info/gdb.info
+++ b/share/info/gdb.info
@@ -1,5 +1,5 @@
This is gdb.info, produced by makeinfo version 4.13 from
-/tmp/android-1596/src/build/../gdb/gdb-7.1.x/gdb/doc/gdb.texinfo.
+/tmp/android-15472/src/build/../gdb/gdb-7.3.x/gdb/doc/gdb.texinfo.
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
@@ -11,7 +11,7 @@ END-INFO-DIR-ENTRY
2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs Free
Documentation", with the Front-Cover Texts being "A GNU Manual," and
@@ -23,15 +23,15 @@ developing GNU and promoting software freedom."
This file documents the GNU debugger GDB.
- This is the Ninth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.1-android-gg2.
+ This is the Tenth Edition, of `Debugging with GDB: the GNU
+Source-Level Debugger' for GDB (GDB) Version 7.3.1-gg2.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs Free
Documentation", with the Front-Cover Texts being "A GNU Manual," and
@@ -49,7 +49,7 @@ Debugging with GDB
This file describes GDB, the GNU symbolic debugger.
- This is the Ninth Edition, for GDB (GDB) Version 7.1-android-gg2.
+ This is the Tenth Edition, for GDB (GDB) Version 7.3.1-gg2.
Copyright (C) 1988-2010 Free Software Foundation, Inc.
@@ -95,8 +95,10 @@ in general. We will miss him.
* GDB Bugs:: Reporting bugs in GDB
+
* Command Line Editing:: Command Line Editing
* Using History Interactively:: Using History Interactively
+* In Memoriam:: In Memoriam
* Formatting Documentation:: How to format and print GDB documentation
* Installing GDB:: Installing GDB
* Maintenance Commands:: Maintenance Commands
@@ -139,9 +141,14 @@ these) to help you catch bugs in the act:
information, see *note Supported Languages: Supported Languages. For
more information, see *note C and C++: C.
+ Support for D is partial. For information on D, see *note D: D.
+
Support for Modula-2 is partial. For information on Modula-2, see
*note Modula-2: Modula-2.
+ Support for OpenCL C is partial. For information on OpenCL C, see
+*note OpenCL C: OpenCL C.
+
Debugging Pascal programs which use sets, subranges, file variables,
or nested functions does not currently work. GDB does not support
entering expressions, printing values, or similar features using Pascal
@@ -482,7 +489,7 @@ Let us use GDB to try to see what is going on.
There is absolutely no warranty for GDB; type "show warranty"
for details.
- GDB 7.1-android-gg2, Copyright 1999 Free Software Foundation, Inc...
+ GDB 7.3.1-gg2, Copyright 1999 Free Software Foundation, Inc...
(gdb)
GDB reads only enough symbol data to know where to find the rest when
@@ -842,7 +849,9 @@ mode or quiet mode.
command files specified with `-x' (and all commands from
initialization files, if not inhibited with `-n'). Exit with
nonzero status if an error occurs in executing the GDB commands in
- the command files.
+ the command files. Batch mode also disables pagination, sets
+ unlimited terminal width and height *note Screen Size::, and acts
+ as if `set confirm off' were in effect (*note Messages/Warnings::).
Batch mode may be useful for running GDB as a filter, for example
to download and run a program on another computer; in order to
@@ -898,6 +907,10 @@ mode or quiet mode.
Run GDB using DIRECTORY as its working directory, instead of the
current directory.
+`-data-directory DIRECTORY'
+ Run GDB using DIRECTORY as its data directory. The data directory
+ is where GDB searches for its auxiliary files. *Note Data Files::.
+
`-fullname'
`-f'
GNU Emacs sets this option when it runs GDB as a subprocess. It
@@ -980,6 +993,13 @@ mode or quiet mode.
This option causes GDB to print its version number and no-warranty
blurb, and exit.
+`-disable-gdb-index'
+ This option causes GDB to avoid using the `.gdb_index' ELF
+ section, even if present in the executable or a shared library.
+ This section improves the speed of loading of debug information.
+ This option is present as an escape hatch in case there is a
+ problem with the contents of this section.
+

File: gdb.info, Node: Startup, Prev: Mode Options, Up: Invoking GDB
@@ -1009,10 +1029,25 @@ Here's the description of what GDB does during session startup:
and another, specific to the program you are debugging, in the
directory where you invoke GDB.
- 6. Reads command files specified by the `-x' option. *Note Command
+ 6. If the command line specified a program to debug, or a process to
+ attach to, or a core file, GDB loads any auto-loaded scripts
+ provided for the program or for its loaded shared libraries.
+ *Note Auto-loading::.
+
+ If you wish to disable the auto-loading during startup, you must
+ do something like the following:
+
+ $ gdb -ex "set auto-load-scripts off" -ex "file myprogram"
+
+ The following does not work because the auto-loading is turned off
+ too late:
+
+ $ gdb -ex "set auto-load-scripts off" myprogram
+
+ 7. Reads command files specified by the `-x' option. *Note Command
Files::, for more details about GDB command files.
- 7. Reads the command history recorded in the "history file". *Note
+ 8. Reads the command history recorded in the "history file". *Note
Command History::, for more details about the command history and
the files where GDB records it.
@@ -2033,7 +2068,7 @@ Each inferior may in turn have multiple threads running in it.
`add-inferior' and `clone-inferior' commands. On some systems GDB can
add inferiors to the debug session automatically by following calls to
`fork' and `exec'. To remove inferiors from the debugging session use
-the `remove-inferior' command.
+the `remove-inferiors' command.
`add-inferior [ -copies N ] [ -exec EXECUTABLE ]'
Adds N inferiors to be run using EXECUTABLE as the executable. N
@@ -2061,29 +2096,33 @@ the `remove-inferior' command.
You can now simply switch focus to inferior 2 and run it.
-`remove-inferior INFNO'
- Removes the inferior INFNO. It is not possible to remove an
- inferior that is running with this command. For those, use the
- `kill' or `detach' command first.
+`remove-inferiors INFNO...'
+ Removes the inferior or inferiors INFNO.... It is not possible to
+ remove an inferior that is running with this command. For those,
+ use the `kill' or `detach' command first.
To quit debugging one of the running inferiors that is not the
current inferior, you can either detach from it by using the
`detach inferior' command (allowing it to run independently), or kill it
-using the `kill inferior' command:
+using the `kill inferiors' command:
-`detach inferior INFNO'
- Detach from the inferior identified by GDB inferior number INFNO,
- and remove it from the inferior list.
+`detach inferior INFNO...'
+ Detach from the inferior or inferiors identified by GDB inferior
+ number(s) INFNO.... Note that the inferior's entry still stays on
+ the list of inferiors shown by `info inferiors', but its
+ Description will show `<null>'.
-`kill inferior INFNO'
- Kill the inferior identified by GDB inferior number INFNO, and
- remove it from the inferior list.
+`kill inferiors INFNO...'
+ Kill the inferior or inferiors identified by GDB inferior
+ number(s) INFNO.... Note that the inferior's entry still stays on
+ the list of inferiors shown by `info inferiors', but its
+ Description will show `<null>'.
After the successful completion of a command such as `detach',
-`detach inferior', `kill' or `kill inferior', or after a normal process
-exit, the inferior is still valid and listed with `info inferiors',
-ready to be restarted.
+`detach inferiors', `kill' or `kill inferiors', or after a normal
+process exit, the inferior is still valid and listed with `info
+inferiors', ready to be restarted.
To be notified when inferiors are started or exit under GDB's
control use `set print inferior-events':
@@ -2206,7 +2245,7 @@ form `[New SYSTAG]'. SYSTAG is a thread identifier whose form varies
depending on the particular system. For example, on GNU/Linux, you
might see
- [New Thread 46912507313328 (LWP 25582)]
+ [New Thread 0x41e02940 (LWP 25582)]
when GDB notices a new thread. In contrast, on an SGI system, the
SYSTAG is simply something like `process 368', with no further
@@ -2215,52 +2254,21 @@ qualifier.
For debugging purposes, GDB associates its own thread number--always
a single integer--with each thread in your program.
-`info threads'
- Display a summary of all threads currently in your program. GDB
- displays for each thread (in this order):
+`info threads [ID...]'
+ Display a summary of all threads currently in your program.
+ Optional argument ID... is one or more thread ids separated by
+ spaces, and means to print information only about the specified
+ thread or threads. GDB displays for each thread (in this order):
1. the thread number assigned by GDB
2. the target system's thread identifier (SYSTAG)
- 3. the current stack frame summary for that thread
-
- An asterisk `*' to the left of the GDB thread number indicates the
- current thread.
-
- For example,
-
- (gdb) info threads
- 3 process 35 thread 27 0x34e5 in sigpause ()
- 2 process 35 thread 23 0x34e5 in sigpause ()
- * 1 process 35 thread 13 main (argc=1, argv=0x7ffffff8)
- at threadtest.c:68
-
- On HP-UX systems:
-
- For debugging purposes, GDB associates its own thread number--a
-small integer assigned in thread-creation order--with each thread in
-your program.
-
- Whenever GDB detects a new thread in your program, it displays both
-GDB's thread number and the target system's identification for the
-thread with a message in the form `[New SYSTAG]'. SYSTAG is a thread
-identifier whose form varies depending on the particular system. For
-example, on HP-UX, you see
+ 3. the thread's name, if one is known. A thread can either be
+ named by the user (see `thread name', below), or, in some
+ cases, by the program itself.
- [New thread 2 (system thread 26594)]
-
-when GDB notices a new thread.
-
-`info threads'
- Display a summary of all threads currently in your program. GDB
- displays for each thread (in this order):
-
- 1. the thread number assigned by GDB
-
- 2. the target system's thread identifier (SYSTAG)
-
- 3. the current stack frame summary for that thread
+ 4. the current stack frame summary for that thread
An asterisk `*' to the left of the GDB thread number indicates the
current thread.
@@ -2268,15 +2276,11 @@ when GDB notices a new thread.
For example,
(gdb) info threads
- * 3 system thread 26607 worker (wptr=0x7b09c318 "@") \
-
- at quicksort.c:137
- 2 system thread 26606 0x7b0030d8 in __ksleep () \
-
- from /usr/lib/libc.2
- 1 system thread 27905 0x7b003498 in _brk () \
-
- from /usr/lib/libc.2
+ Id Target Id Frame
+ 3 process 35 thread 27 0x34e5 in sigpause ()
+ 2 process 35 thread 23 0x34e5 in sigpause ()
+ * 1 process 35 thread 13 main (argc=1, argv=0x7ffffff8)
+ at threadtest.c:68
On Solaris, you can display more information about user threads with
a Solaris-specific command:
@@ -2292,14 +2296,21 @@ a Solaris-specific command:
its current stack frame summary:
(gdb) thread 2
- [Switching to process 35 thread 23]
- 0x34e5 in sigpause ()
+ [Switching to thread 2 (Thread 0xb7fdab70 (LWP 12747))]
+ #0 some_function (ignore=0x0) at example.c:8
+ 8 printf ("hello\n");
As with the `[New ...]' message, the form of the text after
`Switching to' depends on your system's conventions for identifying
threads.
-`thread apply [THREADNO] [ALL] COMMAND'
+ The debugger convenience variable `$_thread' contains the number
+ of the current thread. You may find this useful in writing
+ breakpoint conditional expressions, command scripts, and so forth.
+ See *Note Convenience Variables: Convenience Vars, for general
+ information on convenience variables.
+
+`thread apply [THREADNO | all] COMMAND'
The `thread apply' command allows you to apply the named COMMAND
to one or more threads. Specify the numbers of the threads that
you want affected with the command argument THREADNO. It can be a
@@ -2308,6 +2319,31 @@ a Solaris-specific command:
numbers, as in `2-4'. To apply a command to all threads, type
`thread apply all COMMAND'.
+`thread name [NAME]'
+ This command assigns a name to the current thread. If no argument
+ is given, any existing user-specified name is removed. The thread
+ name appears in the `info threads' display.
+
+ On some systems, such as GNU/Linux, GDB is able to determine the
+ name of the thread as given by the OS. On these systems, a name
+ specified with `thread name' will override the system-give name,
+ and removing the user-specified name will cause GDB to once again
+ display the system-specified name.
+
+`thread find [REGEXP]'
+ Search for and display thread ids whose name or SYSTAG matches the
+ supplied regular expression.
+
+ As well as being the complement to the `thread name' command, this
+ command also allows you to identify a thread by its target SYSTAG.
+ For instance, on GNU/Linux, the target SYSTAG is the LWP id.
+
+ (GDB) thread find 26688
+ Thread 4 has target id 'Thread 0x41e02940 (LWP 26688)'
+ (GDB) info thread 4
+ Id Target Id Frame
+ 4 Thread 0x41e02940 (LWP 26688) 0x00000031ca6cd372 in select ()
+
`set print thread-events'
`set print thread-events on'
`set print thread-events off'
@@ -2332,15 +2368,23 @@ watchpoints in programs with multiple threads.
`set libthread-db-search-path [PATH]'
If this variable is set, PATH is a colon-separated list of
directories GDB will use to search for `libthread_db'. If you
- omit PATH, `libthread-db-search-path' will be reset to an empty
- list.
+ omit PATH, `libthread-db-search-path' will be reset to its default
+ value (`$sdir:$pdir' on GNU/Linux and Solaris systems).
+ Internally, the default value comes from the
+ `LIBTHREAD_DB_SEARCH_PATH' macro.
On GNU/Linux and Solaris systems, GDB uses a "helper"
`libthread_db' library to obtain information about threads in the
inferior process. GDB will use `libthread-db-search-path' to find
- `libthread_db'. If that fails, GDB will continue with default
- system shared library directories, and finally the directory from
- which `libpthread' was loaded in the inferior process.
+ `libthread_db'.
+
+ A special entry `$sdir' for `libthread-db-search-path' refers to
+ the default system directories that are normally searched for
+ loading shared libraries.
+
+ A special entry `$pdir' for `libthread-db-search-path' refers to
+ the directory from which `libpthread' was loaded in the inferior
+ process.
For any `libthread_db' library GDB finds in above directories, GDB
attempts to initialize it with the current inferior process. If
@@ -2356,6 +2400,11 @@ watchpoints in programs with multiple threads.
`show libthread-db-search-path'
Display current libthread_db search path.
+`set debug libthread-db'
+`show debug libthread-db'
+ Turns on or off display of `libthread_db'-related events. Use `1'
+ to enable, `0' to disable.
+

File: gdb.info, Node: Forks, Next: Checkpoint/Restart, Prev: Threads, Up: Running
@@ -2438,8 +2487,8 @@ the `inferior' command (*note Debugging Multiple Inferiors and
Programs: Inferiors and Programs.).
To quit debugging one of the forked processes, you can either detach
-from it by using the `detach inferior' command (allowing it to run
-independently), or kill it using the `kill inferior' command. *Note
+from it by using the `detach inferiors' command (allowing it to run
+independently), or kill it using the `kill inferiors' command. *Note
Debugging Multiple Inferiors and Programs: Inferiors and Programs.
If you ask to debug a child process and a `vfork' is followed by an
@@ -2706,6 +2755,7 @@ in that range are operated on.
* Disabling:: Disabling breakpoints
* Conditions:: Break conditions
* Break Commands:: Breakpoint command lists
+* Save Breakpoints:: How to save breakpoints in a file
* Error in Breakpoints:: ``Cannot insert breakpoints''
* Breakpoint-related Warnings:: ``Breakpoint address adjusted...''
@@ -2826,13 +2876,24 @@ variables.
(gdb) rbreak .
-`info breakpoints [N]'
-`info break [N]'
-`info watchpoints [N]'
+`rbreak FILE:REGEX'
+ If `rbreak' is called with a filename qualification, it limits the
+ search for functions matching the given regular expression to the
+ specified FILE. This can be used, for example, to set breakpoints
+ on every function in a given file:
+
+ (gdb) rbreak file.c:.
+
+ The colon separating the filename qualifier from the regex may
+ optionally be surrounded by spaces.
+
+`info breakpoints [N...]'
+`info break [N...]'
Print a table of all breakpoints, watchpoints, and catchpoints set
and not deleted. Optional argument N means print information only
- about the specified breakpoint (or watchpoint or catchpoint). For
- each breakpoint, following columns are printed:
+ about the specified breakpoint(s) (or watchpoint(s) or
+ catchpoint(s)). For each breakpoint, following columns are
+ printed:
_Breakpoint Numbers_
@@ -3087,7 +3148,7 @@ culprit.)
x86-based targets, GDB includes support for hardware watchpoints, which
do not slow down the running of your program.
-`watch EXPR [thread THREADNUM]'
+`watch [-l|-location] EXPR [thread THREADNUM]'
Set a watchpoint for an expression. GDB will break when the
expression EXPR is written into by the program and its value
changes. The simplest (and the most popular) use of this command
@@ -3101,17 +3162,35 @@ do not slow down the running of your program.
break. Note that watchpoints restricted to a single thread in
this way only work with Hardware Watchpoints.
-`rwatch EXPR [thread THREADNUM]'
+ Ordinarily a watchpoint respects the scope of variables in EXPR
+ (see below). The `-location' argument tells GDB to instead watch
+ the memory referred to by EXPR. In this case, GDB will evaluate
+ EXPR, take the address of the result, and watch the memory at that
+ address. The type of the result is used to determine the size of
+ the watched memory. If the expression's result does not have an
+ address, then GDB will print an error.
+
+`rwatch [-l|-location] EXPR [thread THREADNUM]'
Set a watchpoint that will break when the value of EXPR is read by
the program.
-`awatch EXPR [thread THREADNUM]'
+`awatch [-l|-location] EXPR [thread THREADNUM]'
Set a watchpoint that will break when EXPR is either read from or
written into by the program.
-`info watchpoints'
- This command prints a list of watchpoints, breakpoints, and
- catchpoints; it is the same as `info break' (*note Set Breaks::).
+`info watchpoints [N...]'
+ This command prints a list of watchpoints, using the same format as
+ `info break' (*note Set Breaks::).
+
+ If you watch for a change in a numerically entered address you need
+to dereference it, as the address itself is just a constant number
+which will never change. GDB refuses to create a watchpoint that
+watches a never-changing value:
+
+ (gdb) watch 0x600850
+ Cannot watch constant value 0x600850.
+ (gdb) watch *(int *) 0x600850
+ Watchpoint 1: *(int *) 6293584
GDB sets a "hardware watchpoint" if possible. Hardware watchpoints
execute very quickly, and the debugger reports a change in value at the
@@ -3491,9 +3570,9 @@ that you can "enable" it again later.
You disable and enable breakpoints, watchpoints, and catchpoints with
the `enable' and `disable' commands, optionally specifying one or more
-breakpoint numbers as arguments. Use `info break' or `info watch' to
-print a list of breakpoints, watchpoints, and catchpoints if you do not
-know which numbers to use.
+breakpoint numbers as arguments. Use `info break' to print a list of
+all breakpoints, watchpoints, and catchpoints if you do not know which
+numbers to use.
Disabling and enabling a breakpoint that has multiple locations
affects all of its locations.
@@ -3648,7 +3727,7 @@ it.
Ignore counts apply to breakpoints, watchpoints, and catchpoints.

-File: gdb.info, Node: Break Commands, Next: Error in Breakpoints, Prev: Conditions, Up: Breakpoints
+File: gdb.info, Node: Break Commands, Next: Save Breakpoints, Prev: Conditions, Up: Breakpoints
5.1.7 Breakpoint Command Lists
------------------------------
@@ -3658,19 +3737,24 @@ commands to execute when your program stops due to that breakpoint. For
example, you might want to print the values of certain expressions, or
enable other breakpoints.
-`commands [BNUM]'
+`commands [RANGE...]'
`... COMMAND-LIST ...'
`end'
- Specify a list of commands for breakpoint number BNUM. The
- commands themselves appear on the following lines. Type a line
- containing just `end' to terminate the commands.
+ Specify a list of commands for the given breakpoints. The commands
+ themselves appear on the following lines. Type a line containing
+ just `end' to terminate the commands.
To remove all commands from a breakpoint, type `commands' and
follow it immediately with `end'; that is, give no commands.
- With no BNUM argument, `commands' refers to the last breakpoint,
+ With no argument, `commands' refers to the last breakpoint,
watchpoint, or catchpoint set (not to the breakpoint most recently
- encountered).
+ encountered). If the most recent breakpoints were set with a
+ single command, then the `commands' will apply to all the
+ breakpoints set by that command. This applies to breakpoints set
+ by `rbreak', and also applies when a single `break' command
+ creates multiple breakpoints (*note Ambiguous Expressions:
+ Ambiguous Expressions.).
Pressing <RET> as a means of repeating the last GDB command is
disabled within a COMMAND-LIST.
@@ -3722,9 +3806,33 @@ that no output is produced. Here is an example:
end

-File: gdb.info, Node: Error in Breakpoints, Next: Breakpoint-related Warnings, Prev: Break Commands, Up: Breakpoints
+File: gdb.info, Node: Save Breakpoints, Next: Error in Breakpoints, Prev: Break Commands, Up: Breakpoints
-5.1.8 "Cannot insert breakpoints"
+5.1.8 How to save breakpoints to a file
+---------------------------------------
+
+To save breakpoint definitions to a file use the `save breakpoints'
+command.
+
+`save breakpoints [FILENAME]'
+ This command saves all current breakpoint definitions together with
+ their commands and ignore counts, into a file `FILENAME' suitable
+ for use in a later debugging session. This includes all types of
+ breakpoints (breakpoints, watchpoints, catchpoints, tracepoints).
+ To read the saved breakpoint definitions, use the `source' command
+ (*note Command Files::). Note that watchpoints with expressions
+ involving local variables may fail to be recreated because it may
+ not be possible to access the context where the watchpoint is
+ valid anymore. Because the saved breakpoint definitions are
+ simply a sequence of GDB commands that recreate the breakpoints,
+ you can edit the file in your favorite editing program, and remove
+ the breakpoint definitions you're not interested in, or that can
+ no longer be recreated.
+
+
+File: gdb.info, Node: Error in Breakpoints, Next: Breakpoint-related Warnings, Prev: Save Breakpoints, Up: Breakpoints
+
+5.1.9 "Cannot insert breakpoints"
---------------------------------
If you request too many active hardware-assisted breakpoints and
@@ -3743,8 +3851,8 @@ the hardware-assisted breakpoints and watchpoints, and then continue.

File: gdb.info, Node: Breakpoint-related Warnings, Prev: Error in Breakpoints, Up: Breakpoints
-5.1.9 "Breakpoint address adjusted..."
---------------------------------------
+5.1.10 "Breakpoint address adjusted..."
+---------------------------------------
Some processor architectures place constraints on the addresses at
which breakpoints may be placed. For architectures thus constrained,
@@ -4168,6 +4276,7 @@ debugger.
* Background Execution:: Running your program asynchronously
* Thread-Specific Breakpoints:: Controlling breakpoints
* Interrupted System Calls:: GDB may interfere with system calls
+* Observer Mode:: GDB does not alter program behavior

File: gdb.info, Node: All-Stop Mode, Next: Non-Stop Mode, Up: Thread Stops
@@ -4440,7 +4549,7 @@ on all threads, or on a particular thread.

-File: gdb.info, Node: Interrupted System Calls, Prev: Thread-Specific Breakpoints, Up: Thread Stops
+File: gdb.info, Node: Interrupted System Calls, Next: Observer Mode, Prev: Thread-Specific Breakpoints, Up: Thread Stops
5.4.5 Interrupted System Calls
------------------------------
@@ -4479,6 +4588,96 @@ such an event happens, a system call in another thread may return
prematurely, even though your program does not appear to stop.

+File: gdb.info, Node: Observer Mode, Prev: Interrupted System Calls, Up: Thread Stops
+
+5.4.6 Observer Mode
+-------------------
+
+If you want to build on non-stop mode and observe program behavior
+without any chance of disruption by GDB, you can set variables to
+disable all of the debugger's attempts to modify state, whether by
+writing memory, inserting breakpoints, etc. These operate at a low
+level, intercepting operations from all commands.
+
+ When all of these are set to `off', then GDB is said to be "observer
+mode". As a convenience, the variable `observer' can be set to disable
+these, plus enable non-stop mode.
+
+ Note that GDB will not prevent you from making nonsensical
+combinations of these settings. For instance, if you have enabled
+`may-insert-breakpoints' but disabled `may-write-memory', then
+breakpoints that work by writing trap instructions into the code stream
+will still not be able to be placed.
+
+`set observer on'
+`set observer off'
+ When set to `on', this disables all the permission variables below
+ (except for `insert-fast-tracepoints'), plus enables non-stop
+ debugging. Setting this to `off' switches back to normal
+ debugging, though remaining in non-stop mode.
+
+`show observer'
+ Show whether observer mode is on or off.
+
+`set may-write-registers on'
+`set may-write-registers off'
+ This controls whether GDB will attempt to alter the values of
+ registers, such as with assignment expressions in `print', or the
+ `jump' command. It defaults to `on'.
+
+`show may-write-registers'
+ Show the current permission to write registers.
+
+`set may-write-memory on'
+`set may-write-memory off'
+ This controls whether GDB will attempt to alter the contents of
+ memory, such as with assignment expressions in `print'. It
+ defaults to `on'.
+
+`show may-write-memory'
+ Show the current permission to write memory.
+
+`set may-insert-breakpoints on'
+`set may-insert-breakpoints off'
+ This controls whether GDB will attempt to insert breakpoints.
+ This affects all breakpoints, including internal breakpoints
+ defined by GDB. It defaults to `on'.
+
+`show may-insert-breakpoints'
+ Show the current permission to insert breakpoints.
+
+`set may-insert-tracepoints on'
+`set may-insert-tracepoints off'
+ This controls whether GDB will attempt to insert (regular)
+ tracepoints at the beginning of a tracing experiment. It affects
+ only non-fast tracepoints, fast tracepoints being under the
+ control of `may-insert-fast-tracepoints'. It defaults to `on'.
+
+`show may-insert-tracepoints'
+ Show the current permission to insert tracepoints.
+
+`set may-insert-fast-tracepoints on'
+`set may-insert-fast-tracepoints off'
+ This controls whether GDB will attempt to insert fast tracepoints
+ at the beginning of a tracing experiment. It affects only fast
+ tracepoints, regular (non-fast) tracepoints being under the
+ control of `may-insert-tracepoints'. It defaults to `on'.
+
+`show may-insert-fast-tracepoints'
+ Show the current permission to insert fast tracepoints.
+
+`set may-interrupt on'
+`set may-interrupt off'
+ This controls whether GDB will attempt to interrupt or stop
+ program execution. When this variable is `off', the `interrupt'
+ command will have no effect, nor will `Ctrl-c'. It defaults to
+ `on'.
+
+`show may-interrupt'
+ Show the current permission to interrupt or stop the program.
+
+
+
File: gdb.info, Node: Reverse Execution, Next: Process Record and Replay, Prev: Stopping, Up: Top
6 Running programs backward
@@ -4670,6 +4869,15 @@ GDB provides the following commands:
When the inferior process exits, or GDB detaches from it, process
record and replay target will automatically stop itself.
+`record save FILENAME'
+ Save the execution log to a file `FILENAME'. Default filename is
+ `gdb_record.PROCESS_ID', where PROCESS_ID is the process ID of the
+ inferior.
+
+`record restore FILENAME'
+ Restore the execution log from a file `FILENAME'. File must have
+ been created with `record save'.
+
`set record insn-number-max LIMIT'
Set the limit of instructions to be recorded. Default value is
200000.
@@ -4704,6 +4912,20 @@ GDB provides the following commands:
`show record stop-at-limit'
Show the current setting of `stop-at-limit'.
+`set record memory-query'
+ Control the behavior when GDB is unable to record memory changes
+ caused by an instruction. If ON, GDB will query whether to stop
+ the inferior in that case.
+
+ If this option is OFF (the default), GDB will automatically ignore
+ the effect of such instructions on memory. Later, when GDB
+ replays this execution log, it will mark the log of this
+ instruction as not accessible, and it will not affect the replay
+ results.
+
+`show record memory-query'
+ Show the current setting of `memory-query'.
+
`info record'
Show various statistics about the state of process record and its
in-memory execution log buffer, including:
@@ -4903,13 +5125,13 @@ backtrace might look like:
#0 m4_traceon (obs=0x24eb0, argc=1, argv=0x2b8c8)
at builtin.c:993
- #1 0x6e38 in expand_macro (sym=<value optimized out>) at macro.c:242
- #2 0x6840 in expand_token (obs=0x0, t=<value optimized out>, td=0xf7fffb08)
+ #1 0x6e38 in expand_macro (sym=<optimized out>) at macro.c:242
+ #2 0x6840 in expand_token (obs=0x0, t=<optimized out>, td=0xf7fffb08)
at macro.c:71
(More stack frames follow...)
The values of arguments that were not saved in their stack frames are
-shown as `<value optimized out>'.
+shown as `<optimized out>'.
If you need to display the values of such optimized-out arguments,
either deduce that from other variables whose values depend on the one
@@ -5240,12 +5462,22 @@ GDB understands:
Specifies the line that begins the body of the function FUNCTION.
For example, in C, this is the line with the open brace.
+`FUNCTION:LABEL'
+ Specifies the line where LABEL appears in FUNCTION.
+
`FILENAME:FUNCTION'
Specifies the line that begins the body of the function FUNCTION
in the file FILENAME. You only need the file name with a function
name to avoid ambiguity when there are identically named functions
in different source files.
+`LABEL'
+ Specifies the line at which the label named LABEL appears. GDB
+ searches for the label in the function corresponding to the
+ currently selected stack frame. If there is no current selected
+ stack frame (for instance, if the inferior is not running), then
+ GDB will not search for a label.
+
`*ADDRESS'
Specifies the program address ADDRESS. For line-oriented
commands, such as `list' and `edit', this specifies a source line
@@ -5474,6 +5706,10 @@ being moved together.
Reset the source path to its default value (`$cdir:$cwd' on Unix
systems). This requires confirmation.
+`set directories PATH-LIST'
+ Set the source path to PATH-LIST. `$cdir:$cwd' are added if
+ missing.
+
`show directories'
Print the source path: show which directories it contains.
@@ -5581,9 +5817,18 @@ variable `$_' (*note Convenience Variables: Convenience Vars.).
program counter value; GDB dumps the function surrounding this
value. When two arguments are given, they should be separated by
a comma, possibly surrounded by whitespace. The arguments specify
- a range of addresses (first inclusive, second exclusive) to dump.
- In that case, the name of the function is also printed (since
- there could be several functions in the given range).
+ a range of addresses to dump, in one of two forms:
+
+ `START,END'
+ the addresses from START (inclusive) to END (exclusive)
+
+ `START,+LENGTH'
+ the addresses from START (inclusive) to `START+LENGTH'
+ (exclusive).
+
+ When 2 arguments are specified, the name of the function is also
+ printed (since there could be several functions in the given
+ range).
The argument(s) can be any expression yielding a numeric value,
such as `0x32c4', `&main+10' or `$pc - 8'.
@@ -5631,6 +5876,17 @@ the program is stopped just after function prologue:
End of assembler dump.
+ Here is another example showing raw instructions in hex for AMD
+x86-64,
+
+ (gdb) disas /r 0x400281,+10
+ Dump of assembler code from 0x400281 to 0x40028b:
+ 0x0000000000400281: 38 36 cmp %dh,(%rsi)
+ 0x0000000000400283: 2d 36 34 2e 73 sub $0x732e3436,%eax
+ 0x0000000000400288: 6f outsl %ds:(%rsi),(%dx)
+ 0x0000000000400289: 2e 32 00 xor %cs:(%rax),%al
+ End of assembler dump.
+
Some architectures have more than one commonly-used set of
instruction mnemonics or other syntax.
@@ -5678,7 +5934,9 @@ File: gdb.info, Node: Data, Next: Optimized Code, Prev: Source, Up: Top
The usual way to examine data in your program is with the `print'
command (abbreviated `p'), or its synonym `inspect'. It evaluates and
prints the value of an expression of the language your program is
-written in (*note Using GDB with Different Languages: Languages.).
+written in (*note Using GDB with Different Languages: Languages.). It
+may also print the expression using a Python-based pretty-printer
+(*note Pretty Printing::).
`print EXPR'
`print /F EXPR'
@@ -5713,6 +5971,7 @@ rather than `print'. *Note Examining the Symbol Table: Symbols.
* Memory:: Examining memory
* Auto Display:: Automatic display
* Print Settings:: Print settings
+* Pretty Printing:: Python pretty printing
* Value History:: Value history
* Convenience Vars:: Convenience variables
* Registers:: Registers
@@ -6095,8 +6354,10 @@ supported are:
`r'
Print using the `raw' formatting. By default, GDB will use a
- type-specific pretty-printer. The `r' format bypasses any
- pretty-printer which might exist for the value's type.
+ Python-based pretty-printer, if one is available (*note Pretty
+ Printing::). This typically results in a higher-level display of
+ the value's contents. The `r' format bypasses any Python
+ pretty-printer which might exist.
For example, to print the program counter in hex (*note
Registers::), type
@@ -6163,8 +6424,16 @@ U, the unit size
Giant words (eight bytes).
Each time you specify a unit size with `x', that size becomes the
- default unit the next time you use `x'. (For the `s' and `i'
- formats, the unit size is ignored and is normally not written.)
+ default unit the next time you use `x'. For the `i' format, the
+ unit size is ignored and is normally not written. For the `s'
+ format, the unit size defaults to `b', unless it is explicitly
+ given. Use `x /hs' to display 16-bit char strings and `x /ws' to
+ display 32-bit strings. The next use of `x /s' will again display
+ 8-bit strings. Note that the results depend on the programming
+ language of the current compilation unit. If the language is C,
+ the `s' modifier will use the UTF-16 encoding while `w' will use
+ UTF-32. The encoding is set by the programming language and cannot
+ be altered.
ADDR, starting display address
ADDR is the address where you want GDB to begin displaying memory.
@@ -6292,7 +6561,11 @@ common name for the program counter; *note Registers: Registers.).
`undisplay DNUMS...'
`delete display DNUMS...'
- Remove item numbers DNUMS from the list of expressions to display.
+ Remove items from the list of expressions to display. Specify the
+ numbers of the displays that you want affected with the command
+ argument DNUMS. It can be a single display number, one of the
+ numbers shown in the first field of the `info display' display; or
+ it could be a range of display numbers, as in `2-4'.
`undisplay' does not repeat if you press <RET> after using it.
(Otherwise you would just get the error `No display number ...'.)
@@ -6300,12 +6573,20 @@ common name for the program counter; *note Registers: Registers.).
`disable display DNUMS...'
Disable the display of item numbers DNUMS. A disabled display
item is not printed automatically, but is not forgotten. It may be
- enabled again later.
+ enabled again later. Specify the numbers of the displays that you
+ want affected with the command argument DNUMS. It can be a single
+ display number, one of the numbers shown in the first field of the
+ `info display' display; or it could be a range of display numbers,
+ as in `2-4'.
`enable display DNUMS...'
Enable display of item numbers DNUMS. It becomes effective once
again in auto display of its expression, until you specify
- otherwise.
+ otherwise. Specify the numbers of the displays that you want
+ affected with the command argument DNUMS. It can be a single
+ display number, one of the numbers shown in the first field of the
+ `info display' display; or it could be a range of display numbers,
+ as in `2-4'.
`display'
Display the current values of the expressions on the list, just as
@@ -6331,7 +6612,7 @@ time your program stops where `last_char' is meaningful, you can enable
the display expression once again.

-File: gdb.info, Node: Print Settings, Next: Value History, Prev: Auto Display, Up: Data
+File: gdb.info, Node: Print Settings, Next: Pretty Printing, Prev: Auto Display, Up: Data
10.8 Print Settings
===================
@@ -6706,10 +6987,177 @@ These settings are of interest when debugging C++ programs:
not.

-File: gdb.info, Node: Value History, Next: Convenience Vars, Prev: Print Settings, Up: Data
+File: gdb.info, Node: Pretty Printing, Next: Value History, Prev: Print Settings, Up: Data
-10.9 Value History
-==================
+10.9 Pretty Printing
+====================
+
+GDB provides a mechanism to allow pretty-printing of values using
+Python code. It greatly simplifies the display of complex objects.
+This mechanism works for both MI and the CLI.
+
+* Menu:
+
+* Pretty-Printer Introduction:: Introduction to pretty-printers
+* Pretty-Printer Example:: An example pretty-printer
+* Pretty-Printer Commands:: Pretty-printer commands
+
+
+File: gdb.info, Node: Pretty-Printer Introduction, Next: Pretty-Printer Example, Up: Pretty Printing
+
+10.9.1 Pretty-Printer Introduction
+----------------------------------
+
+When GDB prints a value, it first sees if there is a pretty-printer
+registered for the value. If there is then GDB invokes the
+pretty-printer to print the value. Otherwise the value is printed
+normally.
+
+ Pretty-printers are normally named. This makes them easy to manage.
+The `info pretty-printer' command will list all the installed
+pretty-printers with their names. If a pretty-printer can handle
+multiple data types, then its "subprinters" are the printers for the
+individual data types. Each such subprinter has its own name. The
+format of the name is PRINTER-NAME;SUBPRINTER-NAME.
+
+ Pretty-printers are installed by "registering" them with GDB.
+Typically they are automatically loaded and registered when the
+corresponding debug information is loaded, thus making them available
+without having to do anything special.
+
+ There are three places where a pretty-printer can be registered.
+
+ * Pretty-printers registered globally are available when debugging
+ all inferiors.
+
+ * Pretty-printers registered with a program space are available only
+ when debugging that program. *Note Progspaces In Python::, for
+ more details on program spaces in Python.
+
+ * Pretty-printers registered with an objfile are loaded and unloaded
+ with the corresponding objfile (e.g., shared library). *Note
+ Objfiles In Python::, for more details on objfiles in Python.
+
+ *Note Selecting Pretty-Printers::, for further information on how
+pretty-printers are selected,
+
+ *Note Writing a Pretty-Printer::, for implementing pretty printers
+for new types.
+
+
+File: gdb.info, Node: Pretty-Printer Example, Next: Pretty-Printer Commands, Prev: Pretty-Printer Introduction, Up: Pretty Printing
+
+10.9.2 Pretty-Printer Example
+-----------------------------
+
+Here is how a C++ `std::string' looks without a pretty-printer:
+
+ (gdb) print s
+ $1 = {
+ static npos = 4294967295,
+ _M_dataplus = {
+ <std::allocator<char>> = {
+ <__gnu_cxx::new_allocator<char>> = {
+ <No data fields>}, <No data fields>
+ },
+ members of std::basic_string<char, std::char_traits<char>,
+ std::allocator<char> >::_Alloc_hider:
+ _M_p = 0x804a014 "abcd"
+ }
+ }
+
+ With a pretty-printer for `std::string' only the contents are
+printed:
+
+ (gdb) print s
+ $2 = "abcd"
+
+
+File: gdb.info, Node: Pretty-Printer Commands, Prev: Pretty-Printer Example, Up: Pretty Printing
+
+10.9.3 Pretty-Printer Commands
+------------------------------
+
+`info pretty-printer [OBJECT-REGEXP [NAME-REGEXP]]'
+ Print the list of installed pretty-printers. This includes
+ disabled pretty-printers, which are marked as such.
+
+ OBJECT-REGEXP is a regular expression matching the objects whose
+ pretty-printers to list. Objects can be `global', the program
+ space's file (*note Progspaces In Python::), and the object files
+ within that program space (*note Objfiles In Python::). *Note
+ Selecting Pretty-Printers::, for details on how GDB looks up a
+ printer from these three objects.
+
+ NAME-REGEXP is a regular expression matching the name of the
+ printers to list.
+
+`disable pretty-printer [OBJECT-REGEXP [NAME-REGEXP]]'
+ Disable pretty-printers matching OBJECT-REGEXP and NAME-REGEXP. A
+ disabled pretty-printer is not forgotten, it may be enabled again
+ later.
+
+`enable pretty-printer [OBJECT-REGEXP [NAME-REGEXP]]'
+ Enable pretty-printers matching OBJECT-REGEXP and NAME-REGEXP.
+
+ Example:
+
+ Suppose we have three pretty-printers installed: one from library1.so
+named `foo' that prints objects of type `foo', and another from
+library2.so named `bar' that prints two types of objects, `bar1' and
+`bar2'.
+
+ (gdb) info pretty-printer
+ library1.so:
+ foo
+ library2.so:
+ bar
+ bar1
+ bar2
+ (gdb) info pretty-printer library2
+ library2.so:
+ bar
+ bar1
+ bar2
+ (gdb) disable pretty-printer library1
+ 1 printer disabled
+ 2 of 3 printers enabled
+ (gdb) info pretty-printer
+ library1.so:
+ foo [disabled]
+ library2.so:
+ bar
+ bar1
+ bar2
+ (gdb) disable pretty-printer library2 bar:bar1
+ 1 printer disabled
+ 1 of 3 printers enabled
+ (gdb) info pretty-printer library2
+ library1.so:
+ foo [disabled]
+ library2.so:
+ bar
+ bar1 [disabled]
+ bar2
+ (gdb) disable pretty-printer library2 bar
+ 1 printer disabled
+ 0 of 3 printers enabled
+ (gdb) info pretty-printer library2
+ library1.so:
+ foo [disabled]
+ library2.so:
+ bar [disabled]
+ bar1 [disabled]
+ bar2
+
+ Note that for `bar' the entire printer can be disabled, as can each
+individual subprinter.
+
+
+File: gdb.info, Node: Value History, Next: Convenience Vars, Prev: Pretty Printing, Up: Data
+
+10.10 Value History
+===================
Values printed by the `print' command are saved in the GDB "value
history". This allows you to refer to them in other expressions.
@@ -6770,7 +7218,7 @@ as `show values +'.

File: gdb.info, Node: Convenience Vars, Next: Registers, Prev: Value History, Up: Data
-10.10 Convenience Variables
+10.11 Convenience Variables
===========================
GDB provides "convenience variables" that you can use within GDB to
@@ -6849,12 +7297,26 @@ values likely to be useful.
The variable `$_exitcode' is automatically set to the exit code
when the program being debugged terminates.
+`$_sdata'
+ The variable `$_sdata' contains extra collected static tracepoint
+ data. *Note Tracepoint Action Lists: Tracepoint Actions. Note
+ that `$_sdata' could be empty, if not inspecting a trace buffer, or
+ if extra static tracepoint data has not been collected.
+
`$_siginfo'
The variable `$_siginfo' contains extra signal information (*note
extra signal information::). Note that `$_siginfo' could be
empty, if the application has not yet received any signals. For
example, it will be empty before you execute the `run' command.
+`$_tlb'
+ The variable `$_tlb' is automatically set when debugging
+ applications running on MS-Windows in native mode or connected to
+ gdbserver that supports the `qGetTIBAddr' request. *Note General
+ Query Packets::. This variable contains the address of the thread
+ information block.
+
+
On HP-UX systems, if you refer to a function or variable name that
begins with a dollar sign, GDB searches for a user or system name
first, before it searches for a convenience variable.
@@ -6870,7 +7332,7 @@ function is implemented internally to GDB.

File: gdb.info, Node: Registers, Next: Floating Point Hardware, Prev: Convenience Vars, Up: Data
-10.11 Registers
+10.12 Registers
===============
You can refer to machine register contents, in expressions, as variables
@@ -6985,7 +7447,7 @@ off the stack, regardless of machine architecture, use `return'; see

File: gdb.info, Node: Floating Point Hardware, Next: Vector Unit, Prev: Registers, Up: Data
-10.12 Floating Point Hardware
+10.13 Floating Point Hardware
=============================
Depending on the configuration, GDB may be able to give you more
@@ -7000,7 +7462,7 @@ information about the status of the floating point hardware.

File: gdb.info, Node: Vector Unit, Next: OS Information, Prev: Floating Point Hardware, Up: Data
-10.13 Vector Unit
+10.14 Vector Unit
=================
Depending on the configuration, GDB may be able to give you more
@@ -7013,7 +7475,7 @@ information about the status of the vector unit.

File: gdb.info, Node: OS Information, Next: Memory Region Attributes, Prev: Vector Unit, Up: Data
-10.14 Operating System Auxiliary Information
+10.15 Operating System Auxiliary Information
============================================
GDB provides interfaces to useful OS facilities that can help you debug
@@ -7057,6 +7519,11 @@ and display it to user, without interpretation. For remote targets,
this functionality depends on the remote stub's support of the
`qXfer:osdata:read' packet, see *note qXfer osdata read::.
+`info os'
+ List the types of OS information available for the target. If the
+ target does not return a list of possible types, this command will
+ report an error.
+
`info os processes'
Display the list of processes on the target. For each process,
GDB prints the process identifier, the name of the user, and the
@@ -7065,7 +7532,7 @@ this functionality depends on the remote stub's support of the

File: gdb.info, Node: Memory Region Attributes, Next: Dump/Restore Files, Prev: OS Information, Up: Data
-10.15 Memory Region Attributes
+10.16 Memory Region Attributes
==============================
"Memory region attributes" allow you to describe special handling
@@ -7128,10 +7595,10 @@ to enable, disable, or remove a memory region, you specify that number.
_Attributes_
The list of attributes set for this memory region.
-10.15.1 Attributes
+10.16.1 Attributes
------------------
-10.15.1.1 Memory Access Mode
+10.16.1.1 Memory Access Mode
............................
The access mode attributes set whether GDB may make read or write
@@ -7150,7 +7617,7 @@ from accessing memory.
`rw'
Memory is read/write. This is the default.
-10.15.1.2 Memory Access Size
+10.16.1.2 Memory Access Size
............................
The access size attribute tells GDB to use specific sized accesses in
@@ -7170,7 +7637,7 @@ may use accesses of any size.
`64'
Use 64 bit memory accesses.
-10.15.1.3 Data Cache
+10.16.1.3 Data Cache
....................
The data cache attributes set whether GDB will cache target memory.
@@ -7184,7 +7651,7 @@ about volatile variables or memory mapped device registers.
`nocache'
Disable GDB from caching target memory. This is the default.
-10.15.2 Memory Access Checking
+10.16.2 Memory Access Checking
------------------------------
GDB can be instructed to refuse accesses to memory that is not
@@ -7206,7 +7673,7 @@ checking. The following commands control this behaviour.

File: gdb.info, Node: Dump/Restore Files, Next: Core File Generation, Prev: Memory Region Attributes, Up: Data
-10.16 Copy Between Memory and a File
+10.17 Copy Between Memory and a File
====================================
You can use the commands `dump', `append', and `restore' to copy data
@@ -7265,7 +7732,7 @@ append to binary files.

File: gdb.info, Node: Core File Generation, Next: Character Sets, Prev: Dump/Restore Files, Up: Data
-10.17 How to Produce a Core File from Your Program
+10.18 How to Produce a Core File from Your Program
==================================================
A "core file" or "core dump" is a file that records the memory image of
@@ -7293,7 +7760,7 @@ special command for that.

File: gdb.info, Node: Character Sets, Next: Caching Remote Data, Prev: Core File Generation, Up: Data
-10.18 Character Sets
+10.19 Character Sets
====================
If the program you are debugging uses a different character set to
@@ -7332,8 +7799,8 @@ command, described below.
this case, GDB uses `UTF-8'.
GDB can only use certain character sets as its host character set.
- If you type `set target-charset <TAB><TAB>', GDB will list the
- host character sets it supports.
+ If you type `set host-charset <TAB><TAB>', GDB will list the host
+ character sets it supports.
`set charset CHARSET'
Set the current host and target character sets to CHARSET. As
@@ -7476,7 +7943,7 @@ character.

File: gdb.info, Node: Caching Remote Data, Next: Searching Memory, Prev: Character Sets, Up: Data
-10.19 Caching Data of Remote Targets
+10.20 Caching Data of Remote Targets
====================================
GDB caches data exchanged between the debugger and a remote target
@@ -7517,6 +7984,22 @@ Other regions of memory can be explicitly marked as cacheable; see
If a line number is specified, the contents of that line will be
printed in hex.
+`set dcache size SIZE'
+ Set maximum number of entries in dcache (dcache depth above).
+
+`set dcache line-size LINE-SIZE'
+ Set number of bytes each dcache entry caches (dcache width above).
+ Must be a power of 2.
+
+`show dcache size'
+ Show maximum number of dcache entries. See also *note info
+ dcache: Caching Remote Data.
+
+`show dcache line-size'
+ Show default size of dcache lines. See also *note info dcache:
+ Caching Remote Data.
+
+
---------- Footnotes ----------
(1) In non-stop mode, it is moderately rare for a running thread to
@@ -7527,7 +8010,7 @@ of remote backtraces.

File: gdb.info, Node: Searching Memory, Prev: Caching Remote Data, Up: Data
-10.20 Search Memory
+10.21 Search Memory
===================
Memory can be searched for a particular sequence of bytes with the
@@ -7978,15 +8461,34 @@ hits that tracepoint. The collected data can include registers, local
variables, or global data. Later, you can use GDB commands to examine
the values these data had at the time the tracepoint was hit.
- Tracepoints do not support every breakpoint feature. Conditional
-expressions and ignore counts on tracepoints have no effect, and
-tracepoints cannot run GDB commands when they are hit. Tracepoints may
-not be thread-specific either.
+ Tracepoints do not support every breakpoint feature. Ignore counts
+on tracepoints have no effect, and tracepoints cannot run GDB commands
+when they are hit. Tracepoints may not be thread-specific either.
Some targets may support "fast tracepoints", which are inserted in a
different way (such as with a jump instead of a trap), that is faster
but possibly restricted in where they may be installed.
+ Regular and fast tracepoints are dynamic tracing facilities, meaning
+that they can be used to insert tracepoints at (almost) any location in
+the target. Some targets may also support controlling "static
+tracepoints" from GDB. With static tracing, a set of instrumentation
+points, also known as "markers", are embedded in the target program,
+and can be activated or deactivated by name or address. These are
+usually placed at locations which facilitate investigating what the
+target is actually doing. GDB's support for static tracing includes
+being able to list instrumentation points, and attach them with GDB
+defined high level tracepoints that expose the whole range of
+convenience of GDB's tracepoints support. Namely, support for
+collecting registers values and values of global or local (to the
+instrumentation point) variables; tracepoint conditions and trace state
+variables. The act of installing a GDB static tracepoint on an
+instrumentation point, or marker, is referred to as "probing" a static
+tracepoint marker.
+
+ `gdbserver' supports tracepoints on some target systems. *Note
+Tracepoints support in `gdbserver': Server.
+
This section describes commands to set tracepoints and associated
conditions and actions.
@@ -7999,7 +8501,9 @@ conditions and actions.
* Trace State Variables::
* Tracepoint Actions::
* Listing Tracepoints::
+* Listing Static Tracepoint Markers::
* Starting and Stopping Trace Experiments::
+* Tracepoint Restrictions::

File: gdb.info, Node: Create and Delete Tracepoints, Next: Enable and Disable Tracepoints, Up: Set Tracepoints
@@ -8051,6 +8555,54 @@ File: gdb.info, Node: Create and Delete Tracepoints, Next: Enable and Disable
GDB handles arguments to `ftrace' exactly as for `trace'.
+`strace LOCATION [ if COND ]'
+ The `strace' command sets a static tracepoint. For targets that
+ support it, setting a static tracepoint probes a static
+ instrumentation point, or marker, found at LOCATION. It may not
+ be possible to set a static tracepoint at the desired location, in
+ which case the command will exit with an explanatory message.
+
+ GDB handles arguments to `strace' exactly as for `trace', with the
+ addition that the user can also specify `-m MARKER' as LOCATION.
+ This probes the marker identified by the MARKER string identifier.
+ This identifier depends on the static tracepoint backend library
+ your program is using. You can find all the marker identifiers in
+ the `ID' field of the `info static-tracepoint-markers' command
+ output. *Note Listing Static Tracepoint Markers: Listing Static
+ Tracepoint Markers. For example, in the following small program
+ using the UST tracing engine:
+
+ main ()
+ {
+ trace_mark(ust, bar33, "str %s", "FOOBAZ");
+ }
+
+ the marker id is composed of joining the first two arguments to the
+ `trace_mark' call with a slash, which translates to:
+
+ (gdb) info static-tracepoint-markers
+ Cnt Enb ID Address What
+ 1 n ust/bar33 0x0000000000400ddc in main at stexample.c:22
+ Data: "str %s"
+ [etc...]
+
+ so you may probe the marker above with:
+
+ (gdb) strace -m ust/bar33
+
+ Static tracepoints accept an extra collect action -- `collect
+ $_sdata'. This collects arbitrary user data passed in the probe
+ point call to the tracing library. In the UST example above,
+ you'll see that the third argument to `trace_mark' is a
+ printf-like format string. The user data is then the result of
+ running that formating string against the following arguments.
+ Note that `info static-tracepoint-markers' command output lists
+ that format string in the `Data:' field.
+
+ You can inspect this data when analyzing the trace buffer, by
+ printing the $_sdata variable like any other variable available to
+ GDB. *Note Tracepoint Action Lists: Tracepoint Actions.
+
The convenience variable `$tpnum' records the tracepoint number of
the most recently set tracepoint.
@@ -8142,7 +8694,7 @@ breakpoints.
Unlike breakpoint conditions, GDB does not actually evaluate the
conditional expression itself. Instead, GDB encodes the expression
-into an agent expression (*note Agent Expressions:: suitable for
+into an agent expression (*note Agent Expressions::) suitable for
execution on the target, independently of GDB. Global variables become
raw memory locations, locals become stack accesses, and so forth.
@@ -8216,9 +8768,13 @@ File: gdb.info, Node: Tracepoint Actions, Next: Listing Tracepoints, Prev: Tr
`actions' without bothering about its number). You specify the
actions themselves on the following lines, one action at a time,
and terminate the actions list with a line containing just `end'.
- So far, the only defined actions are `collect' and
+ So far, the only defined actions are `collect', `teval', and
`while-stepping'.
+ `actions' is actually equivalent to `commands' (*note Breakpoint
+ Command Lists: Break Commands.), except that only the defined
+ actions are allowed; any other GDB command is rejected.
+
To remove all actions from a tracepoint, type `actions NUM' and
follow it immediately with `end'.
@@ -8232,10 +8788,10 @@ File: gdb.info, Node: Tracepoint Actions, Next: Listing Tracepoints, Prev: Tr
commands indicating the things to be collected when the tracepoint
is hit. Then, in order to single-step and collect additional data
following the tracepoint, a `while-stepping' command is used,
- followed by the list of things to be collected while stepping. The
- `while-stepping' command is terminated by its own separate `end'
- command. Lastly, the action list is terminated by an `end'
- command.
+ followed by the list of things to be collected after each step in a
+ sequence of single steps. The `while-stepping' command is
+ terminated by its own separate `end' command. Lastly, the action
+ list is terminated by an `end' command.
(gdb) trace foo
(gdb) actions
@@ -8243,7 +8799,7 @@ File: gdb.info, Node: Tracepoint Actions, Next: Listing Tracepoints, Prev: Tr
> collect bar,baz
> collect $regs
> while-stepping 12
- > collect $fp, $sp
+ > collect $pc, arr[i]
> end
end
@@ -8254,17 +8810,35 @@ File: gdb.info, Node: Tracepoint Actions, Next: Listing Tracepoints, Prev: Tr
the following special arguments are supported:
`$regs'
- collect all registers
+ Collect all registers.
`$args'
- collect all function arguments
+ Collect all function arguments.
`$locals'
- collect all local variables.
+ Collect all local variables.
+
+ `$_sdata'
+ Collect static tracepoint marker specific data. Only
+ available for static tracepoints. *Note Tracepoint Action
+ Lists: Tracepoint Actions. On the UST static tracepoints
+ library backend, an instrumentation point resembles a
+ `printf' function call. The tracing library is able to
+ collect user specified data formatted to a character string
+ using the format provided by the programmer that instrumented
+ the program. Other backends have similar mechanisms. Here's
+ an example of a UST marker call:
+
+ const char master_name[] = "$your_name";
+ trace_mark(channel1, marker1, "hello %s", master_name)
+
+ In this case, collecting `$_sdata' collects the string `hello
+ $yourname'. When analyzing the trace buffer, you can inspect
+ `$_sdata' like any other variable available to GDB.
You can give several consecutive `collect' commands, each one with
a single argument, or one `collect' command with several arguments
- separated by commas: the effect is the same.
+ separated by commas; the effect is the same.
The command `info scope' (*note info scope: Symbols.) is
particularly useful for figuring out what data to collect.
@@ -8278,17 +8852,20 @@ File: gdb.info, Node: Tracepoint Actions, Next: Listing Tracepoints, Prev: Tr
the `collect' action were used.
`while-stepping N'
- Perform N single-step traces after the tracepoint, collecting new
- data at each step. The `while-stepping' command is followed by
- the list of what to collect while stepping (followed by its own
- `end' command):
+ Perform N single-step instruction traces after the tracepoint,
+ collecting new data after each step. The `while-stepping' command
+ is followed by the list of what to collect while stepping
+ (followed by its own `end' command):
> while-stepping 12
> collect $regs, myglobal
> end
>
- You may abbreviate `while-stepping' as `ws' or `stepping'.
+ Note that `$pc' is not automatically collected by
+ `while-stepping'; you need to explicitly collect that register if
+ you need it. You may abbreviate `while-stepping' as `ws' or
+ `stepping'.
`set default-collect EXPR1, EXPR2, ...'
This variable is a list of expressions to collect at each
@@ -8305,12 +8882,12 @@ File: gdb.info, Node: Tracepoint Actions, Next: Listing Tracepoints, Prev: Tr

-File: gdb.info, Node: Listing Tracepoints, Next: Starting and Stopping Trace Experiments, Prev: Tracepoint Actions, Up: Set Tracepoints
+File: gdb.info, Node: Listing Tracepoints, Next: Listing Static Tracepoint Markers, Prev: Tracepoint Actions, Up: Set Tracepoints
13.1.7 Listing Tracepoints
--------------------------
-`info tracepoints [NUM]'
+`info tracepoints [NUM...]'
Display information about the tracepoint NUM. If you don't
specify a tracepoint number, displays information about all the
tracepoints defined so far. The format is similar to that used for
@@ -8322,30 +8899,75 @@ File: gdb.info, Node: Listing Tracepoints, Next: Starting and Stopping Trace E
* its passcount as given by the `passcount N' command
- * its step count as given by the `while-stepping N' command
-
- * its action list as given by the `actions' command. The
- actions are prefixed with an `A' so as to distinguish them
- from commands.
-
(gdb) info trace
Num Type Disp Enb Address What
1 tracepoint keep y 0x0804ab57 in foo() at main.cxx:7
+ while-stepping 20
+ collect globfoo, $regs
+ end
+ collect globfoo2
+ end
pass count 1200
- step count 20
- A while-stepping 20
- A collect globfoo, $regs
- A end
- A collect globfoo2
- A end
(gdb)
This command can be abbreviated `info tp'.

-File: gdb.info, Node: Starting and Stopping Trace Experiments, Prev: Listing Tracepoints, Up: Set Tracepoints
+File: gdb.info, Node: Listing Static Tracepoint Markers, Next: Starting and Stopping Trace Experiments, Prev: Listing Tracepoints, Up: Set Tracepoints
+
+13.1.8 Listing Static Tracepoint Markers
+----------------------------------------
+
+`info static-tracepoint-markers'
+ Display information about all static tracepoint markers defined in
+ the program.
+
+ For each marker, the following columns are printed:
-13.1.8 Starting and Stopping Trace Experiments
+ _Count_
+ An incrementing counter, output to help readability. This is
+ not a stable identifier.
+
+ _ID_
+ The marker ID, as reported by the target.
+
+ _Enabled or Disabled_
+ Probed markers are tagged with `y'. `n' identifies marks
+ that are not enabled.
+
+ _Address_
+ Where the marker is in your program, as a memory address.
+
+ _What_
+ Where the marker is in the source for your program, as a file
+ and line number. If the debug information included in the
+ program does not allow GDB to locate the source of the
+ marker, this column will be left blank.
+
+ In addition, the following information may be printed for each
+ marker:
+
+ _Data_
+ User data passed to the tracing library by the marker call.
+ In the UST backend, this is the format string passed as
+ argument to the marker call.
+
+ _Static tracepoints probing the marker_
+ The list of static tracepoints attached to the marker.
+
+ (gdb) info static-tracepoint-markers
+ Cnt ID Enb Address What
+ 1 ust/bar2 y 0x0000000000400e1a in main at stexample.c:25
+ Data: number1 %d number2 %d
+ Probed by static tracepoints: #2
+ 2 ust/bar33 n 0x0000000000400c87 in main at stexample.c:24
+ Data: str %s
+ (gdb)
+
+
+File: gdb.info, Node: Starting and Stopping Trace Experiments, Next: Tracepoint Restrictions, Prev: Listing Static Tracepoint Markers, Up: Set Tracepoints
+
+13.1.9 Starting and Stopping Trace Experiments
----------------------------------------------
`tstart'
@@ -8416,6 +9038,101 @@ tracepoint. This matching-up process is necessarily heuristic, and it
may result in useless tracepoints being created; you may simply delete
them if they are of no use.
+ If your target agent supports a "circular trace buffer", then you
+can run a trace experiment indefinitely without filling the trace
+buffer; when space runs out, the agent deletes already-collected trace
+frames, oldest first, until there is enough room to continue
+collecting. This is especially useful if your tracepoints are being
+hit too often, and your trace gets terminated prematurely because the
+buffer is full. To ask for a circular trace buffer, simply set
+`circular-trace-buffer' to on. You can set this at any time, including
+during tracing; if the agent can do it, it will change buffer handling
+on the fly, otherwise it will not take effect until the next run.
+
+`set circular-trace-buffer on'
+`set circular-trace-buffer off'
+ Choose whether a tracing run should use a linear or circular buffer
+ for trace data. A linear buffer will not lose any trace data, but
+ may fill up prematurely, while a circular buffer will discard old
+ trace data, but it will have always room for the latest tracepoint
+ hits.
+
+`show circular-trace-buffer'
+ Show the current choice for the trace buffer. Note that this may
+ not match the agent's current buffer handling, nor is it
+ guaranteed to match the setting that might have been in effect
+ during a past run, for instance if you are looking at frames from
+ a trace file.
+
+
+
+File: gdb.info, Node: Tracepoint Restrictions, Prev: Starting and Stopping Trace Experiments, Up: Set Tracepoints
+
+13.1.10 Tracepoint Restrictions
+-------------------------------
+
+There are a number of restrictions on the use of tracepoints. As
+described above, tracepoint data gathering occurs on the target without
+interaction from GDB. Thus the full capabilities of the debugger are
+not available during data gathering, and then at data examination time,
+you will be limited by only having what was collected. The following
+items describe some common problems, but it is not exhaustive, and you
+may run into additional difficulties not mentioned here.
+
+ * Tracepoint expressions are intended to gather objects (lvalues).
+ Thus the full flexibility of GDB's expression evaluator is not
+ available. You cannot call functions, cast objects to aggregate
+ types, access convenience variables or modify values (except by
+ assignment to trace state variables). Some language features may
+ implicitly call functions (for instance Objective-C fields with
+ accessors), and therefore cannot be collected either.
+
+ * Collection of local variables, either individually or in bulk with
+ `$locals' or `$args', during `while-stepping' may behave
+ erratically. The stepping action may enter a new scope (for
+ instance by stepping into a function), or the location of the
+ variable may change (for instance it is loaded into a register).
+ The tracepoint data recorded uses the location information for the
+ variables that is correct for the tracepoint location. When the
+ tracepoint is created, it is not possible, in general, to determine
+ where the steps of a `while-stepping' sequence will advance the
+ program--particularly if a conditional branch is stepped.
+
+ * Collection of an incompletely-initialized or partially-destroyed
+ object may result in something that GDB cannot display, or displays
+ in a misleading way.
+
+ * When GDB displays a pointer to character it automatically
+ dereferences the pointer to also display characters of the string
+ being pointed to. However, collecting the pointer during tracing
+ does not automatically collect the string. You need to explicitly
+ dereference the pointer and provide size information if you want to
+ collect not only the pointer, but the memory pointed to. For
+ example, `*ptr@50' can be used to collect the 50 element array
+ pointed to by `ptr'.
+
+ * It is not possible to collect a complete stack backtrace at a
+ tracepoint. Instead, you may collect the registers and a few
+ hundred bytes from the stack pointer with something like
+ `*$esp@300' (adjust to use the name of the actual stack pointer
+ register on your target architecture, and the amount of stack you
+ wish to capture). Then the `backtrace' command will show a
+ partial backtrace when using a trace frame. The number of stack
+ frames that can be examined depends on the sizes of the frames in
+ the collected stack. Note that if you ask for a block so large
+ that it goes past the bottom of the stack, the target agent may
+ report an error trying to read from an invalid address.
+
+ * If you do not collect registers at a tracepoint, GDB can infer
+ that the value of `$pc' must be the same as the address of the
+ tracepoint and use that when you are looking at a trace frame for
+ that tracepoint. However, this cannot work if the tracepoint has
+ multiple locations (for instance if it was set in a function that
+ was inlined), or if it has a `while-stepping' loop. In those cases
+ GDB will warn you that it can't infer `$pc', and default it to
+ zero.
+
+

File: gdb.info, Node: Analyze Collected Data, Next: Tracepoint Variables, Prev: Set Tracepoints, Up: Tracepoints
@@ -8441,7 +9158,7 @@ the buffer will fail.
* tfind:: How to select a trace snapshot
* tdump:: How to display all data for a snapshot
-* save-tracepoints:: How to save tracepoints for a future run
+* save tracepoints:: How to save tracepoints for a future run

File: gdb.info, Node: tfind, Next: tdump, Up: Analyze Collected Data
@@ -8554,7 +9271,7 @@ the buffer:
Frame 13, X = 255

-File: gdb.info, Node: tdump, Next: save-tracepoints, Prev: tfind, Up: Analyze Collected Data
+File: gdb.info, Node: tdump, Next: save tracepoints, Prev: tfind, Up: Analyze Collected Data
13.2.2 `tdump'
--------------
@@ -8609,16 +9326,32 @@ the current trace snapshot.
(gdb)
+ `tdump' works by scanning the tracepoint's current collection
+actions and printing the value of each expression listed. So `tdump'
+can fail, if after a run, you change the tracepoint's actions to
+mention variables that were not collected during the run.
+
+ Also, for tracepoints with `while-stepping' loops, `tdump' uses the
+collected value of `$pc' to distinguish between trace frames that were
+collected at the tracepoint hit, and frames that were collected while
+stepping. This allows it to correctly choose whether to display the
+basic list of collections, or the collections from the body of the
+while-stepping loop. However, if `$pc' was not collected, then `tdump'
+will always attempt to dump using the basic collection list, and may
+fail if a while-stepping frame does not include all the same data that
+is collected at the tracepoint hit.
+

-File: gdb.info, Node: save-tracepoints, Prev: tdump, Up: Analyze Collected Data
+File: gdb.info, Node: save tracepoints, Prev: tdump, Up: Analyze Collected Data
-13.2.3 `save-tracepoints FILENAME'
+13.2.3 `save tracepoints FILENAME'
----------------------------------
This command saves all current tracepoint definitions together with
their actions and passcounts, into a file `FILENAME' suitable for use
in a later debugging session. To read the saved tracepoint
-definitions, use the `source' command (*note Command Files::).
+definitions, use the `source' command (*note Command Files::). The
+`save-tracepoints' command is a deprecated alias for `save tracepoints'

File: gdb.info, Node: Tracepoint Variables, Next: Trace Files, Prev: Analyze Collected Data, Up: Tracepoints
@@ -9124,6 +9857,9 @@ infers that its language is the one indicated.
`.c++'
C++ source file
+`.d'
+ D source file
+
`.m'
Objective-C source file
@@ -9387,11 +10123,11 @@ File: gdb.info, Node: Supported Languages, Next: Unsupported Languages, Prev:
15.4 Supported Languages
========================
-GDB supports C, C++, Objective-C, Fortran, Java, Pascal, assembly,
-Modula-2, and Ada. Some GDB features may be used in expressions
-regardless of the language you use: the GDB `@' and `::' operators, and
-the `{type}addr' construct (*note Expressions: Expressions.) can be
-used with the constructs of any supported language.
+GDB supports C, C++, D, Objective-C, Fortran, Java, OpenCL C, Pascal,
+assembly, Modula-2, and Ada. Some GDB features may be used in
+expressions regardless of the language you use: the GDB `@' and `::'
+operators, and the `{type}addr' construct (*note Expressions:
+Expressions.) can be used with the constructs of any supported language.
The following sections detail to what degree each source language is
supported by GDB. These sections are not meant to be language
@@ -9404,14 +10140,16 @@ reference or tutorial.
* Menu:
* C:: C and C++
+* D:: D
* Objective-C:: Objective-C
+* OpenCL C:: OpenCL C
* Fortran:: Fortran
* Pascal:: Pascal
* Modula-2:: Modula-2
* Ada:: Ada

-File: gdb.info, Node: C, Next: Objective-C, Up: Supported Languages
+File: gdb.info, Node: C, Next: D, Up: Supported Languages
15.4.1 C and C++
----------------
@@ -9868,9 +10606,19 @@ to inspect `_Decimal128' values stored in floating point registers.
See *note PowerPC: PowerPC. for more details.

-File: gdb.info, Node: Objective-C, Next: Fortran, Prev: C, Up: Supported Languages
+File: gdb.info, Node: D, Next: Objective-C, Prev: C, Up: Supported Languages
+
+15.4.2 D
+--------
+
+GDB can be used to debug programs written in D and compiled with GDC,
+LDC or DMD compilers. Currently GDB supports only one D specific
+feature -- dynamic arrays.
+
+
+File: gdb.info, Node: Objective-C, Next: OpenCL C, Prev: D, Up: Supported Languages
-15.4.2 Objective-C
+15.4.3 Objective-C
------------------
This section provides information about some commands and command
@@ -9886,7 +10634,7 @@ more commands specific to Objective-C support.

File: gdb.info, Node: Method Names in Commands, Next: The Print Command with Objective-C, Up: Objective-C
-15.4.2.1 Method Names in Commands
+15.4.3.1 Method Names in Commands
.................................
The following commands have been extended to accept Objective-C method
@@ -9941,7 +10689,7 @@ apply.

File: gdb.info, Node: The Print Command with Objective-C, Prev: Method Names in Commands, Up: Objective-C
-15.4.2.2 The Print Command With Objective-C
+15.4.3.2 The Print Command With Objective-C
...........................................
The print command has also been extended to accept methods. For
@@ -9956,9 +10704,53 @@ However, this command may only work with certain Objective-C libraries
that have a particular hook function, `_NSPrintForDebugger', defined.

-File: gdb.info, Node: Fortran, Next: Pascal, Prev: Objective-C, Up: Supported Languages
+File: gdb.info, Node: OpenCL C, Next: Fortran, Prev: Objective-C, Up: Supported Languages
+
+15.4.4 OpenCL C
+---------------
+
+This section provides information about GDBs OpenCL C support.
+
+* Menu:
+
+* OpenCL C Datatypes::
+* OpenCL C Expressions::
+* OpenCL C Operators::
+
+
+File: gdb.info, Node: OpenCL C Datatypes, Next: OpenCL C Expressions, Up: OpenCL C
+
+15.4.4.1 OpenCL C Datatypes
+...........................
+
+GDB supports the builtin scalar and vector datatypes specified by
+OpenCL 1.1. In addition the half- and double-precision floating point
+data types of the `cl_khr_fp16' and `cl_khr_fp64' OpenCL extensions are
+also known to GDB.
+
+
+File: gdb.info, Node: OpenCL C Expressions, Next: OpenCL C Operators, Prev: OpenCL C Datatypes, Up: OpenCL C
+
+15.4.4.2 OpenCL C Expressions
+.............................
+
+GDB supports accesses to vector components including the access as
+lvalue where possible. Since OpenCL C is based on C99 most C
+expressions supported by GDB can be used as well.
+
+
+File: gdb.info, Node: OpenCL C Operators, Prev: OpenCL C Expressions, Up: OpenCL C
+
+15.4.4.3 OpenCL C Operators
+...........................
-15.4.3 Fortran
+GDB supports the operators specified by OpenCL 1.1 for scalar and
+vector data types.
+
+
+File: gdb.info, Node: Fortran, Next: Pascal, Prev: OpenCL C, Up: Supported Languages
+
+15.4.5 Fortran
--------------
GDB can be used to debug programs written in Fortran, but it currently
@@ -9979,7 +10771,7 @@ underscore.

File: gdb.info, Node: Fortran Operators, Next: Fortran Defaults, Up: Fortran
-15.4.3.1 Fortran Operators and Expressions
+15.4.5.1 Fortran Operators and Expressions
..........................................
Operators must be defined on values of specific types. For instance,
@@ -10003,7 +10795,7 @@ arithmetic types. Operators are often defined on groups of types.

File: gdb.info, Node: Fortran Defaults, Next: Special Fortran Commands, Prev: Fortran Operators, Up: Fortran
-15.4.3.2 Fortran Defaults
+15.4.5.2 Fortran Defaults
.........................
Fortran symbols are usually case-insensitive, so GDB by default uses
@@ -10014,7 +10806,7 @@ details.

File: gdb.info, Node: Special Fortran Commands, Prev: Fortran Defaults, Up: Fortran
-15.4.3.3 Special Fortran Commands
+15.4.5.3 Special Fortran Commands
.................................
GDB has some commands to support Fortran-specific features, such as
@@ -10029,7 +10821,7 @@ displaying common blocks.

File: gdb.info, Node: Pascal, Next: Modula-2, Prev: Fortran, Up: Supported Languages
-15.4.4 Pascal
+15.4.6 Pascal
-------------
Debugging Pascal programs which use sets, subranges, file variables, or
@@ -10044,7 +10836,7 @@ pascal_static-members: Print Settings.

File: gdb.info, Node: Modula-2, Next: Ada, Prev: Pascal, Up: Supported Languages
-15.4.5 Modula-2
+15.4.7 Modula-2
---------------
The extensions made to GDB to support Modula-2 only support output from
@@ -10068,7 +10860,7 @@ reads in the executable's symbol table.

File: gdb.info, Node: M2 Operators, Next: Built-In Func/Proc, Up: Modula-2
-15.4.5.1 Operators
+15.4.7.1 Operators
..................
Operators must be defined on values of specific types. For instance,
@@ -10177,7 +10969,7 @@ increasing precedence:

File: gdb.info, Node: Built-In Func/Proc, Next: M2 Constants, Prev: M2 Operators, Up: Modula-2
-15.4.5.2 Built-in Functions and Procedures
+15.4.7.2 Built-in Functions and Procedures
..........................................
Modula-2 also makes available several built-in procedures and functions.
@@ -10289,7 +11081,7 @@ below.

File: gdb.info, Node: M2 Constants, Next: M2 Types, Prev: Built-In Func/Proc, Up: Modula-2
-15.4.5.3 Constants
+15.4.7.3 Constants
..................
GDB allows you to express the constants of Modula-2 in the following
@@ -10328,7 +11120,7 @@ ways:

File: gdb.info, Node: M2 Types, Next: M2 Defaults, Prev: M2 Constants, Up: Modula-2
-15.4.5.4 Modula-2 Types
+15.4.7.4 Modula-2 Types
.......................
Currently GDB can print the following data types in Modula-2 syntax:
@@ -10456,7 +11248,7 @@ and you can ask GDB to describe the type of `s' as shown below.

File: gdb.info, Node: M2 Defaults, Next: Deviations, Prev: M2 Types, Up: Modula-2
-15.4.5.5 Modula-2 Defaults
+15.4.7.5 Modula-2 Defaults
..........................
If type and range checking are set automatically by GDB, they both
@@ -10472,7 +11264,7 @@ Automatically, for further details.

File: gdb.info, Node: Deviations, Next: M2 Checks, Prev: M2 Defaults, Up: Modula-2
-15.4.5.6 Deviations from Standard Modula-2
+15.4.7.6 Deviations from Standard Modula-2
..........................................
A few changes have been made to make Modula-2 programs easier to debug.
@@ -10498,7 +11290,7 @@ This is done primarily via loosening its type strictness:

File: gdb.info, Node: M2 Checks, Next: M2 Scope, Prev: Deviations, Up: Modula-2
-15.4.5.7 Modula-2 Type and Range Checks
+15.4.7.7 Modula-2 Type and Range Checks
.......................................
_Warning:_ in this release, GDB does not yet perform type or range
@@ -10522,7 +11314,7 @@ array index bounds, and all built-in functions and procedures.

File: gdb.info, Node: M2 Scope, Next: GDB/M2, Prev: M2 Checks, Up: Modula-2
-15.4.5.8 The Scope Operators `::' and `.'
+15.4.7.8 The Scope Operators `::' and `.'
.........................................
There are a few subtle differences between the Modula-2 scope operator
@@ -10550,7 +11342,7 @@ is not an identifier in MODULE.

File: gdb.info, Node: GDB/M2, Prev: M2 Scope, Up: Modula-2
-15.4.5.9 GDB and Modula-2
+15.4.7.9 GDB and Modula-2
.........................
Some GDB commands have little use when debugging Modula-2 programs.
@@ -10571,7 +11363,7 @@ as the beginning of a comment. Use `<>' instead.

File: gdb.info, Node: Ada, Prev: Modula-2, Up: Supported Languages
-15.4.6 Ada
+15.4.8 Ada
----------
The extensions made to GDB for Ada only support output from the GNU Ada
@@ -10589,12 +11381,14 @@ difficult.
* Stopping Before Main Program:: Debugging the program during elaboration.
* Ada Tasks:: Listing and setting breakpoints in tasks.
* Ada Tasks and Core Files:: Tasking Support when Debugging Core Files
+* Ravenscar Profile:: Tasking Support when using the Ravenscar
+ Profile
* Ada Glitches:: Known peculiarities of Ada mode.

File: gdb.info, Node: Ada Mode Intro, Next: Omissions from Ada, Up: Ada
-15.4.6.1 Introduction
+15.4.8.1 Introduction
.....................
The Ada mode of GDB supports a fairly large subset of Ada expression
@@ -10637,7 +11431,7 @@ the `call' command, and functions to procedures elsewhere.

File: gdb.info, Node: Omissions from Ada, Next: Additions to Ada, Prev: Ada Mode Intro, Up: Ada
-15.4.6.2 Omissions from Ada
+15.4.8.2 Omissions from Ada
...........................
Here are the notable omissions from the subset:
@@ -10743,7 +11537,7 @@ Here are the notable omissions from the subset:

File: gdb.info, Node: Additions to Ada, Next: Stopping Before Main Program, Prev: Omissions from Ada, Up: Ada
-15.4.6.3 Additions to Ada
+15.4.8.3 Additions to Ada
.........................
As it does for other languages, GDB makes certain generic extensions to
@@ -10834,7 +11628,7 @@ additions specific to Ada:

File: gdb.info, Node: Stopping Before Main Program, Next: Ada Tasks, Prev: Additions to Ada, Up: Ada
-15.4.6.4 Stopping at the Very Beginning
+15.4.8.4 Stopping at the Very Beginning
.......................................
It is sometimes necessary to debug the program during elaboration, and
@@ -10846,7 +11640,7 @@ simply use the following two commands: `tbreak adainit' and `run'.

File: gdb.info, Node: Ada Tasks, Next: Ada Tasks and Core Files, Prev: Stopping Before Main Program, Up: Ada
-15.4.6.5 Extensions for Ada Tasks
+15.4.8.5 Extensions for Ada Tasks
.................................
Support for Ada tasks is analogous to that for threads (*note
@@ -11020,9 +11814,9 @@ Threads::). GDB provides the following task-related commands:
4 140056040 1 15 Delay Sleep t3

-File: gdb.info, Node: Ada Tasks and Core Files, Next: Ada Glitches, Prev: Ada Tasks, Up: Ada
+File: gdb.info, Node: Ada Tasks and Core Files, Next: Ravenscar Profile, Prev: Ada Tasks, Up: Ada
-15.4.6.6 Tasking Support when Debugging Core Files
+15.4.8.6 Tasking Support when Debugging Core Files
..................................................
When inspecting a core file, as opposed to debugging a live program,
@@ -11039,9 +11833,36 @@ Patching::). Under these circumstances, you should make a backup copy
of the core file before inspecting it with GDB.

-File: gdb.info, Node: Ada Glitches, Prev: Ada Tasks and Core Files, Up: Ada
+File: gdb.info, Node: Ravenscar Profile, Next: Ada Glitches, Prev: Ada Tasks and Core Files, Up: Ada
+
+15.4.8.7 Tasking Support when using the Ravenscar Profile
+.........................................................
+
+The "Ravenscar Profile" is a subset of the Ada tasking features,
+specifically designed for systems with safety-critical real-time
+requirements.
+
+`set ravenscar task-switching on'
+ Allows task switching when debugging a program that uses the
+ Ravenscar Profile. This is the default.
+
+`set ravenscar task-switching off'
+ Turn off task switching when debugging a program that uses the
+ Ravenscar Profile. This is mostly intended to disable the code
+ that adds support for the Ravenscar Profile, in case a bug in
+ either GDB or in the Ravenscar runtime is preventing GDB from
+ working properly. To be effective, this command should be run
+ before the program is started.
+
+`show ravenscar task-switching'
+ Show whether it is possible to switch from task to task in a
+ program using the Ravenscar Profile.
+
+
+
+File: gdb.info, Node: Ada Glitches, Prev: Ravenscar Profile, Up: Ada
-15.4.6.7 Known Peculiarities of Ada Mode
+15.4.8.8 Known Peculiarities of Ada Mode
........................................
Besides the omissions listed previously (*note Omissions from Ada::),
@@ -11049,11 +11870,6 @@ we know of several problems with and limitations of Ada mode in GDB,
some of which will be fixed with planned future releases of the debugger
and the GNU Ada compiler.
- * Currently, the debugger has insufficient information to determine
- whether certain pointers represent pointers to objects or the
- objects themselves. Thus, the user may have to tack an extra
- `.all' after an expression to get it printed properly.
-
* Static constants that the compiler chooses not to materialize as
objects in storage are invisible to the debugger.
@@ -11378,6 +12194,19 @@ looks up the value of `x' in the scope of the file `foo.c'.
`show opaque-type-resolution'
Show whether opaque types are resolved or not.
+`set print symbol-loading'
+`set print symbol-loading on'
+`set print symbol-loading off'
+ The `set print symbol-loading' command allows you to enable or
+ disable printing of messages when GDB loads symbols. By default,
+ these messages will be printed, and normally this is what you
+ want. Disabling these messages is useful when debugging
+ applications with lots of shared libraries where the quantity of
+ output can be more annoying than useful.
+
+`show print symbol-loading'
+ Show whether messages will be printed when GDB loads symbols.
+
`maint print symbols FILENAME'
`maint print psymbols FILENAME'
`maint print msymbols FILENAME'
@@ -11806,6 +12635,7 @@ the core dump file.
* Files:: Commands to specify files
* Separate Debug Files:: Debugging information in separate files
+* Index Files:: Index files speed up GDB
* Symbol Errors:: Errors reading symbol files
* Data Files:: GDB data files
@@ -12199,6 +13029,47 @@ the search directories for target libraries.
part of PATH following the initial `remote:' (if present) is used
as system root prefix on the remote file system. (1)
+ For targets with an MS-DOS based filesystem, such as MS-Windows and
+ SymbianOS, GDB tries prefixing a few variants of the target
+ absolute file name with PATH. But first, on Unix hosts, GDB
+ converts all backslash directory separators into forward slashes,
+ because the backslash is not a directory separator on Unix:
+
+ c:\foo\bar.dll => c:/foo/bar.dll
+
+ Then, GDB attempts prefixing the target file name with PATH, and
+ looks for the resulting file name in the host file system:
+
+ c:/foo/bar.dll => /path/to/sysroot/c:/foo/bar.dll
+
+ If that does not find the shared library, GDB tries removing the
+ `:' character from the drive spec, both for convenience, and, for
+ the case of the host file system not supporting file names with
+ colons:
+
+ c:/foo/bar.dll => /path/to/sysroot/c/foo/bar.dll
+
+ This makes it possible to have a system root that mirrors a target
+ with more than one drive. E.g., you may want to setup your local
+ copies of the target system shared libraries like so (note `c' vs
+ `z'):
+
+ `/path/to/sysroot/c/sys/bin/foo.dll'
+ `/path/to/sysroot/c/sys/bin/bar.dll'
+ `/path/to/sysroot/z/sys/bin/bar.dll'
+
+ and point the system root at `/path/to/sysroot', so that GDB can
+ find the correct copies of both `c:\sys\bin\foo.dll', and
+ `z:\sys\bin\bar.dll'.
+
+ If that still does not find the shared library, GDB tries removing
+ the whole drive spec from the target file name:
+
+ c:/foo/bar.dll => /path/to/sysroot/foo/bar.dll
+
+ This last lookup makes it possible to not care about the drive
+ name, if you don't want or need to.
+
The `set solib-absolute-prefix' command is an alias for `set
sysroot'.
@@ -12225,6 +13096,71 @@ the search directories for target libraries.
`show solib-search-path'
Display the current shared library search path.
+`set target-file-system-kind KIND'
+ Set assumed file system kind for target reported file names.
+
+ Shared library file names as reported by the target system may not
+ make sense as is on the system GDB is running on. For example,
+ when remote debugging a target that has MS-DOS based file system
+ semantics, from a Unix host, the target may be reporting to GDB a
+ list of loaded shared libraries with file names such as
+ `c:\Windows\kernel32.dll'. On Unix hosts, there's no concept of
+ drive letters, so the `c:\' prefix is not normally understood as
+ indicating an absolute file name, and neither is the backslash
+ normally considered a directory separator character. In that case,
+ the native file system would interpret this whole absolute file
+ name as a relative file name with no directory components. This
+ would make it impossible to point GDB at a copy of the remote
+ target's shared libraries on the host using `set sysroot', and
+ impractical with `set solib-search-path'. Setting
+ `target-file-system-kind' to `dos-based' tells GDB to interpret
+ such file names similarly to how the target would, and to map them
+ to file names valid on GDB's native file system semantics. The
+ value of KIND can be `"auto"', in addition to one of the supported
+ file system kinds. In that case, GDB tries to determine the
+ appropriate file system variant based on the current target's
+ operating system (*note Configuring the Current ABI: ABI.). The
+ supported file system settings are:
+
+ `unix'
+ Instruct GDB to assume the target file system is of Unix
+ kind. Only file names starting the forward slash (`/')
+ character are considered absolute, and the directory
+ separator character is also the forward slash.
+
+ `dos-based'
+ Instruct GDB to assume the target file system is DOS based.
+ File names starting with either a forward slash, or a drive
+ letter followed by a colon (e.g., `c:'), are considered
+ absolute, and both the slash (`/') and the backslash (`\\')
+ characters are considered directory separators.
+
+ `auto'
+ Instruct GDB to use the file system kind associated with the
+ target operating system (*note Configuring the Current ABI:
+ ABI.). This is the default.
+
+ When processing file names provided by the user, GDB frequently
+needs to compare them to the file names recorded in the program's debug
+info. Normally, GDB compares just the "base names" of the files as
+strings, which is reasonably fast even for very large programs. (The
+base name of a file is the last portion of its name, after stripping
+all the leading directories.) This shortcut in comparison is based
+upon the assumption that files cannot have more than one base name.
+This is usually true, but references to files that use symlinks or
+similar filesystem facilities violate that assumption. If your program
+records files using such facilities, or if you provide file names to
+GDB using symlinks etc., you can set `basenames-may-differ' to `true'
+to instruct GDB to completely canonicalize each pair of file names it
+needs to compare. This will make file-name comparisons accurate, but
+at a price of a significant slowdown.
+
+`set basenames-may-differ'
+ Set whether a source file may have multiple base names.
+
+`show basenames-may-differ'
+ Show whether a source file may have multiple base names.
+
---------- Footnotes ----------
(1) If you want to specify a local system root using a directory
@@ -12232,7 +13168,7 @@ that happens to be named `remote:', you need to use some equivalent
variant of the name like `./remote:'.

-File: gdb.info, Node: Separate Debug Files, Next: Symbol Errors, Prev: Files, Up: GDB Files
+File: gdb.info, Node: Separate Debug Files, Next: Index Files, Prev: Files, Up: GDB Files
18.2 Debugging Information in Separate Files
============================================
@@ -12465,9 +13401,42 @@ function passing in zero will start computing the CRC using
This computation does not apply to the "build ID" method.

-File: gdb.info, Node: Symbol Errors, Next: Data Files, Prev: Separate Debug Files, Up: GDB Files
+File: gdb.info, Node: Index Files, Next: Symbol Errors, Prev: Separate Debug Files, Up: GDB Files
+
+18.3 Index Files Speed Up GDB
+=============================
+
+When GDB finds a symbol file, it scans the symbols in the file in order
+to construct an internal symbol table. This lets most GDB operations
+work quickly--at the cost of a delay early on. For large programs,
+this delay can be quite lengthy, so GDB provides a way to build an
+index, which speeds up startup.
+
+ The index is stored as a section in the symbol file. GDB can write
+the index to a file, then you can put it into the symbol file using
+`objcopy'.
+
+ To create an index file, use the `save gdb-index' command:
+
+`save gdb-index DIRECTORY'
+ Create an index file for each symbol file currently known by GDB.
+ Each file is named after its corresponding symbol file, with
+ `.gdb-index' appended, and is written into the given DIRECTORY.
+
+ Once you have created an index file you can merge it into your symbol
+file, here named `symfile', using `objcopy':
+
+ $ objcopy --add-section .gdb_index=symfile.gdb-index \
+ --set-section-flags .gdb_index=readonly symfile symfile
+
+ There are currently some limitation on indices. They only work when
+for DWARF debugging information, not stabs. And, they do not currently
+work for programs using Ada.
+
+
+File: gdb.info, Node: Symbol Errors, Next: Data Files, Prev: Index Files, Up: GDB Files
-18.3 Errors Reading Symbol Files
+18.4 Errors Reading Symbol Files
================================
While reading a symbol file, GDB occasionally encounters problems, such
@@ -12548,7 +13517,7 @@ Optional Warnings and Messages: Messages/Warnings.).

File: gdb.info, Node: Data Files, Prev: Symbol Errors, Up: GDB Files
-18.4 GDB Data Files
+18.5 GDB Data Files
===================
GDB will sometimes read an auxiliary data file. These files are kept
@@ -12570,6 +13539,9 @@ configured binary prefix (set with `--prefix' or `--exec-prefix'), then
the default data directory will be updated automatically if the
installed GDB is moved to a new location.
+ The data directory may also be specified with the `--data-directory'
+command line option. *Note Mode Options::.
+

File: gdb.info, Node: Targets, Next: Remote Debugging, Prev: GDB Files, Up: Top
@@ -12616,32 +13588,21 @@ File: gdb.info, Node: Active Targets, Next: Target Commands, Up: Targets
19.1 Active Targets
===================
-There are three classes of targets: processes, core files, and
-executable files. GDB can work concurrently on up to three active
-targets, one in each class. This allows you to (for example) start a
-process and inspect its activity without abandoning your work on a core
-file.
-
- For example, if you execute `gdb a.out', then the executable file
-`a.out' is the only active target. If you designate a core file as
-well--presumably from a prior run that crashed and coredumped--then GDB
-has two active targets and uses them in tandem, looking first in the
-corefile target, then in the executable file, to satisfy requests for
-memory addresses. (Typically, these two classes of target are
-complementary, since core files contain only a program's read-write
-memory--variables and so on--plus machine status, while executable
-files contain only the program text and initialized data.)
-
- When you type `run', your executable file becomes an active process
-target as well. When a process target is active, all GDB commands
-requesting memory addresses refer to that target; addresses in an
-active core file or executable file target are obscured while the
-process target is active.
+There are multiple classes of targets such as: processes, executable
+files or recording sessions. Core files belong to the process class,
+making core file and process mutually exclusive. Otherwise, GDB can
+work concurrently on multiple active targets, one in each class. This
+allows you to (for example) start a process and inspect its activity,
+while still having access to the executable file after the process
+finishes. Or if you start process recording (*note Reverse
+Execution::) and `reverse-step' there, you are presented a virtual
+layer of the recording target, while the process target remains stopped
+at the chronologically last point of the process execution.
Use the `core-file' and `exec-file' commands to select a new core
-file or executable target (*note Commands to Specify Files: Files.).
-To specify as a target a process that is already running, use the
-`attach' command (*note Debugging an Already-running Process: Attach.).
+file or executable target (*note Commands to Specify Files: Files.). To
+specify as a target a process that is already running, use the `attach'
+command (*note Debugging an Already-running Process: Attach.).

File: gdb.info, Node: Target Commands, Next: Byte Order, Prev: Active Targets, Up: Targets
@@ -12715,7 +13676,7 @@ configuration):
system, and you can put it somewhere in memory where it won't get
clobbered by the download.
-`target sim'
+`target sim [SIMARGS] ...'
Builtin CPU simulator. GDB includes simulators for most
architectures. In general,
target sim
@@ -13170,7 +14131,10 @@ available commands.
When this command is issued, PATH is a colon-separated list of
directories to search for `libthread_db' (*note set
libthread-db-search-path: Threads.). If you omit PATH,
- `libthread-db-search-path' will be reset to an empty list.
+ `libthread-db-search-path' will be reset to its default value.
+
+ The special entry `$pdir' for `libthread-db-search-path' is not
+ supported in `gdbserver'.
`monitor exit'
Tell gdbserver to exit immediately. This command should be
@@ -13180,6 +14144,77 @@ available commands.
at the end of a multi-process mode debug session.
+20.3.4 Tracepoints support in `gdbserver'
+-----------------------------------------
+
+On some targets, `gdbserver' supports tracepoints, fast tracepoints and
+static tracepoints.
+
+ For fast or static tracepoints to work, a special library called the
+"in-process agent" (IPA), must be loaded in the inferior process. This
+library is built and distributed as an integral part of `gdbserver'.
+In addition, support for static tracepoints requires building the
+in-process agent library with static tracepoints support. At present,
+the UST (LTTng Userspace Tracer, `http://lttng.org/ust') tracing engine
+is supported. This support is automatically available if UST
+development headers are found in the standard include path when
+`gdbserver' is built, or if `gdbserver' was explicitly configured using
+`--with-ust' to point at such headers. You can explicitly disable the
+support using `--with-ust=no'.
+
+ There are several ways to load the in-process agent in your program:
+
+`Specifying it as dependency at link time'
+ You can link your program dynamically with the in-process agent
+ library. On most systems, this is accomplished by adding
+ `-linproctrace' to the link command.
+
+`Using the system's preloading mechanisms'
+ You can force loading the in-process agent at startup time by using
+ your system's support for preloading shared libraries. Many Unixes
+ support the concept of preloading user defined libraries. In most
+ cases, you do that by specifying `LD_PRELOAD=libinproctrace.so' in
+ the environment. See also the description of `gdbserver''s
+ `--wrapper' command line option.
+
+`Using GDB to force loading the agent at run time'
+ On some systems, you can force the inferior to load a shared
+ library, by calling a dynamic loader function in the inferior that
+ takes care of dynamically looking up and loading a shared library.
+ On most Unix systems, the function is `dlopen'. You'll use the
+ `call' command for that. For example:
+
+ (gdb) call dlopen ("libinproctrace.so", ...)
+
+ Note that on most Unix systems, for the `dlopen' function to be
+ available, the program needs to be linked with `-ldl'.
+
+ On systems that have a userspace dynamic loader, like most Unix
+systems, when you connect to `gdbserver' using `target remote', you'll
+find that the program is stopped at the dynamic loader's entry point,
+and no shared library has been loaded in the program's address space
+yet, including the in-process agent. In that case, before being able
+to use any of the fast or static tracepoints features, you need to let
+the loader run and load the shared libraries. The simplest way to do
+that is to run the program to the main procedure. E.g., if debugging a
+C or C++ program, start `gdbserver' like so:
+
+ $ gdbserver :9999 myprogram
+
+ Start GDB and connect to `gdbserver' like so, and run to main:
+
+ $ gdb myprogram
+ (gdb) target remote myhost:9999
+ 0x00007f215893ba60 in ?? () from /lib64/ld-linux-x86-64.so.2
+ (gdb) b main
+ (gdb) continue
+
+ The in-process tracing agent library should now be loaded into the
+process; you can confirm it with the `info sharedlibrary' command,
+which will list `libinproctrace.so' as loaded in the process. You are
+now ready to install fast tracepoints, list static tracepoint markers,
+probe static tracepoints markers, and start tracing.
+
---------- Footnotes ----------
(1) If you choose a port number that conflicts with another service,
@@ -13353,6 +14388,7 @@ Command Name Remote Packet Related Features
`library-info' `qXfer:libraries:read' `info
sharedlibrary'
`memory-map' `qXfer:memory-map:read' `info mem'
+`read-sdata-object' `qXfer:sdata:read' `print $_sdata'
`read-spu-object' `qXfer:spu:read' `info spu'
`write-spu-object' `qXfer:spu:write' `info spu'
`read-siginfo-object'`qXfer:siginfo:read' `print $_siginfo'
@@ -13361,6 +14397,9 @@ Command Name Remote Packet Related Features
`get-thread-local- `qGetTLSAddr' Displaying
storage-address' `__thread'
variables
+`get-thread-information-block-address'`qGetTIBAddr' Display
+ MS-Windows Thread
+ Information Block.
`search-memory' `qSearch:memory' `find'
`supported-packets' `qSupported' Remote
communications
@@ -13381,6 +14420,7 @@ storage-address' `__thread'
`query-attached' `qAttached' Querying remote
process attach
state.
+`traceframe-info' `qXfer:traceframe-info:read'Traceframe info

File: gdb.info, Node: Remote Stub, Prev: Remote Configuration, Up: Remote Debugging
@@ -13974,6 +15014,11 @@ described in *note Non-debug DLL Symbols::.
this given selector. Without argument, this command displays
information about the six segment registers.
+`info w32 thread-information-block'
+ This command displays thread specific information stored in the
+ Thread Information Block (readable on the X86 CPU family using
+ `$fs' selector for 32-bit programs and `$gs' for 64-bit programs).
+
`info dll'
This is a Cygwin-specific alias of `info shared'.
@@ -13995,8 +15040,8 @@ described in *note Non-debug DLL Symbols::.
`set new-console MODE'
If MODE is `on' the debuggee will be started in a new console on
- next start. If MODE is `off'i, the debuggee will be started in
- the same console as the debugger.
+ next start. If MODE is `off', the debuggee will be started in the
+ same console as the debugger.
`show new-console'
Displays whether a new console is used when the debuggee is
@@ -14644,6 +15689,24 @@ using the RDI interface:
`show rdiheartbeat'
Show the setting of RDI heartbeat packets.
+`target sim [SIMARGS] ...'
+ The GDB ARM simulator accepts the following optional arguments.
+
+ `--swi-support=TYPE'
+ Tell the simulator which SWI interfaces to support. TYPE may
+ be a comma separated list of the following values. The
+ default value is `all'.
+
+ `none'
+
+ `demon'
+
+ `angel'
+
+ `redboot'
+
+ `all'
+

File: gdb.info, Node: M32R/D, Next: M68K, Prev: ARM, Up: Embedded Processors
@@ -15006,7 +16069,47 @@ File: gdb.info, Node: PowerPC Embedded, Next: Sparclet, Prev: PA, Up: Embedd
21.3.7 PowerPC Embedded
-----------------------
-GDB provides the following PowerPC-specific commands:
+GDB supports using the DVC (Data Value Compare) register to implement
+in hardware simple hardware watchpoint conditions of the form:
+
+ (gdb) watch ADDRESS|VARIABLE \
+ if ADDRESS|VARIABLE == CONSTANT EXPRESSION
+
+ The DVC register will be automatically used when GDB detects such
+pattern in a condition expression, and the created watchpoint uses one
+debug register (either the `exact-watchpoints' option is on and the
+variable is scalar, or the variable has a length of one byte). This
+feature is available in native GDB running on a Linux kernel version
+2.6.34 or newer.
+
+ When running on PowerPC embedded processors, GDB automatically uses
+ranged hardware watchpoints, unless the `exact-watchpoints' option is
+on, in which case watchpoints using only one debug register are created
+when watching variables of scalar types.
+
+ You can create an artificial array to watch an arbitrary memory
+region using one of the following commands (*note Expressions::):
+
+ (gdb) watch *((char *) ADDRESS)@LENGTH
+ (gdb) watch {char[LENGTH]} ADDRESS
+
+ PowerPC embedded processors support hardware accelerated "ranged
+breakpoints". A ranged breakpoint stops execution of the inferior
+whenever it executes an instruction at any address within the range it
+specifies. To set a ranged breakpoint in GDB, use the `break-range'
+command.
+
+ GDB provides the following PowerPC-specific commands:
+
+`break-range START-LOCATION, END-LOCATION'
+ Set a breakpoint for an address range. START-LOCATION and
+ END-LOCATION can specify a function name, a line number, an offset
+ of lines from the current line or from the start location, or an
+ address of an instruction (see *note Specify Location::, for a
+ list of all the possible ways to specify a LOCATION.) The
+ breakpoint will stop execution of the inferior whenever it
+ executes an instruction at any address within the specified range,
+ (including START-LOCATION and END-LOCATION.)
`set powerpc soft-float'
`show powerpc soft-float'
@@ -15023,6 +16126,12 @@ GDB provides the following PowerPC-specific commands:
registers. By default, GDB selects the calling convention based
on the selected architecture and the provided executable file.
+`set powerpc exact-watchpoints'
+`show powerpc exact-watchpoints'
+ Allow GDB to use only one debug register when watching a variable
+ of scalar type, thus assuming that the variable is accessed
+ through the address of its first byte.
+
`target dink32 DEV'
DINK32 ROM monitor.
@@ -15765,7 +16874,9 @@ with the `set height' and `set width' commands:
`set pagination on'
`set pagination off'
Turn the output pagination on or off; the default is on. Turning
- pagination off is the alternative to `set height 0'.
+ pagination off is the alternative to `set height 0'. Note that
+ running GDB with the `--batch' option (*note -batch: Mode
+ Options.) also automatically disables pagination.
`show pagination'
Show the current pagination mode.
@@ -15944,7 +17055,9 @@ you try to run a program which is already running:
commands, you can disable this "feature":
`set confirm off'
- Disables confirmation requests.
+ Disables confirmation requests. Note that running GDB with the
+ `--batch' option (*note -batch: Mode Options.) also automatically
+ disables confirmation requests.
`set confirm on'
Enables confirmation requests (the default).
@@ -16001,6 +17114,17 @@ commands.
`show debug aix-thread'
Show the current state of AIX thread debugging info display.
+`set debug check-physname'
+ Check the results of the "physname" computation. When reading
+ DWARF debugging information for C++, GDB attempts to compute each
+ entity's name. GDB can do this computation in two different ways,
+ depending on exactly what information is present. When enabled,
+ this setting causes GDB to compute the names both ways and display
+ any discrepancies.
+
+`show debug check-physname'
+ Show the current state of "physname" checking.
+
`set debug dwarf2-die'
Dump DWARF2 DIEs after they are read in. The value is the number
of nesting levels to print. A value of zero turns off the display.
@@ -16053,6 +17177,12 @@ commands.
`show debug infrun'
Displays the current state of GDB inferior debugging.
+`set debug jit'
+ Turns on or off debugging messages from JIT debug support.
+
+`show debug jit'
+ Displays the current state of GDB JIT debugging.
+
`set debug lin-lwp'
Turns on or off debugging messages from the Linux LWP debug
support.
@@ -16155,10 +17285,14 @@ File: gdb.info, Node: Other Misc Settings, Prev: Debugging Output, Up: Contro
=================================
`set interactive-mode'
- If `on', forces GDB to operate interactively. If `off', forces
- GDB to operate non-interactively, If `auto' (the default), GDB
- guesses which mode to use, based on whether the debugger was
- started in a terminal or not.
+ If `on', forces GDB to assume that GDB was started in a terminal.
+ In practice, this means that GDB should wait for the user to
+ answer queries generated by commands entered at the command
+ prompt. If `off', forces GDB to operate in the opposite mode, and
+ it uses the default answers to all queries. If `auto' (the
+ default), GDB tries to determine whether its standard input is a
+ terminal, and works in interactive-mode if it is,
+ non-interactively otherwise.
In the vast majority of cases, the debugger should be able to guess
correctly which mode should be used. But this setting can be
@@ -16410,7 +17544,7 @@ scripts that are not Command Files. The exact behavior can be
configured using the `script-extension' setting. *Note Extending GDB:
Extending GDB.
-`source [`-v'] FILENAME'
+`source [-s] [-v] FILENAME'
Execute the command file FILENAME.
The lines in a command file are generally executed sequentially,
@@ -16419,8 +17553,24 @@ commands_ described below. The commands are not printed as they are
executed. An error in any command terminates execution of the command
file and control is returned to the console.
- GDB searches for FILENAME in the current directory and then on the
-search path (specified with the `directory' command).
+ GDB first searches for FILENAME in the current directory. If the
+file is not found there, and FILENAME does not specify a directory,
+then GDB also looks for the file on the source search path (specified
+with the `directory' command); except that `$cdir' is not searched
+because the compilation directory is not relevant to scripts.
+
+ If `-s' is specified, then GDB searches for FILENAME on the search
+path even if FILENAME specifies a directory. The search is done by
+appending FILENAME to each element of the search path. So, for
+example, if FILENAME is `mylib/myscript' and the search path contains
+`/home/user' then GDB will look for the script
+`/home/user/mylib/myscript'. The search is also done if FILENAME is an
+absolute path. For example, if FILENAME is `/tmp/myscript' and the
+search path contains `/home/user' then GDB will look for the script
+`/home/user/tmp/myscript'. For DOS-like systems, if FILENAME contains
+a drive specification, it is stripped before concatenation. For
+example, if FILENAME is `d:myscript' and the search path contains
+`c:/tmp' then GDB will look for the script `c:/tmp/myscript'.
If `-v', for verbose mode, is given then GDB displays each command
as it is executed. The option must be given before FILENAME, and is
@@ -16602,6 +17752,10 @@ want.
letters:
printf "D32: %Hf - D64: %Df - D128: %DDf\n",1.2345df,1.2E10dd,1.2E1dl
+`eval TEMPLATE, EXPRESSIONS...'
+ Convert the values of one or more EXPRESSIONS under the control of
+ the string TEMPLATE to a command line, and call it.
+

File: gdb.info, Node: Python, Prev: Sequences, Up: Extending GDB
@@ -16613,10 +17767,19 @@ You can script GDB using the Python programming language
(http://www.python.org/). This feature is available only if GDB was
configured using `--with-python'.
+ Python scripts used by GDB should be installed in
+`DATA-DIRECTORY/python', where DATA-DIRECTORY is the data directory as
+determined at GDB startup (*note Data Files::). This directory, known
+as the "python directory", is automatically added to the Python Search
+Path in order to allow the Python interpreter to locate all scripts
+installed at this location.
+
* Menu:
* Python Commands:: Accessing Python from GDB.
* Python API:: Accessing GDB from Python.
+* Auto-loading:: Automatically loading Python code.
+* Python modules:: Python modules provided by GDB.

File: gdb.info, Node: Python Commands, Next: Python API, Up: Python
@@ -16669,7 +17832,7 @@ interpreter:
and thus is always available.

-File: gdb.info, Node: Python API, Prev: Python Commands, Up: Python
+File: gdb.info, Node: Python API, Next: Auto-loading, Prev: Python Commands, Up: Python
23.2.2 Python API
-----------------
@@ -16683,17 +17846,26 @@ user (*note Screen Size::). In this situation, a Python
* Menu:
* Basic Python:: Basic Python Functions.
-* Exception Handling::
-* Auto-loading:: Automatically loading Python code.
-* Values From Inferior::
-* Types In Python:: Python representation of types.
-* Pretty Printing:: Pretty-printing values.
+* Exception Handling:: How Python exceptions are translated.
+* Values From Inferior:: Python representation of values.
+* Types In Python:: Python representation of types.
+* Pretty Printing API:: Pretty-printing values.
* Selecting Pretty-Printers:: How GDB chooses a pretty-printer.
+* Writing a Pretty-Printer:: Writing a Pretty-Printer.
+* Inferiors In Python:: Python representation of inferiors (processes)
+* Events In Python:: Listening for events from GDB.
+* Threads In Python:: Accessing inferior threads from Python.
* Commands In Python:: Implementing new commands in Python.
+* Parameters In Python:: Adding new GDB parameters.
* Functions In Python:: Writing new convenience functions.
+* Progspaces In Python:: Program spaces.
* Objfiles In Python:: Object files.
-* Frames In Python:: Acessing inferior stack frames from Python.
+* Frames In Python:: Accessing inferior stack frames from Python.
+* Blocks In Python:: Accessing frame blocks from Python.
+* Symbols In Python:: Python representation of symbols.
+* Symbol Tables In Python:: Python representation of symbol tables.
* Lazy Strings In Python:: Python representation of lazy strings.
+* Breakpoints In Python:: Manipulating breakpoints using Python.

File: gdb.info, Node: Basic Python, Next: Exception Handling, Up: Python API
@@ -16706,16 +17878,30 @@ classes added by GDB are placed in this module. GDB automatically
`import's the `gdb' module for use in all scripts evaluated by the
`python' command.
- -- Function: execute command [from_tty]
+ -- Variable: PYTHONDIR
+ A string containing the python directory (*note Python::).
+
+ -- Function: execute command [from_tty] [to_string]
Evaluate COMMAND, a string, as a GDB CLI command. If a GDB
exception happens while COMMAND runs, it is translated as
- described in *note Exception Handling: Exception Handling. If no
- exceptions occur, this function returns `None'.
+ described in *note Exception Handling: Exception Handling.
FROM_TTY specifies whether GDB ought to consider this command as
having originated from the user invoking it interactively. It
must be a boolean value. If omitted, it defaults to `False'.
+ By default, any output produced by COMMAND is sent to GDB's
+ standard output. If the TO_STRING parameter is `True', then
+ output will be collected by `gdb.execute' and returned as a
+ string. The default is `False', in which case the return value is
+ `None'. If TO_STRING is `True', the GDB virtual terminal will be
+ temporarily set to unlimited width and height, and its pagination
+ will be disabled; *note Screen Size::.
+
+ -- Function: breakpoints
+ Return a sequence holding all of GDB's breakpoints. *Note
+ Breakpoints In Python::, for more information.
+
-- Function: parameter parameter
Return the value of a GDB parameter. PARAMETER is a string naming
the parameter to look up; PARAMETER may contain spaces if the
@@ -16723,8 +17909,9 @@ classes added by GDB are placed in this module. GDB automatically
valid parameter name.
If the named parameter does not exist, this function throws a
- `RuntimeError'. Otherwise, the parameter's value is converted to
- a Python value of the appropriate type, and returned.
+ `gdb.error' (*note Exception Handling::). Otherwise, the
+ parameter's value is converted to a Python value of the appropriate
+ type, and returned.
-- Function: history number
Return a value from GDB's value history (*note Value History::).
@@ -16733,7 +17920,7 @@ classes added by GDB are placed in this module. GDB automatically
from the last element (i.e., the most recent element) to find the
value to return. If NUMBER is zero, then GDB will return the most
recent element. If the element specified by NUMBER doesn't exist
- in the value history, a `RuntimeError' exception will be raised.
+ in the value history, a `gdb.error' exception will be raised.
If no exception is raised, the return value is always an instance
of `gdb.Value' (*note Values From Inferior::).
@@ -16749,17 +17936,108 @@ classes added by GDB are placed in this module. GDB automatically
values, for example, it is the only way to get the value of a
convenience variable (*note Convenience Vars::) as a `gdb.Value'.
- -- Function: write string
- Print a string to GDB's paginated standard output stream. Writing
- to `sys.stdout' or `sys.stderr' will automatically call this
- function.
+ -- Function: post_event event
+ Put EVENT, a callable object taking no arguments, into GDB's
+ internal event queue. This callable will be invoked at some later
+ point, during GDB's event processing. Events posted using
+ `post_event' will be run in the order in which they were posted;
+ however, there is no way to know when they will be processed
+ relative to other events inside GDB.
+
+ GDB is not thread-safe. If your Python program uses multiple
+ threads, you must be careful to only call GDB-specific functions
+ in the main GDB thread. `post_event' ensures this. For example:
+
+ (gdb) python
+ >import threading
+ >
+ >class Writer():
+ > def __init__(self, message):
+ > self.message = message;
+ > def __call__(self):
+ > gdb.write(self.message)
+ >
+ >class MyThread1 (threading.Thread):
+ > def run (self):
+ > gdb.post_event(Writer("Hello "))
+ >
+ >class MyThread2 (threading.Thread):
+ > def run (self):
+ > gdb.post_event(Writer("World\n"))
+ >
+ >MyThread1().start()
+ >MyThread2().start()
+ >end
+ (gdb) Hello World
+
+ -- Function: write string [stream]
+ Print a string to GDB's paginated output stream. The optional
+ STREAM determines the stream to print to. The default stream is
+ GDB's standard output stream. Possible stream values are:
+
+ `STDOUT'
+ GDB's standard output stream.
+
+ `STDERR'
+ GDB's standard error stream.
+
+ `STDLOG'
+ GDB's log stream (*note Logging Output::).
+
+ Writing to `sys.stdout' or `sys.stderr' will automatically call
+ this function and will automatically direct the output to the
+ relevant stream.
-- Function: flush
- Flush GDB's paginated standard output stream. Flushing
- `sys.stdout' or `sys.stderr' will automatically call this function.
+ Flush the buffer of a GDB paginated stream so that the contents
+ are displayed immediately. GDB will flush the contents of a
+ stream automatically when it encounters a newline in the buffer.
+ The optional STREAM determines the stream to flush. The default
+ stream is GDB's standard output stream. Possible stream values
+ are:
+
+ `STDOUT'
+ GDB's standard output stream.
+
+ `STDERR'
+ GDB's standard error stream.
+
+ `STDLOG'
+ GDB's log stream (*note Logging Output::).
+
+
+ Flushing `sys.stdout' or `sys.stderr' will automatically call this
+ function for the relevant stream.
+
+ -- Function: target_charset
+ Return the name of the current target character set (*note
+ Character Sets::). This differs from
+ `gdb.parameter('target-charset')' in that `auto' is never returned.
+
+ -- Function: target_wide_charset
+ Return the name of the current target wide character set (*note
+ Character Sets::). This differs from
+ `gdb.parameter('target-wide-charset')' in that `auto' is never
+ returned.
+
+ -- Function: solib_name address
+ Return the name of the shared library holding the given ADDRESS as
+ a string, or `None'.
+
+ -- Function: decode_line [expression]
+ Return locations of the line specified by EXPRESSION, or of the
+ current line if no argument was given. This function returns a
+ Python tuple containing two elements. The first element contains
+ a string holding any unparsed section of EXPRESSION (or `None' if
+ the expression has been fully parsed). The second element contains
+ either `None' or another tuple that contains all the locations
+ that match the expression represented as `gdb.Symtab_and_line'
+ objects (*note Symbol Tables In Python::). If EXPRESSION is
+ provided, it is decoded the way that GDB's inbuilt `break' or
+ `edit' commands do (*note Specify Location::).

-File: gdb.info, Node: Exception Handling, Next: Auto-loading, Prev: Basic Python, Up: Python API
+File: gdb.info, Node: Exception Handling, Next: Values From Inferior, Prev: Basic Python, Up: Python API
23.2.2.2 Exception Handling
...........................
@@ -16777,62 +18055,54 @@ backtrace at the point where the exception was raised. Example:
NameError: name 'foo' is not defined
GDB errors that happen in GDB commands invoked by Python code are
-converted to Python `RuntimeError' exceptions. User interrupt (via
-`C-c' or by typing `q' at a pagination prompt) is translated to a
-Python `KeyboardInterrupt' exception. If you catch these exceptions in
-your Python code, your exception handler will see `RuntimeError' or
-`KeyboardInterrupt' as the exception type, the GDB error message as its
-value, and the Python call stack backtrace at the Python statement
-closest to where the GDB error occured as the traceback.
-
-
-File: gdb.info, Node: Auto-loading, Next: Values From Inferior, Prev: Exception Handling, Up: Python API
-
-23.2.2.3 Auto-loading
-.....................
-
-When a new object file is read (for example, due to the `file' command,
-or because the inferior has loaded a shared library), GDB will look for
-a file named `OBJFILE-gdb.py', where OBJFILE is the object file's real
-name, formed by ensuring that the file name is absolute, following all
-symlinks, and resolving `.' and `..' components. If this file exists
-and is readable, GDB will evaluate it as a Python script.
-
- If this file does not exist, and if the parameter
-`debug-file-directory' is set (*note Separate Debug Files::), then GDB
-will use for its each separated directory component `component' the
-file named ``component'/REAL-NAME', where REAL-NAME is the object
-file's real name, as described above.
-
- Finally, if this file does not exist, then GDB will look for a file
-named `DATA-DIRECTORY/python/auto-load/REAL-NAME', where DATA-DIRECTORY
-is GDB's data directory (available via `show data-directory', *note
-Data Files::), and REAL-NAME is the object file's real name, as
-described above.
-
- When reading an auto-loaded file, GDB sets the "current objfile".
-This is available via the `gdb.current_objfile' function (*note
-Objfiles In Python::). This can be useful for registering
-objfile-specific pretty-printers.
-
- The auto-loading feature is useful for supplying application-specific
-debugging commands and scripts. You can enable or disable this
-feature, and view its current state.
-
-`maint set python auto-load [yes|no]'
- Enable or disable the Python auto-loading feature.
-
-`show python auto-load'
- Show whether Python auto-loading is enabled or disabled.
-
- GDB does not track which files it has already auto-loaded. So, your
-`-gdb.py' file should take care to ensure that it may be evaluated
-multiple times without error.
-
-
-File: gdb.info, Node: Values From Inferior, Next: Types In Python, Prev: Auto-loading, Up: Python API
-
-23.2.2.4 Values From Inferior
+converted to Python exceptions. The type of the Python exception
+depends on the error.
+
+`gdb.error'
+ This is the base class for most exceptions generated by GDB. It
+ is derived from `RuntimeError', for compatibility with earlier
+ versions of GDB.
+
+ If an error occurring in GDB does not fit into some more specific
+ category, then the generated exception will have this type.
+
+`gdb.MemoryError'
+ This is a subclass of `gdb.error' which is thrown when an
+ operation tried to access invalid memory in the inferior.
+
+`KeyboardInterrupt'
+ User interrupt (via `C-c' or by typing `q' at a pagination prompt)
+ is translated to a Python `KeyboardInterrupt' exception.
+
+ In all cases, your exception handler will see the GDB error message
+as its value and the Python call stack backtrace at the Python
+statement closest to where the GDB error occured as the traceback.
+
+ When implementing GDB commands in Python via `gdb.Command', it is
+useful to be able to throw an exception that doesn't cause a traceback
+to be printed. For example, the user may have invoked the command
+incorrectly. Use the `gdb.GdbError' exception to handle this case.
+Example:
+
+ (gdb) python
+ >class HelloWorld (gdb.Command):
+ > """Greet the whole world."""
+ > def __init__ (self):
+ > super (HelloWorld, self).__init__ ("hello-world", gdb.COMMAND_OBSCURE)
+ > def invoke (self, args, from_tty):
+ > argv = gdb.string_to_argv (args)
+ > if len (argv) != 0:
+ > raise gdb.GdbError ("hello-world takes no arguments")
+ > print "Hello, World!"
+ >HelloWorld ()
+ >end
+ (gdb) hello-world 42
+ hello-world takes no arguments
+
+
+File: gdb.info, Node: Values From Inferior, Next: Types In Python, Prev: Exception Handling, Up: Python API
+
+23.2.2.3 Values From Inferior
.............................
GDB provides values it obtains from the inferior program in an object
@@ -16857,6 +18127,20 @@ access its `foo' element with:
Again, `bar' will also be a `gdb.Value' object.
+ A `gdb.Value' that represents a function can be executed via
+inferior function call. Any arguments provided to the call must match
+the function's prototype, and must be provided in the order specified
+by that prototype.
+
+ For example, `some_val' is a `gdb.Value' instance representing a
+function that takes two integers as arguments. To execute this
+function, call it like so:
+
+ result = some_val (10,20)
+
+ Any values returned from a function call will be stored as a
+`gdb.Value'.
+
The following attributes are provided:
-- Instance Variable of Value: address
@@ -16871,10 +18155,58 @@ access its `foo' element with:
-- Instance Variable of Value: type
The type of this `gdb.Value'. The value of this attribute is
- a `gdb.Type' object.
+ a `gdb.Type' object (*note Types In Python::).
+
+ -- Instance Variable of Value: dynamic_type
+ The dynamic type of this `gdb.Value'. This uses C++ run-time
+ type information (RTTI) to determine the dynamic type of the
+ value. If this value is of class type, it will return the
+ class in which the value is embedded, if any. If this value
+ is of pointer or reference to a class type, it will compute
+ the dynamic type of the referenced object, and return a
+ pointer or reference to that type, respectively. In all
+ other cases, it will return the value's static type.
+
+ Note that this feature will only work when debugging a C++
+ program that includes RTTI for the object in question.
+ Otherwise, it will just return the static type of the value
+ as in `ptype foo' (*note ptype: Symbols.).
The following methods are provided:
+ -- Method on Value: __init__ VAL
+ Many Python values can be converted directly to a `gdb.Value'
+ via this object initializer. Specifically:
+
+ Python boolean
+ A Python boolean is converted to the boolean type from
+ the current language.
+
+ Python integer
+ A Python integer is converted to the C `long' type for
+ the current architecture.
+
+ Python long
+ A Python long is converted to the C `long long' type for
+ the current architecture.
+
+ Python float
+ A Python float is converted to the C `double' type for
+ the current architecture.
+
+ Python string
+ A Python string is converted to a target string, using
+ the current target encoding.
+
+ `gdb.Value'
+ If `val' is a `gdb.Value', then a copy of the value is
+ made.
+
+ `gdb.LazyString'
+ If `val' is a `gdb.LazyString' (*note Lazy Strings In
+ Python::), then the lazy string's `value' method is
+ called, and its result is used.
+
-- Method on Value: cast type
Return a new instance of `gdb.Value' that is the result of
casting this instance to the type described by TYPE, which
@@ -16897,6 +18229,14 @@ access its `foo' element with:
The result `bar' will be a `gdb.Value' object holding the
value pointed to by `foo'.
+ -- Method on Value: dynamic_cast type
+ Like `Value.cast', but works as if the C++ `dynamic_cast'
+ operator were used. Consult a C++ reference for details.
+
+ -- Method on Value: reinterpret_cast type
+ Like `Value.cast', but works as if the C++ `reinterpret_cast'
+ operator were used. Consult a C++ reference for details.
+
-- Method on Value: string [encoding] [errors] [length]
If this `gdb.Value' represents a string, then this method
converts the contents to a Python string. Otherwise, this
@@ -16956,9 +18296,9 @@ access its `foo' element with:
found.

-File: gdb.info, Node: Types In Python, Next: Pretty Printing, Prev: Values From Inferior, Up: Python API
+File: gdb.info, Node: Types In Python, Next: Pretty Printing API, Prev: Values From Inferior, Up: Python API
-23.2.2.5 Types In Python
+23.2.2.4 Types In Python
........................
GDB represents types from the inferior using the class `gdb.Type'.
@@ -16970,6 +18310,9 @@ module:
This function looks up a type by name. NAME is the name of the
type to look up. It must be a string.
+ If BLOCK is given, then NAME is looked up in that scope.
+ Otherwise, it is searched for globally.
+
Ordinarily, this function will return an instance of `gdb.Type'.
If the named type cannot be found, it will throw an exception.
@@ -17033,6 +18376,15 @@ module:
The type of the field. This is usually an instance of
`Type', but it can be `None' in some situations.
+ -- Method on Type: array N1 [N2]
+ Return a new `gdb.Type' object which represents an array of
+ this type. If one argument is given, it is the inclusive
+ upper bound of the array; in this case the lower bound is
+ zero. If two arguments are given, the first argument is the
+ lower bound of the array, and the second argument is the
+ upper bound of the array. An array's length must not be
+ negative, but the bounds can be.
+
-- Method on Type: const
Return a new `gdb.Type' object which represents a
`const'-qualified variant of this type.
@@ -17050,7 +18402,7 @@ module:
Return a Python `Tuple' object that contains two elements: the
low bound of the argument type and the high bound of that
type. If the type does not have a range, GDB will raise a
- `RuntimeError' exception.
+ `gdb.error' exception (*note Exception Handling::).
-- Method on Type: reference
Return a new `gdb.Type' object which represents a reference
@@ -17079,7 +18431,7 @@ module:
If the type does not have a target, this method will throw an
exception.
- -- Method on Type: template_argument n
+ -- Method on Type: template_argument n [block]
If this `gdb.Type' is an instantiation of a template, this
will return a new `gdb.Type' which represents the type of the
Nth template argument.
@@ -17088,7 +18440,8 @@ module:
exception. Ordinarily, only C++ code will have template
types.
- NAME is searched for globally.
+ If BLOCK is given, then NAME is looked up in that scope.
+ Otherwise, it is searched for globally.
Each type has a code, which indicates what category this type falls
into. The available type categories are represented by constants
@@ -17175,36 +18528,16 @@ defined in the `gdb' module:
A function internal to GDB. This is the type used to represent
convenience functions.
-
-File: gdb.info, Node: Pretty Printing, Next: Selecting Pretty-Printers, Prev: Types In Python, Up: Python API
-
-23.2.2.6 Pretty Printing
-........................
+ Further support for types is provided in the `gdb.types' Python
+module (*note gdb.types::).
-GDB provides a mechanism to allow pretty-printing of values using
-Python code. The pretty-printer API allows application-specific code
-to greatly simplify the display of complex objects. This mechanism
-works for both MI and the CLI.
-
- For example, here is how a C++ `std::string' looks without a
-pretty-printer:
-
- (gdb) print s
- $1 = {
- static npos = 4294967295,
- _M_dataplus = {
- <std::allocator<char>> = {
- <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
- members of std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider:
- _M_p = 0x804a014 "abcd"
- }
- }
+
+File: gdb.info, Node: Pretty Printing API, Next: Selecting Pretty-Printers, Prev: Types In Python, Up: Python API
- After a pretty-printer for `std::string' has been installed, only
-the contents are printed:
+23.2.2.5 Pretty Printing API
+............................
- (gdb) print s
- $2 = "abcd"
+An example output is provided (*note Pretty Printing::).
A pretty-printer is just an object that holds a value and implements
a specific interface, defined here.
@@ -17275,61 +18608,101 @@ a specific interface, defined here.
pretty-printer. Python scalars (integers, floats, and booleans)
and strings are convertible to `gdb.Value'; other types are not.
+ Finally, if this method returns `None' then no further operations
+ are peformed in this method and nothing is printed.
+
If the result is not one of these types, an exception is raised.
+ GDB provides a function which can be used to look up the default
+pretty-printer for a `gdb.Value':
+
+ -- Function: default_visualizer value
+ This function takes a `gdb.Value' object as an argument. If a
+ pretty-printer for this value exists, then it is returned. If no
+ such printer exists, then this returns `None'.
+

-File: gdb.info, Node: Selecting Pretty-Printers, Next: Commands In Python, Prev: Pretty Printing, Up: Python API
+File: gdb.info, Node: Selecting Pretty-Printers, Next: Writing a Pretty-Printer, Prev: Pretty Printing API, Up: Python API
-23.2.2.7 Selecting Pretty-Printers
+23.2.2.6 Selecting Pretty-Printers
..................................
-The Python list `gdb.pretty_printers' contains an array of functions
-that have been registered via addition as a pretty-printer. Each
-`gdb.Objfile' also contains a `pretty_printers' attribute.
+The Python list `gdb.pretty_printers' contains an array of functions or
+callable objects that have been registered via addition as a
+pretty-printer. Printers in this list are called `global' printers,
+they're available when debugging all inferiors. Each `gdb.Progspace'
+contains a `pretty_printers' attribute. Each `gdb.Objfile' also
+contains a `pretty_printers' attribute.
- A function on one of these lists is passed a single `gdb.Value'
-argument and should return a pretty-printer object conforming to the
-interface definition above (*note Pretty Printing::). If a function
-cannot create a pretty-printer for the value, it should return `None'.
+ Each function on these lists is passed a single `gdb.Value' argument
+and should return a pretty-printer object conforming to the interface
+definition above (*note Pretty Printing API::). If a function cannot
+create a pretty-printer for the value, it should return `None'.
GDB first checks the `pretty_printers' attribute of each
-`gdb.Objfile' and iteratively calls each function in the list for that
-`gdb.Objfile' until it receives a pretty-printer object. After these
-lists have been exhausted, it tries the global `gdb.pretty-printers'
-list, again calling each function until an object is returned.
+`gdb.Objfile' in the current program space and iteratively calls each
+enabled lookup routine in the list for that `gdb.Objfile' until it
+receives a pretty-printer object. If no pretty-printer is found in the
+objfile lists, GDB then searches the pretty-printer list of the current
+program space, calling each enabled function until an object is
+returned. After these lists have been exhausted, it tries the global
+`gdb.pretty_printers' list, again calling each enabled function until an
+object is returned.
The order in which the objfiles are searched is not specified. For a
given list, functions are always invoked from the head of the list, and
iterated over sequentially until the end of the list, or a printer
object is returned.
+ For various reasons a pretty-printer may not work. For example, the
+underlying data structure may have changed and the pretty-printer is
+out of date.
+
+ The consequences of a broken pretty-printer are severe enough that
+GDB provides support for enabling and disabling individual printers.
+For example, if `print frame-arguments' is on, a backtrace can become
+highly illegible if any argument is printed with a broken printer.
+
+ Pretty-printers are enabled and disabled by attaching an `enabled'
+attribute to the registered function or callable object. If this
+attribute is present and its value is `False', the printer is disabled,
+otherwise the printer is enabled.
+
+
+File: gdb.info, Node: Writing a Pretty-Printer, Next: Inferiors In Python, Prev: Selecting Pretty-Printers, Up: Python API
+
+23.2.2.7 Writing a Pretty-Printer
+.................................
+
+A pretty-printer consists of two parts: a lookup function to detect if
+the type is supported, and the printer itself.
+
Here is an example showing how a `std::string' printer might be
-written:
+written. *Note Pretty Printing API::, for details on the API this class
+must provide.
- class StdStringPrinter:
+ class StdStringPrinter(object):
"Print a std::string"
- def __init__ (self, val):
+ def __init__(self, val):
self.val = val
- def to_string (self):
+ def to_string(self):
return self.val['_M_dataplus']['_M_p']
- def display_hint (self):
+ def display_hint(self):
return 'string'
And here is an example showing how a lookup function for the printer
example above might be written.
- def str_lookup_function (val):
-
+ def str_lookup_function(val):
lookup_tag = val.type.tag
- regex = re.compile ("^std::basic_string<char,.*>$")
if lookup_tag == None:
return None
- if regex.match (lookup_tag):
- return StdStringPrinter (val)
-
+ regex = re.compile("^std::basic_string<char,.*>$")
+ if regex.match(lookup_tag):
+ return StdStringPrinter(val)
return None
The example lookup function extracts the value's type, and attempts
@@ -17359,23 +18732,334 @@ your auto-loaded code took care to register your library's printers
with a specific objfile, GDB will find the correct printers for the
specific version of the library used by each inferior.
- To continue the `std::string' example (*note Pretty Printing::),
+ To continue the `std::string' example (*note Pretty Printing API::),
this code might appear in `gdb.libstdcxx.v6':
- def register_printers (objfile):
- objfile.pretty_printers.add (str_lookup_function)
+ def register_printers(objfile):
+ objfile.pretty_printers.add(str_lookup_function)
And then the corresponding contents of the auto-load file would be:
import gdb.libstdcxx.v6
- gdb.libstdcxx.v6.register_printers (gdb.current_objfile ())
+ gdb.libstdcxx.v6.register_printers(gdb.current_objfile())
+
+ The previous example illustrates a basic pretty-printer. There are
+a few things that can be improved on. The printer doesn't have a name,
+making it hard to identify in a list of installed printers. The lookup
+function has a name, but lookup functions can have arbitrary, even
+identical, names.
+
+ Second, the printer only handles one type, whereas a library
+typically has several types. One could install a lookup function for
+each desired type in the library, but one could also have a single
+lookup function recognize several types. The latter is the
+conventional way this is handled. If a pretty-printer can handle
+multiple data types, then its "subprinters" are the printers for the
+individual data types.
+
+ The `gdb.printing' module provides a formal way of solving these
+problems (*note gdb.printing::). Here is another example that handles
+multiple types.
+
+ These are the types we are going to pretty-print:
+
+ struct foo { int a, b; };
+ struct bar { struct foo x, y; };
+
+ Here are the printers:
+
+ class fooPrinter:
+ """Print a foo object."""
+
+ def __init__(self, val):
+ self.val = val
+
+ def to_string(self):
+ return ("a=<" + str(self.val["a"]) +
+ "> b=<" + str(self.val["b"]) + ">")
+
+ class barPrinter:
+ """Print a bar object."""
+
+ def __init__(self, val):
+ self.val = val
+
+ def to_string(self):
+ return ("x=<" + str(self.val["x"]) +
+ "> y=<" + str(self.val["y"]) + ">")
+
+ This example doesn't need a lookup function, that is handled by the
+`gdb.printing' module. Instead a function is provided to build up the
+object that handles the lookup.
+
+ import gdb.printing
+
+ def build_pretty_printer():
+ pp = gdb.printing.RegexpCollectionPrettyPrinter(
+ "my_library")
+ pp.add_printer('foo', '^foo$', fooPrinter)
+ pp.add_printer('bar', '^bar$', barPrinter)
+ return pp
+
+ And here is the autoload support:
+
+ import gdb.printing
+ import my_library
+ gdb.printing.register_pretty_printer(
+ gdb.current_objfile(),
+ my_library.build_pretty_printer())
+
+ Finally, when this printer is loaded into GDB, here is the
+corresponding output of `info pretty-printer':
+
+ (gdb) info pretty-printer
+ my_library.so:
+ my_library
+ foo
+ bar
+
+
+File: gdb.info, Node: Inferiors In Python, Next: Events In Python, Prev: Writing a Pretty-Printer, Up: Python API
+
+23.2.2.8 Inferiors In Python
+............................
+
+Programs which are being run under GDB are called inferiors (*note
+Inferiors and Programs::). Python scripts can access information about
+and manipulate inferiors controlled by GDB via objects of the
+`gdb.Inferior' class.
+
+ The following inferior-related functions are available in the `gdb'
+module:
+
+ -- Function: inferiors
+ Return a tuple containing all inferior objects.
+
+ A `gdb.Inferior' object has the following attributes:
+
+ -- Instance Variable of Inferior: num
+ ID of inferior, as assigned by GDB.
+
+ -- Instance Variable of Inferior: pid
+ Process ID of the inferior, as assigned by the underlying
+ operating system.
+
+ -- Instance Variable of Inferior: was_attached
+ Boolean signaling whether the inferior was created using
+ `attach', or started by GDB itself.
+
+ A `gdb.Inferior' object has the following methods:
+
+ -- Method on Inferior: is_valid
+ Returns `True' if the `gdb.Inferior' object is valid, `False'
+ if not. A `gdb.Inferior' object will become invalid if the
+ inferior no longer exists within GDB. All other
+ `gdb.Inferior' methods will throw an exception if it is
+ invalid at the time the method is called.
+
+ -- Method on Inferior: threads
+ This method returns a tuple holding all the threads which are
+ valid when it is called. If there are no valid threads, the
+ method will return an empty tuple.
+
+ -- Method on Inferior: read_memory address length
+ Read LENGTH bytes of memory from the inferior, starting at
+ ADDRESS. Returns a buffer object, which behaves much like an
+ array or a string. It can be modified and given to the
+ `gdb.write_memory' function.
+
+ -- Method on Inferior: write_memory address buffer [length]
+ Write the contents of BUFFER to the inferior, starting at
+ ADDRESS. The BUFFER parameter must be a Python object which
+ supports the buffer protocol, i.e., a string, an array or the
+ object returned from `gdb.read_memory'. If given, LENGTH
+ determines the number of bytes from BUFFER to be written.
+
+ -- Method on Inferior: search_memory address length pattern
+ Search a region of the inferior memory starting at ADDRESS
+ with the given LENGTH using the search pattern supplied in
+ PATTERN. The PATTERN parameter must be a Python object which
+ supports the buffer protocol, i.e., a string, an array or the
+ object returned from `gdb.read_memory'. Returns a Python
+ `Long' containing the address where the pattern was found, or
+ `None' if the pattern could not be found.
+
+
+File: gdb.info, Node: Events In Python, Next: Threads In Python, Prev: Inferiors In Python, Up: Python API
+
+23.2.2.9 Events In Python
+.........................
+
+GDB provides a general event facility so that Python code can be
+notified of various state changes, particularly changes that occur in
+the inferior.
+
+ An "event" is just an object that describes some state change. The
+type of the object and its attributes will vary depending on the details
+of the change. All the existing events are described below.
+
+ In order to be notified of an event, you must register an event
+handler with an "event registry". An event registry is an object in the
+`gdb.events' module which dispatches particular events. A registry
+provides methods to register and unregister event handlers:
+
+ -- Method on EventRegistry: connect object
+ Add the given callable OBJECT to the registry. This object
+ will be called when an event corresponding to this registry
+ occurs.
+
+ -- Method on EventRegistry: disconnect object
+ Remove the given OBJECT from the registry. Once removed, the
+ object will no longer receive notifications of events.
+
+ Here is an example:
+
+ def exit_handler (event):
+ print "event type: exit"
+ print "exit code: %d" % (event.exit_code)
+
+ gdb.events.exited.connect (exit_handler)
+
+ In the above example we connect our handler `exit_handler' to the
+registry `events.exited'. Once connected, `exit_handler' gets called
+when the inferior exits. The argument "event" in this example is of
+type `gdb.ExitedEvent'. As you can see in the example the
+`ExitedEvent' object has an attribute which indicates the exit code of
+the inferior.
+
+ The following is a listing of the event registries that are
+available and details of the events they emit:
+
+`events.cont'
+ Emits `gdb.ThreadEvent'.
+
+ Some events can be thread specific when GDB is running in non-stop
+ mode. When represented in Python, these events all extend
+ `gdb.ThreadEvent'. Note, this event is not emitted directly;
+ instead, events which are emitted by this or other modules might
+ extend this event. Examples of these events are
+ `gdb.BreakpointEvent' and `gdb.ContinueEvent'.
+
+ -- Instance Variable of ThreadEvent: inferior_thread
+ In non-stop mode this attribute will be set to the
+ specific thread which was involved in the emitted event.
+ Otherwise, it will be set to `None'.
+
+ Emits `gdb.ContinueEvent' which extends `gdb.ThreadEvent'.
+
+ This event indicates that the inferior has been continued after a
+ stop. For inherited attribute refer to `gdb.ThreadEvent' above.
+
+`events.exited'
+ Emits `events.ExitedEvent' which indicates that the inferior has
+ exited. `events.ExitedEvent' has one optional attribute. This
+ attribute will exist only in the case that the inferior exited
+ with some status.
+ -- Instance Variable of ExitedEvent: exit_code
+ An integer representing the exit code which the inferior
+ has returned.
+
+`events.stop'
+ Emits `gdb.StopEvent' which extends `gdb.ThreadEvent'.
+
+ Indicates that the inferior has stopped. All events emitted by
+ this registry extend StopEvent. As a child of `gdb.ThreadEvent',
+ `gdb.StopEvent' will indicate the stopped thread when GDB is
+ running in non-stop mode. Refer to `gdb.ThreadEvent' above for
+ more details.
+
+ Emits `gdb.SignalEvent' which extends `gdb.StopEvent'.
+
+ This event indicates that the inferior or one of its threads has
+ received as signal. `gdb.SignalEvent' has the following
+ attributes:
+
+ -- Instance Variable of SignalEvent: stop_signal
+ A string representing the signal received by the
+ inferior. A list of possible signal values can be
+ obtained by running the command `info signals' in the
+ GDB command prompt.
+
+ Also emits `gdb.BreakpointEvent' which extends `gdb.StopEvent'.
+
+ `gdb.BreakpointEvent' event indicates that a breakpoint has been
+ hit, and has the following attributes:
+
+ -- Instance Variable of BreakpointEvent: breakpoint
+ A reference to the breakpoint that was hit of type
+ `gdb.Breakpoint'. *Note Breakpoints In Python::, for
+ details of the `gdb.Breakpoint' object.
+

-File: gdb.info, Node: Commands In Python, Next: Functions In Python, Prev: Selecting Pretty-Printers, Up: Python API
+File: gdb.info, Node: Threads In Python, Next: Commands In Python, Prev: Events In Python, Up: Python API
-23.2.2.8 Commands In Python
+23.2.2.10 Threads In Python
...........................
+Python scripts can access information about, and manipulate inferior
+threads controlled by GDB, via objects of the `gdb.InferiorThread'
+class.
+
+ The following thread-related functions are available in the `gdb'
+module:
+
+ -- Function: selected_thread
+ This function returns the thread object for the selected thread.
+ If there is no selected thread, this will return `None'.
+
+ A `gdb.InferiorThread' object has the following attributes:
+
+ -- Instance Variable of InferiorThread: name
+ The name of the thread. If the user specified a name using
+ `thread name', then this returns that name. Otherwise, if an
+ OS-supplied name is available, then it is returned.
+ Otherwise, this returns `None'.
+
+ This attribute can be assigned to. The new value must be a
+ string object, which sets the new name, or `None', which
+ removes any user-specified thread name.
+
+ -- Instance Variable of InferiorThread: num
+ ID of the thread, as assigned by GDB.
+
+ -- Instance Variable of InferiorThread: ptid
+ ID of the thread, as assigned by the operating system. This
+ attribute is a tuple containing three integers. The first is
+ the Process ID (PID); the second is the Lightweight Process
+ ID (LWPID), and the third is the Thread ID (TID). Either the
+ LWPID or TID may be 0, which indicates that the operating
+ system does not use that identifier.
+
+ A `gdb.InferiorThread' object has the following methods:
+
+ -- Method on InferiorThread: is_valid
+ Returns `True' if the `gdb.InferiorThread' object is valid,
+ `False' if not. A `gdb.InferiorThread' object will become
+ invalid if the thread exits, or the inferior that the thread
+ belongs is deleted. All other `gdb.InferiorThread' methods
+ will throw an exception if it is invalid at the time the
+ method is called.
+
+ -- Method on InferiorThread: switch
+ This changes GDB's currently selected thread to the one
+ represented by this object.
+
+ -- Method on InferiorThread: is_stopped
+ Return a Boolean indicating whether the thread is stopped.
+
+ -- Method on InferiorThread: is_running
+ Return a Boolean indicating whether the thread is running.
+
+ -- Method on InferiorThread: is_exited
+ Return a Boolean indicating whether the thread is exited.
+
+
+File: gdb.info, Node: Commands In Python, Next: Parameters In Python, Prev: Threads In Python, Up: Python API
+
+23.2.2.11 Commands In Python
+............................
+
You can implement new GDB CLI commands in Python. A CLI command is
implemented using an instance of the `gdb.Command' class, most commonly
using a subclass.
@@ -17432,6 +19116,16 @@ using a subclass.
If this method throws an exception, it is turned into a GDB
`error' call. Otherwise, the return value is ignored.
+ To break ARGUMENT up into an argv-like string use
+ `gdb.string_to_argv'. This function behaves identically to GDB's
+ internal argument lexer `buildargv'. It is recommended to use
+ this for consistency. Arguments are separated by spaces and may
+ be quoted. Example:
+
+ print gdb.string_to_argv ("1 2\ \\\"3 '4 \"5' \"6 '7\"")
+ ['1', '2 "3', '4 "5', "6 '7"]
+
+
-- Method on Command: complete text word
This method is called by GDB when the user attempts completion on
this command. All forms of completion are handled by this method,
@@ -17571,10 +19265,141 @@ registration of the command with GDB. Depending on how the Python code
is read into GDB, you may need to import the `gdb' module explicitly.

-File: gdb.info, Node: Functions In Python, Next: Objfiles In Python, Prev: Commands In Python, Up: Python API
+File: gdb.info, Node: Parameters In Python, Next: Functions In Python, Prev: Commands In Python, Up: Python API
-23.2.2.9 Writing new convenience functions
-..........................................
+23.2.2.12 Parameters In Python
+..............................
+
+You can implement new GDB parameters using Python. A new parameter is
+implemented as an instance of the `gdb.Parameter' class.
+
+ Parameters are exposed to the user via the `set' and `show'
+commands. *Note Help::.
+
+ There are many parameters that already exist and can be set in GDB.
+Two examples are: `set follow fork' and `set charset'. Setting these
+parameters influences certain behavior in GDB. Similarly, you can
+define parameters that can be used to influence behavior in custom
+Python scripts and commands.
+
+ -- Method on Parameter: __init__ name COMMAND-CLASS PARAMETER-CLASS
+ [ENUM-SEQUENCE]
+ The object initializer for `Parameter' registers the new parameter
+ with GDB. This initializer is normally invoked from the subclass'
+ own `__init__' method.
+
+ NAME is the name of the new parameter. If NAME consists of
+ multiple words, then the initial words are looked for as prefix
+ parameters. An example of this can be illustrated with the `set
+ print' set of parameters. If NAME is `print foo', then `print'
+ will be searched as the prefix parameter. In this case the
+ parameter can subsequently be accessed in GDB as `set print foo'.
+
+ If NAME consists of multiple words, and no prefix parameter group
+ can be found, an exception is raised.
+
+ COMMAND-CLASS should be one of the `COMMAND_' constants (*note
+ Commands In Python::). This argument tells GDB how to categorize
+ the new parameter in the help system.
+
+ PARAMETER-CLASS should be one of the `PARAM_' constants defined
+ below. This argument tells GDB the type of the new parameter;
+ this information is used for input validation and completion.
+
+ If PARAMETER-CLASS is `PARAM_ENUM', then ENUM-SEQUENCE must be a
+ sequence of strings. These strings represent the possible values
+ for the parameter.
+
+ If PARAMETER-CLASS is not `PARAM_ENUM', then the presence of a
+ fourth argument will cause an exception to be thrown.
+
+ The help text for the new parameter is taken from the Python
+ documentation string for the parameter's class, if there is one.
+ If there is no documentation string, a default value is used.
+
+ -- Instance Variable of Parameter: set_doc
+ If this attribute exists, and is a string, then its value is used
+ as the help text for this parameter's `set' command. The value is
+ examined when `Parameter.__init__' is invoked; subsequent changes
+ have no effect.
+
+ -- Instance Variable of Parameter: show_doc
+ If this attribute exists, and is a string, then its value is used
+ as the help text for this parameter's `show' command. The value is
+ examined when `Parameter.__init__' is invoked; subsequent changes
+ have no effect.
+
+ -- Instance Variable of Parameter: value
+ The `value' attribute holds the underlying value of the parameter.
+ It can be read and assigned to just as any other attribute. GDB
+ does validation when assignments are made.
+
+ There are two methods that should be implemented in any `Parameter'
+class. These are:
+
+ -- Operation on parameter: get_set_string self
+ GDB will call this method when a PARAMETER's value has been
+ changed via the `set' API (for example, `set foo off'). The
+ `value' attribute has already been populated with the new value
+ and may be used in output. This method must return a string.
+
+ -- Operation on parameter: get_show_string self svalue
+ GDB will call this method when a PARAMETER's `show' API has been
+ invoked (for example, `show foo'). The argument `svalue' receives
+ the string representation of the current value. This method must
+ return a string.
+
+ When a new parameter is defined, its type must be specified. The
+available types are represented by constants defined in the `gdb'
+module:
+
+`PARAM_BOOLEAN'
+ The value is a plain boolean. The Python boolean values, `True'
+ and `False' are the only valid values.
+
+`PARAM_AUTO_BOOLEAN'
+ The value has three possible states: true, false, and `auto'. In
+ Python, true and false are represented using boolean constants, and
+ `auto' is represented using `None'.
+
+`PARAM_UINTEGER'
+ The value is an unsigned integer. The value of 0 should be
+ interpreted to mean "unlimited".
+
+`PARAM_INTEGER'
+ The value is a signed integer. The value of 0 should be
+ interpreted to mean "unlimited".
+
+`PARAM_STRING'
+ The value is a string. When the user modifies the string, any
+ escape sequences, such as `\t', `\f', and octal escapes, are
+ translated into corresponding characters and encoded into the
+ current host charset.
+
+`PARAM_STRING_NOESCAPE'
+ The value is a string. When the user modifies the string, escapes
+ are passed through untranslated.
+
+`PARAM_OPTIONAL_FILENAME'
+ The value is a either a filename (a string), or `None'.
+
+`PARAM_FILENAME'
+ The value is a filename. This is just like
+ `PARAM_STRING_NOESCAPE', but uses file names for completion.
+
+`PARAM_ZINTEGER'
+ The value is an integer. This is like `PARAM_INTEGER', except 0
+ is interpreted as itself.
+
+`PARAM_ENUM'
+ The value is a string, which must be one of a collection string
+ constants provided when the parameter is created.
+
+
+File: gdb.info, Node: Functions In Python, Next: Progspaces In Python, Prev: Parameters In Python, Up: Python API
+
+23.2.2.13 Writing new convenience functions
+...........................................
You can implement new convenience functions (*note Convenience Vars::)
in Python. A convenience function is an instance of a subclass of the
@@ -17624,9 +19449,44 @@ code is read into GDB, you may need to import the `gdb' module
explicitly.

-File: gdb.info, Node: Objfiles In Python, Next: Frames In Python, Prev: Functions In Python, Up: Python API
+File: gdb.info, Node: Progspaces In Python, Next: Objfiles In Python, Prev: Functions In Python, Up: Python API
+
+23.2.2.14 Program Spaces In Python
+..................................
+
+A program space, or "progspace", represents a symbolic view of an
+address space. It consists of all of the objfiles of the program.
+*Note Objfiles In Python::. *Note program spaces: Inferiors and
+Programs, for more details about program spaces.
+
+ The following progspace-related functions are available in the `gdb'
+module:
+
+ -- Function: current_progspace
+ This function returns the program space of the currently selected
+ inferior. *Note Inferiors and Programs::.
+
+ -- Function: progspaces
+ Return a sequence of all the progspaces currently known to GDB.
+
+ Each progspace is represented by an instance of the `gdb.Progspace'
+class.
+
+ -- Instance Variable of Progspace: filename
+ The file name of the progspace as a string.
+
+ -- Instance Variable of Progspace: pretty_printers
+ The `pretty_printers' attribute is a list of functions. It is
+ used to look up pretty-printers. A `Value' is passed to each
+ function in order; if the function returns `None', then the search
+ continues. Otherwise, the return value should be an object which
+ is used to format the value. *Note Pretty Printing API::, for more
+ information.
+
+
+File: gdb.info, Node: Objfiles In Python, Next: Frames In Python, Prev: Progspaces In Python, Up: Python API
-23.2.2.10 Objfiles In Python
+23.2.2.15 Objfiles In Python
............................
GDB loads symbols for an inferior from various symbol-containing files
@@ -17659,20 +19519,30 @@ class.
used to look up pretty-printers. A `Value' is passed to each
function in order; if the function returns `None', then the search
continues. Otherwise, the return value should be an object which
- is used to format the value. *Note Pretty Printing::, for more
+ is used to format the value. *Note Pretty Printing API::, for more
information.
+ A `gdb.Objfile' object has the following methods:
+
+ -- Method on Objfile: is_valid
+ Returns `True' if the `gdb.Objfile' object is valid, `False' if
+ not. A `gdb.Objfile' object can become invalid if the object file
+ it refers to is not loaded in GDB any longer. All other
+ `gdb.Objfile' methods will throw an exception if it is invalid at
+ the time the method is called.
+

-File: gdb.info, Node: Frames In Python, Next: Lazy Strings In Python, Prev: Objfiles In Python, Up: Python API
+File: gdb.info, Node: Frames In Python, Next: Blocks In Python, Prev: Objfiles In Python, Up: Python API
-23.2.2.11 Acessing inferior stack frames from Python.
-.....................................................
+23.2.2.16 Accessing inferior stack frames from Python.
+......................................................
When the debugged program stops, GDB is able to analyze its call stack
(*note Stack frames: Frames.). The `gdb.Frame' class represents a
frame in the stack. A `gdb.Frame' object is only valid while its
corresponding frame exists in the inferior's stack. If you try to use
-an invalid frame object, GDB will throw a `RuntimeError' exception.
+an invalid frame object, GDB will throw a `gdb.error' exception (*note
+Exception Handling::).
Two `gdb.Frame' objects can be compared for equality with the `=='
operator, like:
@@ -17687,6 +19557,9 @@ module:
Return the selected frame object. (*note Selecting a Frame:
Selection.).
+ -- Function: newest_frame
+ Return the newest frame object for the selected thread.
+
-- Function: frame_stop_reason_string reason
Return a string explaining the reason why GDB stopped unwinding
frames, as expressed by the given REASON code (an integer, see the
@@ -17706,9 +19579,30 @@ module:
be obtained.
-- Method on Frame: type
- Returns the type of the frame. The value can be one of
- `gdb.NORMAL_FRAME', `gdb.DUMMY_FRAME', `gdb.SIGTRAMP_FRAME'
- or `gdb.SENTINEL_FRAME'.
+ Returns the type of the frame. The value can be one of:
+ `gdb.NORMAL_FRAME'
+ An ordinary stack frame.
+
+ `gdb.DUMMY_FRAME'
+ A fake stack frame that was created by GDB when
+ performing an inferior function call.
+
+ `gdb.INLINE_FRAME'
+ A frame representing an inlined function. The function
+ was inlined into a `gdb.NORMAL_FRAME' that is older than
+ this one.
+
+ `gdb.SIGTRAMP_FRAME'
+ A signal trampoline frame. This is the frame created by
+ the OS when it calls into a signal handler.
+
+ `gdb.ARCH_FRAME'
+ A fake stack frame representing a cross-architecture
+ call.
+
+ `gdb.SENTINEL_FRAME'
+ This is like `gdb.NORMAL_FRAME', but it is only used for
+ the newest frame.
-- Method on Frame: unwind_stop_reason
Return an integer representing the reason why it's not
@@ -17719,20 +19613,492 @@ module:
-- Method on Frame: pc
Returns the frame's resume address.
+ -- Method on Frame: block
+ Return the frame's code block. *Note Blocks In Python::.
+
+ -- Method on Frame: function
+ Return the symbol for the function corresponding to this
+ frame. *Note Symbols In Python::.
+
-- Method on Frame: older
Return the frame that called this frame.
-- Method on Frame: newer
Return the frame called by this frame.
- -- Method on Frame: read_var variable
- Return the value of the given variable in this frame.
- VARIABLE must be a string.
+ -- Method on Frame: find_sal
+ Return the frame's symtab and line object. *Note Symbol
+ Tables In Python::.
+
+ -- Method on Frame: read_var variable [block]
+ Return the value of VARIABLE in this frame. If the optional
+ argument BLOCK is provided, search for the variable from that
+ block; otherwise start at the frame's current block (which is
+ determined by the frame's current program counter). VARIABLE
+ must be a string or a `gdb.Symbol' object. BLOCK must be a
+ `gdb.Block' object.
+
+ -- Method on Frame: select
+ Set this frame to be the selected frame. *Note Examining the
+ Stack: Stack.
+
+
+File: gdb.info, Node: Blocks In Python, Next: Symbols In Python, Prev: Frames In Python, Up: Python API
+
+23.2.2.17 Accessing frame blocks from Python.
+.............................................
+
+Within each frame, GDB maintains information on each block stored in
+that frame. These blocks are organized hierarchically, and are
+represented individually in Python as a `gdb.Block'. Please see *note
+Frames In Python::, for a more in-depth discussion on frames.
+Furthermore, see *note Examining the Stack: Stack, for more detailed
+technical information on GDB's book-keeping of the stack.
+
+ The following block-related functions are available in the `gdb'
+module:
+
+ -- Function: block_for_pc pc
+ Return the `gdb.Block' containing the given PC value. If the
+ block cannot be found for the PC value specified, the function
+ will return `None'.
+
+ A `gdb.Block' object has the following methods:
+
+ -- Method on Block: is_valid
+ Returns `True' if the `gdb.Block' object is valid, `False' if
+ not. A block object can become invalid if the block it
+ refers to doesn't exist anymore in the inferior. All other
+ `gdb.Block' methods will throw an exception if it is invalid
+ at the time the method is called. This method is also made
+ available to the Python iterator object that `gdb.Block'
+ provides in an iteration context and via the Python `iter'
+ built-in function.
+
+ A `gdb.Block' object has the following attributes:
+
+ -- Instance Variable of Block: start
+ The start address of the block. This attribute is not
+ writable.
+
+ -- Instance Variable of Block: end
+ The end address of the block. This attribute is not writable.
+
+ -- Instance Variable of Block: function
+ The name of the block represented as a `gdb.Symbol'. If the
+ block is not named, then this attribute holds `None'. This
+ attribute is not writable.
+
+ -- Instance Variable of Block: superblock
+ The block containing this block. If this parent block does
+ not exist, this attribute holds `None'. This attribute is
+ not writable.
+
+
+File: gdb.info, Node: Symbols In Python, Next: Symbol Tables In Python, Prev: Blocks In Python, Up: Python API
+
+23.2.2.18 Python representation of Symbols.
+...........................................
+
+GDB represents every variable, function and type as an entry in a
+symbol table. *Note Examining the Symbol Table: Symbols. Similarly,
+Python represents these symbols in GDB with the `gdb.Symbol' object.
+
+ The following symbol-related functions are available in the `gdb'
+module:
+
+ -- Function: lookup_symbol name [block] [domain]
+ This function searches for a symbol by name. The search scope can
+ be restricted to the parameters defined in the optional domain and
+ block arguments.
+
+ NAME is the name of the symbol. It must be a string. The
+ optional BLOCK argument restricts the search to symbols visible in
+ that BLOCK. The BLOCK argument must be a `gdb.Block' object. If
+ omitted, the block for the current frame is used. The optional
+ DOMAIN argument restricts the search to the domain type. The
+ DOMAIN argument must be a domain constant defined in the `gdb'
+ module and described later in this chapter.
+
+ The result is a tuple of two elements. The first element is a
+ `gdb.Symbol' object or `None' if the symbol is not found. If the
+ symbol is found, the second element is `True' if the symbol is a
+ field of a method's object (e.g., `this' in C++), otherwise it is
+ `False'. If the symbol is not found, the second element is
+ `False'.
+
+ -- Function: lookup_global_symbol name [domain]
+ This function searches for a global symbol by name. The search
+ scope can be restricted to by the domain argument.
+
+ NAME is the name of the symbol. It must be a string. The
+ optional DOMAIN argument restricts the search to the domain type.
+ The DOMAIN argument must be a domain constant defined in the `gdb'
+ module and described later in this chapter.
+
+ The result is a `gdb.Symbol' object or `None' if the symbol is not
+ found.
+
+ A `gdb.Symbol' object has the following attributes:
+
+ -- Instance Variable of Symbol: type
+ The type of the symbol or `None' if no type is recorded.
+ This attribute is represented as a `gdb.Type' object. *Note
+ Types In Python::. This attribute is not writable.
+
+ -- Instance Variable of Symbol: symtab
+ The symbol table in which the symbol appears. This attribute
+ is represented as a `gdb.Symtab' object. *Note Symbol Tables
+ In Python::. This attribute is not writable.
+
+ -- Instance Variable of Symbol: name
+ The name of the symbol as a string. This attribute is not
+ writable.
+
+ -- Instance Variable of Symbol: linkage_name
+ The name of the symbol, as used by the linker (i.e., may be
+ mangled). This attribute is not writable.
+
+ -- Instance Variable of Symbol: print_name
+ The name of the symbol in a form suitable for output. This
+ is either `name' or `linkage_name', depending on whether the
+ user asked GDB to display demangled or mangled names.
+
+ -- Instance Variable of Symbol: addr_class
+ The address class of the symbol. This classifies how to find
+ the value of a symbol. Each address class is a constant
+ defined in the `gdb' module and described later in this
+ chapter.
+
+ -- Instance Variable of Symbol: is_argument
+ `True' if the symbol is an argument of a function.
+
+ -- Instance Variable of Symbol: is_constant
+ `True' if the symbol is a constant.
+
+ -- Instance Variable of Symbol: is_function
+ `True' if the symbol is a function or a method.
+
+ -- Instance Variable of Symbol: is_variable
+ `True' if the symbol is a variable.
+
+ A `gdb.Symbol' object has the following methods:
+
+ -- Method on Symbol: is_valid
+ Returns `True' if the `gdb.Symbol' object is valid, `False'
+ if not. A `gdb.Symbol' object can become invalid if the
+ symbol it refers to does not exist in GDB any longer. All
+ other `gdb.Symbol' methods will throw an exception if it is
+ invalid at the time the method is called.
+
+ The available domain categories in `gdb.Symbol' are represented as
+constants in the `gdb' module:
+
+`SYMBOL_UNDEF_DOMAIN'
+ This is used when a domain has not been discovered or none of the
+ following domains apply. This usually indicates an error either
+ in the symbol information or in GDB's handling of symbols.
+
+`SYMBOL_VAR_DOMAIN'
+ This domain contains variables, function names, typedef names and
+ enum type values.
+
+`SYMBOL_STRUCT_DOMAIN'
+ This domain holds struct, union and enum type names.
+
+`SYMBOL_LABEL_DOMAIN'
+ This domain contains names of labels (for gotos).
+
+`SYMBOL_VARIABLES_DOMAIN'
+ This domain holds a subset of the `SYMBOLS_VAR_DOMAIN'; it
+ contains everything minus functions and types.
+
+`SYMBOL_FUNCTION_DOMAIN'
+ This domain contains all functions.
+
+`SYMBOL_TYPES_DOMAIN'
+ This domain contains all types.
+
+ The available address class categories in `gdb.Symbol' are
+represented as constants in the `gdb' module:
+
+`SYMBOL_LOC_UNDEF'
+ If this is returned by address class, it indicates an error either
+ in the symbol information or in GDB's handling of symbols.
+
+`SYMBOL_LOC_CONST'
+ Value is constant int.
+
+`SYMBOL_LOC_STATIC'
+ Value is at a fixed address.
+
+`SYMBOL_LOC_REGISTER'
+ Value is in a register.
+
+`SYMBOL_LOC_ARG'
+ Value is an argument. This value is at the offset stored within
+ the symbol inside the frame's argument list.
+
+`SYMBOL_LOC_REF_ARG'
+ Value address is stored in the frame's argument list. Just like
+ `LOC_ARG' except that the value's address is stored at the offset,
+ not the value itself.
+
+`SYMBOL_LOC_REGPARM_ADDR'
+ Value is a specified register. Just like `LOC_REGISTER' except
+ the register holds the address of the argument instead of the
+ argument itself.
+
+`SYMBOL_LOC_LOCAL'
+ Value is a local variable.
+
+`SYMBOL_LOC_TYPEDEF'
+ Value not used. Symbols in the domain `SYMBOL_STRUCT_DOMAIN' all
+ have this class.
+
+`SYMBOL_LOC_BLOCK'
+ Value is a block.
+
+`SYMBOL_LOC_CONST_BYTES'
+ Value is a byte-sequence.
+
+`SYMBOL_LOC_UNRESOLVED'
+ Value is at a fixed address, but the address of the variable has
+ to be determined from the minimal symbol table whenever the
+ variable is referenced.
+
+`SYMBOL_LOC_OPTIMIZED_OUT'
+ The value does not actually exist in the program.
+
+`SYMBOL_LOC_COMPUTED'
+ The value's address is a computed location.
+
+
+File: gdb.info, Node: Symbol Tables In Python, Next: Lazy Strings In Python, Prev: Symbols In Python, Up: Python API
+
+23.2.2.19 Symbol table representation in Python.
+................................................
+
+Access to symbol table data maintained by GDB on the inferior is
+exposed to Python via two objects: `gdb.Symtab_and_line' and
+`gdb.Symtab'. Symbol table and line data for a frame is returned from
+the `find_sal' method in `gdb.Frame' object. *Note Frames In Python::.
+
+ For more information on GDB's symbol table management, see *note
+Examining the Symbol Table: Symbols, for more information.
+
+ A `gdb.Symtab_and_line' object has the following attributes:
+
+ -- Instance Variable of Symtab_and_line: symtab
+ The symbol table object (`gdb.Symtab') for this frame. This
+ attribute is not writable.
+
+ -- Instance Variable of Symtab_and_line: pc
+ Indicates the current program counter address. This
+ attribute is not writable.
+
+ -- Instance Variable of Symtab_and_line: line
+ Indicates the current line number for this object. This
+ attribute is not writable.
+
+ A `gdb.Symtab_and_line' object has the following methods:
+
+ -- Method on Symtab_and_line: is_valid
+ Returns `True' if the `gdb.Symtab_and_line' object is valid,
+ `False' if not. A `gdb.Symtab_and_line' object can become
+ invalid if the Symbol table and line object it refers to does
+ not exist in GDB any longer. All other `gdb.Symtab_and_line'
+ methods will throw an exception if it is invalid at the time
+ the method is called.
+
+ A `gdb.Symtab' object has the following attributes:
+
+ -- Instance Variable of Symtab: filename
+ The symbol table's source filename. This attribute is not
+ writable.
+
+ -- Instance Variable of Symtab: objfile
+ The symbol table's backing object file. *Note Objfiles In
+ Python::. This attribute is not writable.
+
+ A `gdb.Symtab' object has the following methods:
+
+ -- Method on Symtab: is_valid
+ Returns `True' if the `gdb.Symtab' object is valid, `False'
+ if not. A `gdb.Symtab' object can become invalid if the
+ symbol table it refers to does not exist in GDB any longer.
+ All other `gdb.Symtab' methods will throw an exception if it
+ is invalid at the time the method is called.
+
+ -- Method on Symtab: fullname
+ Return the symbol table's source absolute file name.
+
+
+File: gdb.info, Node: Breakpoints In Python, Prev: Lazy Strings In Python, Up: Python API
+
+23.2.2.20 Manipulating breakpoints using Python
+...............................................
+
+Python code can manipulate breakpoints via the `gdb.Breakpoint' class.
+
+ -- Method on Breakpoint: __init__ spec [type] [wp_class] [internal]
+ Create a new breakpoint. SPEC is a string naming the location of
+ the breakpoint, or an expression that defines a watchpoint. The
+ contents can be any location recognized by the `break' command, or
+ in the case of a watchpoint, by the `watch' command. The optional
+ TYPE denotes the breakpoint to create from the types defined later
+ in this chapter. This argument can be either: `BP_BREAKPOINT' or
+ `BP_WATCHPOINT'. TYPE defaults to `BP_BREAKPOINT'. The optional
+ INTERNAL argument allows the breakpoint to become invisible to the
+ user. The breakpoint will neither be reported when created, nor
+ will it be listed in the output from `info breakpoints' (but will
+ be listed with the `maint info breakpoints' command). The
+ optional WP_CLASS argument defines the class of watchpoint to
+ create, if TYPE is `BP_WATCHPOINT'. If a watchpoint class is not
+ provided, it is assumed to be a WP_WRITE class.
+
+ -- Operation on gdb.Breakpoint: stop (self)
+ The `gdb.Breakpoint' class can be sub-classed and, in particular,
+ you may choose to implement the `stop' method. If this method is
+ defined as a sub-class of `gdb.Breakpoint', it will be called when
+ the inferior reaches any location of a breakpoint which
+ instantiates that sub-class. If the method returns `True', the
+ inferior will be stopped at the location of the breakpoint,
+ otherwise the inferior will continue.
+
+ If there are multiple breakpoints at the same location with a
+ `stop' method, each one will be called regardless of the return
+ status of the previous. This ensures that all `stop' methods have
+ a chance to execute at that location. In this scenario if one of
+ the methods returns `True' but the others return `False', the
+ inferior will still be stopped.
+
+ Example `stop' implementation:
+
+ class MyBreakpoint (gdb.Breakpoint):
+ def stop (self):
+ inf_val = gdb.parse_and_eval("foo")
+ if inf_val == 3:
+ return True
+ return False
+
+ The available watchpoint types represented by constants are defined
+in the `gdb' module:
+
+`WP_READ'
+ Read only watchpoint.
+
+`WP_WRITE'
+ Write only watchpoint.
+
+`WP_ACCESS'
+ Read/Write watchpoint.
+
+ -- Method on Breakpoint: is_valid
+ Return `True' if this `Breakpoint' object is valid, `False'
+ otherwise. A `Breakpoint' object can become invalid if the user
+ deletes the breakpoint. In this case, the object still exists,
+ but the underlying breakpoint does not. In the cases of
+ watchpoint scope, the watchpoint remains valid even if execution
+ of the inferior leaves the scope of that watchpoint.
+
+ -- Method on Breakpoint: delete
+ Permanently deletes the GDB breakpoint. This also invalidates the
+ Python `Breakpoint' object. Any further access to this object's
+ attributes or methods will raise an error.
+
+ -- Instance Variable of Breakpoint: enabled
+ This attribute is `True' if the breakpoint is enabled, and `False'
+ otherwise. This attribute is writable.
+
+ -- Instance Variable of Breakpoint: silent
+ This attribute is `True' if the breakpoint is silent, and `False'
+ otherwise. This attribute is writable.
+
+ Note that a breakpoint can also be silent if it has commands and
+ the first command is `silent'. This is not reported by the
+ `silent' attribute.
+
+ -- Instance Variable of Breakpoint: thread
+ If the breakpoint is thread-specific, this attribute holds the
+ thread id. If the breakpoint is not thread-specific, this
+ attribute is `None'. This attribute is writable.
+
+ -- Instance Variable of Breakpoint: task
+ If the breakpoint is Ada task-specific, this attribute holds the
+ Ada task id. If the breakpoint is not task-specific (or the
+ underlying language is not Ada), this attribute is `None'. This
+ attribute is writable.
+
+ -- Instance Variable of Breakpoint: ignore_count
+ This attribute holds the ignore count for the breakpoint, an
+ integer. This attribute is writable.
+
+ -- Instance Variable of Breakpoint: number
+ This attribute holds the breakpoint's number -- the identifier
+ used by the user to manipulate the breakpoint. This attribute is
+ not writable.
+
+ -- Instance Variable of Breakpoint: type
+ This attribute holds the breakpoint's type -- the identifier used
+ to determine the actual breakpoint type or use-case. This
+ attribute is not writable.
+
+ -- Instance Variable of Breakpoint: visible
+ This attribute tells whether the breakpoint is visible to the user
+ when set, or when the `info breakpoints' command is run. This
+ attribute is not writable.
+
+ The available types are represented by constants defined in the `gdb'
+module:
+
+`BP_BREAKPOINT'
+ Normal code breakpoint.
+
+`BP_WATCHPOINT'
+ Watchpoint breakpoint.
+
+`BP_HARDWARE_WATCHPOINT'
+ Hardware assisted watchpoint.
+
+`BP_READ_WATCHPOINT'
+ Hardware assisted read watchpoint.
+
+`BP_ACCESS_WATCHPOINT'
+ Hardware assisted access watchpoint.
+
+ -- Instance Variable of Breakpoint: hit_count
+ This attribute holds the hit count for the breakpoint, an integer.
+ This attribute is writable, but currently it can only be set to
+ zero.
+
+ -- Instance Variable of Breakpoint: location
+ This attribute holds the location of the breakpoint, as specified
+ by the user. It is a string. If the breakpoint does not have a
+ location (that is, it is a watchpoint) the attribute's value is
+ `None'. This attribute is not writable.
+
+ -- Instance Variable of Breakpoint: expression
+ This attribute holds a breakpoint expression, as specified by the
+ user. It is a string. If the breakpoint does not have an
+ expression (the breakpoint is not a watchpoint) the attribute's
+ value is `None'. This attribute is not writable.
+
+ -- Instance Variable of Breakpoint: condition
+ This attribute holds the condition of the breakpoint, as specified
+ by the user. It is a string. If there is no condition, this
+ attribute's value is `None'. This attribute is writable.
+
+ -- Instance Variable of Breakpoint: commands
+ This attribute holds the commands attached to the breakpoint. If
+ there are commands, this attribute's value is a string holding all
+ the commands, separated by newlines. If there are no commands,
+ this attribute is `None'. This attribute is not writable.

-File: gdb.info, Node: Lazy Strings In Python, Prev: Frames In Python, Up: Python API
+File: gdb.info, Node: Lazy Strings In Python, Next: Breakpoints In Python, Prev: Symbol Tables In Python, Up: Python API
-23.2.2.12 Python representation of lazy strings.
+23.2.2.21 Python representation of lazy strings.
................................................
A "lazy string" is a string whose contents is not retrieved or encoded
@@ -17780,6 +20146,249 @@ string is immediately retrieved and encoded on creation.
attribute is not writable.

+File: gdb.info, Node: Auto-loading, Next: Python modules, Prev: Python API, Up: Python
+
+23.2.3 Auto-loading
+-------------------
+
+When a new object file is read (for example, due to the `file' command,
+or because the inferior has loaded a shared library), GDB will look for
+Python support scripts in several ways: `OBJFILE-gdb.py' and
+`.debug_gdb_scripts' section.
+
+* Menu:
+
+* objfile-gdb.py file:: The `OBJFILE-gdb.py' file
+* .debug_gdb_scripts section:: The `.debug_gdb_scripts' section
+* Which flavor to choose?::
+
+ The auto-loading feature is useful for supplying application-specific
+debugging commands and scripts.
+
+ Auto-loading can be enabled or disabled, and the list of auto-loaded
+scripts can be printed.
+
+`set auto-load-scripts [yes|no]'
+ Enable or disable the auto-loading of Python scripts.
+
+`show auto-load-scripts'
+ Show whether auto-loading of Python scripts is enabled or disabled.
+
+`info auto-load-scripts [REGEXP]'
+ Print the list of all scripts that GDB auto-loaded.
+
+ Also printed is the list of scripts that were mentioned in the
+ `.debug_gdb_scripts' section and were not found (*note
+ .debug_gdb_scripts section::). This is useful because their names
+ are not printed when GDB tries to load them and fails. There may
+ be many of them, and printing an error message for each one is
+ problematic.
+
+ If REGEXP is supplied only scripts with matching names are printed.
+
+ Example:
+
+ (gdb) info auto-load-scripts
+ Loaded Script
+ Yes py-section-script.py
+ full name: /tmp/py-section-script.py
+ Missing my-foo-pretty-printers.py
+
+ When reading an auto-loaded file, GDB sets the "current objfile".
+This is available via the `gdb.current_objfile' function (*note
+Objfiles In Python::). This can be useful for registering
+objfile-specific pretty-printers.
+
+
+File: gdb.info, Node: objfile-gdb.py file, Next: .debug_gdb_scripts section, Up: Auto-loading
+
+23.2.3.1 The `OBJFILE-gdb.py' file
+..................................
+
+When a new object file is read, GDB looks for a file named
+`OBJFILE-gdb.py', where OBJFILE is the object file's real name, formed
+by ensuring that the file name is absolute, following all symlinks, and
+resolving `.' and `..' components. If this file exists and is
+readable, GDB will evaluate it as a Python script.
+
+ If this file does not exist, and if the parameter
+`debug-file-directory' is set (*note Separate Debug Files::), then GDB
+will look for REAL-NAME in all of the directories mentioned in the
+value of `debug-file-directory'.
+
+ Finally, if this file does not exist, then GDB will look for a file
+named `DATA-DIRECTORY/python/auto-load/REAL-NAME', where DATA-DIRECTORY
+is GDB's data directory (available via `show data-directory', *note
+Data Files::), and REAL-NAME is the object file's real name, as
+described above.
+
+ GDB does not track which files it has already auto-loaded this way.
+GDB will load the associated script every time the corresponding
+OBJFILE is opened. So your `-gdb.py' file should be careful to avoid
+errors if it is evaluated more than once.
+
+
+File: gdb.info, Node: .debug_gdb_scripts section, Next: Which flavor to choose?, Prev: objfile-gdb.py file, Up: Auto-loading
+
+23.2.3.2 The `.debug_gdb_scripts' section
+.........................................
+
+For systems using file formats like ELF and COFF, when GDB loads a new
+object file it will look for a special section named
+`.debug_gdb_scripts'. If this section exists, its contents is a list
+of names of scripts to load.
+
+ GDB will look for each specified script file first in the current
+directory and then along the source search path (*note Specifying
+Source Directories: Source Path.), except that `$cdir' is not searched,
+since the compilation directory is not relevant to scripts.
+
+ Entries can be placed in section `.debug_gdb_scripts' with, for
+example, this GCC macro:
+
+ /* Note: The "MS" section flags are to remove duplicates. */
+ #define DEFINE_GDB_SCRIPT(script_name) \
+ asm("\
+ .pushsection \".debug_gdb_scripts\", \"MS\",@progbits,1\n\
+ .byte 1\n\
+ .asciz \"" script_name "\"\n\
+ .popsection \n\
+ ");
+
+Then one can reference the macro in a header or source file like this:
+
+ DEFINE_GDB_SCRIPT ("my-app-scripts.py")
+
+ The script name may include directories if desired.
+
+ If the macro is put in a header, any application or library using
+this header will get a reference to the specified script.
+
+
+File: gdb.info, Node: Which flavor to choose?, Prev: .debug_gdb_scripts section, Up: Auto-loading
+
+23.2.3.3 Which flavor to choose?
+................................
+
+Given the multiple ways of auto-loading Python scripts, it might not
+always be clear which one to choose. This section provides some
+guidance.
+
+ Benefits of the `-gdb.py' way:
+
+ * Can be used with file formats that don't support multiple sections.
+
+ * Ease of finding scripts for public libraries.
+
+ Scripts specified in the `.debug_gdb_scripts' section are searched
+ for in the source search path. For publicly installed libraries,
+ e.g., `libstdc++', there typically isn't a source directory in
+ which to find the script.
+
+ * Doesn't require source code additions.
+
+ Benefits of the `.debug_gdb_scripts' way:
+
+ * Works with static linking.
+
+ Scripts for libraries done the `-gdb.py' way require an objfile to
+ trigger their loading. When an application is statically linked
+ the only objfile available is the executable, and it is cumbersome
+ to attach all the scripts from all the input libraries to the
+ executable's `-gdb.py' script.
+
+ * Works with classes that are entirely inlined.
+
+ Some classes can be entirely inlined, and thus there may not be an
+ associated shared library to attach a `-gdb.py' script to.
+
+ * Scripts needn't be copied out of the source tree.
+
+ In some circumstances, apps can be built out of large collections
+ of internal libraries, and the build infrastructure necessary to
+ install the `-gdb.py' scripts in a place where GDB can find them is
+ cumbersome. It may be easier to specify the scripts in the
+ `.debug_gdb_scripts' section as relative paths, and add a path to
+ the top of the source tree to the source search path.
+
+
+File: gdb.info, Node: Python modules, Prev: Auto-loading, Up: Python
+
+23.2.4 Python modules
+---------------------
+
+GDB comes with a module to assist writing Python code.
+
+* Menu:
+
+* gdb.printing:: Building and registering pretty-printers.
+* gdb.types:: Utilities for working with types.
+
+
+File: gdb.info, Node: gdb.printing, Next: gdb.types, Up: Python modules
+
+23.2.4.1 gdb.printing
+.....................
+
+This module provides a collection of utilities for working with
+pretty-printers.
+
+`PrettyPrinter (NAME, SUBPRINTERS=None)'
+ This class specifies the API that makes `info pretty-printer',
+ `enable pretty-printer' and `disable pretty-printer' work.
+ Pretty-printers should generally inherit from this class.
+
+`SubPrettyPrinter (NAME)'
+ For printers that handle multiple types, this class specifies the
+ corresponding API for the subprinters.
+
+`RegexpCollectionPrettyPrinter (NAME)'
+ Utility class for handling multiple printers, all recognized via
+ regular expressions. *Note Writing a Pretty-Printer::, for an
+ example.
+
+`register_pretty_printer (OBJ, PRINTER, REPLACE=False)'
+ Register PRINTER with the pretty-printer list of OBJ. If REPLACE
+ is `True' then any existing copy of the printer is replaced.
+ Otherwise a `RuntimeError' exception is raised if a printer with
+ the same name already exists.
+
+
+File: gdb.info, Node: gdb.types, Prev: gdb.printing, Up: Python modules
+
+23.2.4.2 gdb.types
+..................
+
+This module provides a collection of utilities for working with
+`gdb.Types' objects.
+
+`get_basic_type (TYPE)'
+ Return TYPE with const and volatile qualifiers stripped, and with
+ typedefs and C++ references converted to the underlying type.
+
+ C++ example:
+
+ typedef const int const_int;
+ const_int foo (3);
+ const_int& foo_ref (foo);
+ int main () { return 0; }
+
+ Then in gdb:
+
+ (gdb) start
+ (gdb) python import gdb.types
+ (gdb) python foo_ref = gdb.parse_and_eval("foo_ref")
+ (gdb) python print gdb.types.get_basic_type(foo_ref.type)
+ int
+
+`has_field (TYPE, FIELD)'
+ Return `True' if TYPE, assumed to be a type with fields (e.g., a
+ structure or union), has field FIELD.
+
+`make_enum_dict (ENUM_TYPE)'
+ Return a Python `dictionary' type produced from ENUM_TYPE.
+
+
File: gdb.info, Node: Interpreters, Next: TUI, Prev: Extending GDB, Up: Top
24 Command Interpreters
@@ -18079,6 +20688,12 @@ commands are always available, even when GDB is not in the TUI mode.
When GDB is in the standard mode, most of these commands will
automatically switch to the TUI mode.
+ Note that if GDB's `stdout' is not connected to a terminal, or GDB
+has been started with the machine interface interpreter (*note The
+GDB/MI Interface: GDB/MI.), most of these commands will fail with an
+error, because it would not be possible or desirable to enable curses
+window management.
+
`info win'
List and give the size of all displayed windows.
@@ -18572,6 +21187,11 @@ list of available top-level thread groups can be obtained using
`-list-thread-groups --available'. In general, the content of a thread
group may be only retrieved only after attaching to that thread group.
+ Thread groups are related to inferiors (*note Inferiors and
+Programs::). Each inferior corresponds to a thread group of a special
+type `process', and some additional operations are permitted on such
+thread groups.
+

File: gdb.info, Node: GDB/MI Command Syntax, Next: GDB/MI Compatibility with CLI, Prev: GDB/MI General Design, Up: GDB/MI
@@ -18832,6 +21452,7 @@ File: gdb.info, Node: GDB/MI Output Records, Next: GDB/MI Simple Examples, Pr
* GDB/MI Async Records::
* GDB/MI Frame Information::
* GDB/MI Thread Information::
+* GDB/MI Ada Exception Information::

File: gdb.info, Node: GDB/MI Result Records, Next: GDB/MI Stream Records, Up: GDB/MI Output Records
@@ -18974,11 +21595,27 @@ activity (e.g., target stopped).
which the stop event has happened. This field may be absent if
such information is not available.
-`=thread-group-created,id="ID"'
-`=thread-group-exited,id="ID"'
- A thread thread group either was attached to, or has
- exited/detached from. The ID field contains the GDB identifier of
- the thread group.
+`=thread-group-added,id="ID"'
+`=thread-group-removed,id="ID"'
+ A thread group was either added or removed. The ID field contains
+ the GDB identifier of the thread group. When a thread group is
+ added, it generally might not be associated with a running
+ process. When a thread group is removed, its id becomes invalid
+ and cannot be used in any way.
+
+`=thread-group-started,id="ID",pid="PID"'
+ A thread group became associated with a running program, either
+ because the program was just started or the thread group was
+ attached to a program. The ID field contains the GDB identifier
+ of the thread group. The PID field contains process identifier,
+ specific to the operating system.
+
+`=thread-group-exited,id="ID"[,exit-code="CODE"]'
+ A thread group is no longer associated with a running program,
+ either because the program has exited, or because it was detached
+ from. The ID field contains the GDB identifier of the thread
+ group. CODE is the exit code of the inferior; it exists only when
+ the inferior exited with some code.
`=thread-created,id="ID",group-id="GID"'
`=thread-exited,id="ID",group-id="GID"'
@@ -19006,13 +21643,21 @@ activity (e.g., target stopped).
library. For remote debugging case, TARGET-NAME and HOST-NAME
fields give the name of the library file on the target, and on the
host respectively. For native debugging, both those fields have
- the same value. The SYMBOLS-LOADED field reports if the debug
- symbols for this library are loaded.
+ the same value. The SYMBOLS-LOADED field is emitted only for
+ backward compatibility and should not be relied on to convey any
+ useful information. The THREAD-GROUP field, if present, specifies
+ the id of the thread group in whose context the library was
+ loaded. If the field is absent, it means the library was loaded
+ in the context of all present thread groups.
`=library-unloaded,...'
Reports that a library was unloaded by the program. This
notification has 3 fields--ID, TARGET-NAME and HOST-NAME with the
- same meaning as for the `=library-loaded' notification
+ same meaning as for the `=library-loaded' notification. The
+ THREAD-GROUP field, if present, specifies the id of the thread
+ group in whose context the library was unloaded. If the field is
+ absent, it means the library was unloaded in the context of all
+ present thread groups.

@@ -19050,7 +21695,7 @@ frame. This information is a tuple that may have the following fields:

-File: gdb.info, Node: GDB/MI Thread Information, Prev: GDB/MI Frame Information, Up: GDB/MI Output Records
+File: gdb.info, Node: GDB/MI Thread Information, Next: GDB/MI Ada Exception Information, Prev: GDB/MI Frame Information, Up: GDB/MI Output Records
27.5.5 GDB/MI Thread Information
--------------------------------
@@ -19080,6 +21725,17 @@ tuple with the following fields:
the thread was last seen on. This field is optional.

+File: gdb.info, Node: GDB/MI Ada Exception Information, Prev: GDB/MI Thread Information, Up: GDB/MI Output Records
+
+27.5.6 GDB/MI Ada Exception Information
+---------------------------------------
+
+Whenever a `*stopped' record is emitted because the program stopped
+after hitting an exception catchpoint (*note Set Catchpoints::), GDB
+provides the name of the exception that was raised via the
+`exception-name' field.
+
+
File: gdb.info, Node: GDB/MI Simple Examples, Next: GDB/MI Command Description Format, Prev: GDB/MI Output Records, Up: GDB/MI
27.6 Simple Examples of GDB/MI Interaction
@@ -19447,7 +22103,7 @@ The `-break-insert' Command
Synopsis
........
- -break-insert [ -t ] [ -h ] [ -f ] [ -d ]
+ -break-insert [ -t ] [ -h ] [ -f ] [ -d ] [ -a ]
[ -c CONDITION ] [ -i IGNORE-COUNT ]
[ -p THREAD ] [ LOCATION ]
@@ -19484,6 +22140,10 @@ If specified, LOCATION, can be one of:
`-d'
Create a disabled breakpoint.
+`-a'
+ Create a tracepoint. *Note Tracepoints::. When this parameter is
+ used together with `-h', a fast tracepoint is created.
+
Result
......
@@ -19617,6 +22277,18 @@ Example
body=[]}
(gdb)
+The `-break-passcount' Command
+------------------------------
+
+Synopsis
+........
+
+ -break-passcount TRACEPOINT-NUMBER PASSCOUNT
+
+ Set the passcount for tracepoint TRACEPOINT-NUMBER to PASSCOUNT. If
+the breakpoint referred to by TRACEPOINT-NUMBER is not a tracepoint,
+error is emitted. This corresponds to CLI command `passcount'.
+
The `-break-watch' Command
--------------------------
@@ -19941,30 +22613,70 @@ GDB Command
The `info thread' command prints the same information about all threads.
+Result
+......
+
+The result is a list of threads. The following attributes are defined
+for a given thread:
+
+`current'
+ This field exists only for the current thread. It has the value
+ `*'.
+
+`id'
+ The identifier that GDB uses to refer to the thread.
+
+`target-id'
+ The identifier that the target uses to refer to the thread.
+
+`details'
+ Extra information about the thread, in a target-specific format.
+ This field is optional.
+
+`name'
+ The name of the thread. If the user specified a name using the
+ `thread name' command, then this name is given. Otherwise, if GDB
+ can extract the thread name from the target, then that name is
+ given. If GDB cannot find the thread name, then this field is
+ omitted.
+
+`frame'
+ The stack frame currently executing in the thread.
+
+`state'
+ The thread's state. The `state' field may have the following
+ values:
+
+ `stopped'
+ The thread is stopped. Frame information is available for
+ stopped threads.
+
+ `running'
+ The thread is running. There's no frame information for
+ running threads.
+
+
+`core'
+ If GDB can find the CPU core on which this thread is running, then
+ this field is the core identifier. This field is optional.
+
+
Example
.......
-thread-info
^done,threads=[
{id="2",target-id="Thread 0xb7e14b90 (LWP 21257)",
- frame={level="0",addr="0xffffe410",func="__kernel_vsyscall",args=[]},state="running"},
+ frame={level="0",addr="0xffffe410",func="__kernel_vsyscall",
+ args=[]},state="running"},
{id="1",target-id="Thread 0xb7e156b0 (LWP 21254)",
- frame={level="0",addr="0x0804891f",func="foo",args=[{name="i",value="10"}],
- file="/tmp/a.c",fullname="/tmp/a.c",line="158"},state="running"}],
+ frame={level="0",addr="0x0804891f",func="foo",
+ args=[{name="i",value="10"}],
+ file="/tmp/a.c",fullname="/tmp/a.c",line="158"},
+ state="running"}],
current-thread-id="1"
(gdb)
- The `state' field may have the following values:
-
-`stopped'
- The thread is stopped. Frame information is available for stopped
- threads.
-
-`running'
- The thread is running. There's no frame information for running
- threads.
-
-
The `-thread-list-ids' Command
------------------------------
@@ -20065,10 +22777,10 @@ stop event. Stop events may include
* the end or beginning of a replay log if one is being used.
In all-stop mode (*note All-Stop Mode::), may resume only one
thread, or all threads, depending on the value of the
-`scheduler-locking' variable. If `--all' is specified, all threads
-will be resumed. The `--all' option is ignored in all-stop mode. If
-the `--thread-group' options is specified, then all threads in that
-thread group are resumed.
+`scheduler-locking' variable. If `--all' is specified, all threads (in
+all inferiors) will be resumed. The `--all' option is ignored in
+all-stop mode. If the `--thread-group' options is specified, then all
+threads in that thread group are resumed.
GDB Command
...........
@@ -20150,9 +22862,9 @@ asynchronous just like other execution commands. That is, first the
after that using the `*stopped' notification.
In non-stop mode, only the context thread is interrupted by default.
-All threads will be interrupted if the `--all' option is specified. If
-the `--thread-group' option is specified, all threads in that group
-will be interrupted.
+All threads (in all inferiors) will be interrupted if the `--all'
+option is specified. If the `--thread-group' option is specified, all
+threads in that group will be interrupted.
GDB Command
...........
@@ -20320,13 +23032,18 @@ The `-exec-run' Command
Synopsis
........
- -exec-run
+ -exec-run [--all | --thread-group N]
Starts execution of the inferior from the beginning. The inferior
executes until either a breakpoint is encountered or the program exits.
In the latter case the output will include an exit code, if the program
has exited exceptionally.
+ When no option is specified, the current inferior is started. If the
+`--thread-group' option is specified, it should refer to a thread group
+of type `process', and that thread group will be started. If the
+`--all' option is specified, then all inferiors will be started.
+
GDB Command
...........
@@ -20670,9 +23387,16 @@ the following info:
`FILE'
File name of the source file where the function lives.
+`FULLNAME'
+ The full file name of the source file where the function lives.
+
`LINE'
Line number corresponding to the `$pc'.
+`FROM'
+ The shared library where this function is defined. This is only
+ given if the frame's function is not known.
+
If invoked without arguments, this command prints a backtrace for the
whole stack. If given two integer arguments, it shows the frames whose
levels are between the two arguments (inclusive). If the two arguments
@@ -21043,7 +23767,7 @@ are:
`displayhint'
A dynamic varobj can supply a display hint to the front end. The
value comes directly from the Python pretty-printer object's
- `display_hint' method. *Note Pretty Printing::.
+ `display_hint' method. *Note Pretty Printing API::.
Typical output will look like this:
@@ -21124,9 +23848,9 @@ Synopsis
-var-list-children [PRINT-VALUES] NAME [FROM TO]
Return a list of the children of the specified variable object and
create variable objects for them, if they do not already exist. With a
-single argument or if PRINT-VALUES has a value for of 0 or
-`--no-values', print only the names of the variables; if PRINT-VALUES
-is 1 or `--all-values', also print their values; and if it is 2 or
+single argument or if PRINT-VALUES has a value of 0 or `--no-values',
+print only the names of the variables; if PRINT-VALUES is 1 or
+`--all-values', also print their values; and if it is 2 or
`--simple-values' print the name and value for simple data types and
just the name for arrays, structures and unions.
@@ -21190,7 +23914,7 @@ FROZEN
`displayhint'
A dynamic varobj can supply a display hint to the front end. The
value comes directly from the Python pretty-printer object's
- `display_hint' method. *Note Pretty Printing::.
+ `display_hint' method. *Note Pretty Printing API::.
`has_more'
This is an integer attribute which is nonzero if there are children
@@ -21510,7 +24234,7 @@ argument. GDB will call this object with the value of the varobj NAME
as an argument (this is done so that the same Python pretty-printing
code can be used for both the CLI and MI). When called, this object
must return an object which conforms to the pretty-printing interface
-(*note Pretty Printing::).
+(*note Pretty Printing API::).
The pre-defined function `gdb.default_visualizer' may be used to
select a visualizer by following the built-in process (*note Selecting
@@ -21587,8 +24311,9 @@ Where:
END-ADDR, only the lines up to END-ADDR are displayed.
`MODE'
- is either 0 (meaning only disassembly) or 1 (meaning mixed source
- and disassembly).
+ is either 0 (meaning only disassembly), 1 (meaning mixed source and
+ disassembly), 2 (meaning disassembly with raw opcodes), or 3
+ (meaning mixed source and disassembly with raw opcodes).
Result
......
@@ -21887,6 +24612,8 @@ don't appear in the actual output):
The `-data-read-memory' Command
-------------------------------
+This command is deprecated, use `-data-read-memory-bytes' instead.
+
Synopsis
........
@@ -21989,13 +24716,370 @@ the non-printable character.
{addr="0x000013bc",data=["0x2c","0x2d","0x2e","0x2f"],ascii=",-./"}]
(gdb)
+The `-data-read-memory-bytes' Command
+-------------------------------------
+
+Synopsis
+........
+
+ -data-read-memory-bytes [ -o BYTE-OFFSET ]
+ ADDRESS COUNT
+
+where:
+
+`ADDRESS'
+ An expression specifying the address of the first memory word to be
+ read. Complex expressions containing embedded white space should
+ be quoted using the C convention.
+
+`COUNT'
+ The number of bytes to read. This should be an integer literal.
+
+`BYTE-OFFSET'
+ The offsets in bytes relative to ADDRESS at which to start
+ reading. This should be an integer literal. This option is
+ provided so that a frontend is not required to first evaluate
+ address and then perform address arithmetics itself.
+
+
+ This command attempts to read all accessible memory regions in the
+specified range. First, all regions marked as unreadable in the memory
+map (if one is defined) will be skipped. *Note Memory Region
+Attributes::. Second, GDB will attempt to read the remaining regions.
+For each one, if reading full region results in an errors, GDB will try
+to read a subset of the region.
+
+ In general, every single byte in the region may be readable or not,
+and the only way to read every readable byte is to try a read at every
+address, which is not practical. Therefore, GDB will attempt to read
+all accessible bytes at either beginning or the end of the region,
+using a binary division scheme. This heuristic works well for reading
+accross a memory map boundary. Note that if a region has a readable
+range that is neither at the beginning or the end, GDB will not read it.
+
+ The result record (*note GDB/MI Result Records::) that is output of
+the command includes a field named `memory' whose content is a list of
+tuples. Each tuple represent a successfully read memory block and has
+the following fields:
+
+`begin'
+ The start address of the memory block, as hexadecimal literal.
+
+`end'
+ The end address of the memory block, as hexadecimal literal.
+
+`offset'
+ The offset of the memory block, as hexadecimal literal, relative to
+ the start address passed to `-data-read-memory-bytes'.
+
+`contents'
+ The contents of the memory block, in hex.
+
+
+GDB Command
+...........
+
+The corresponding GDB command is `x'.
+
+Example
+.......
+
+ (gdb)
+ -data-read-memory-bytes &a 10
+ ^done,memory=[{begin="0xbffff154",offset="0x00000000",
+ end="0xbffff15e",
+ contents="01000000020000000300"}]
+ (gdb)
+
+The `-data-write-memory-bytes' Command
+--------------------------------------
+
+Synopsis
+........
+
+ -data-write-memory-bytes ADDRESS CONTENTS
+
+where:
+
+`ADDRESS'
+ An expression specifying the address of the first memory word to be
+ read. Complex expressions containing embedded white space should
+ be quoted using the C convention.
+
+`CONTENTS'
+ The hex-encoded bytes to write.
+
+
+GDB Command
+...........
+
+There's no corresponding GDB command.
+
+Example
+.......
+
+ (gdb)
+ -data-write-memory-bytes &a "aabbccdd"
+ ^done
+ (gdb)
+

File: gdb.info, Node: GDB/MI Tracepoint Commands, Next: GDB/MI Symbol Query, Prev: GDB/MI Data Manipulation, Up: GDB/MI
27.15 GDB/MI Tracepoint Commands
================================
-The tracepoint commands are not yet implemented.
+The commands defined in this section implement MI support for
+tracepoints. For detailed introduction, see *note Tracepoints::.
+
+The `-trace-find' Command
+-------------------------
+
+Synopsis
+........
+
+ -trace-find MODE [PARAMETERS...]
+
+ Find a trace frame using criteria defined by MODE and PARAMETERS.
+The following table lists permissible modes and their parameters. For
+details of operation, see *note tfind::.
+
+`none'
+ No parameters are required. Stops examining trace frames.
+
+`frame-number'
+ An integer is required as parameter. Selects tracepoint frame with
+ that index.
+
+`tracepoint-number'
+ An integer is required as parameter. Finds next trace frame that
+ corresponds to tracepoint with the specified number.
+
+`pc'
+ An address is required as parameter. Finds next trace frame that
+ corresponds to any tracepoint at the specified address.
+
+`pc-inside-range'
+ Two addresses are required as parameters. Finds next trace frame
+ that corresponds to a tracepoint at an address inside the
+ specified range. Both bounds are considered to be inside the
+ range.
+
+`pc-outside-range'
+ Two addresses are required as parameters. Finds next trace frame
+ that corresponds to a tracepoint at an address outside the
+ specified range. Both bounds are considered to be inside the
+ range.
+
+`line'
+ Line specification is required as parameter. *Note Specify
+ Location::. Finds next trace frame that corresponds to a
+ tracepoint at the specified location.
+
+
+ If `none' was passed as MODE, the response does not have fields.
+Otherwise, the response may have the following fields:
+
+`found'
+ This field has either `0' or `1' as the value, depending on
+ whether a matching tracepoint was found.
+
+`traceframe'
+ The index of the found traceframe. This field is present iff the
+ `found' field has value of `1'.
+
+`tracepoint'
+ The index of the found tracepoint. This field is present iff the
+ `found' field has value of `1'.
+
+`frame'
+ The information about the frame corresponding to the found trace
+ frame. This field is present only if a trace frame was found.
+ *Note GDB/MI Frame Information::, for description of this field.
+
+
+GDB Command
+...........
+
+The corresponding GDB command is `tfind'.
+
+-trace-define-variable
+----------------------
+
+Synopsis
+........
+
+ -trace-define-variable NAME [ VALUE ]
+
+ Create trace variable NAME if it does not exist. If VALUE is
+specified, sets the initial value of the specified trace variable to
+that value. Note that the NAME should start with the `$' character.
+
+GDB Command
+...........
+
+The corresponding GDB command is `tvariable'.
+
+-trace-list-variables
+---------------------
+
+Synopsis
+........
+
+ -trace-list-variables
+
+ Return a table of all defined trace variables. Each element of the
+table has the following fields:
+
+`name'
+ The name of the trace variable. This field is always present.
+
+`initial'
+ The initial value. This is a 64-bit signed integer. This field
+ is always present.
+
+`current'
+ The value the trace variable has at the moment. This is a 64-bit
+ signed integer. This field is absent iff current value is not
+ defined, for example if the trace was never run, or is presently
+ running.
+
+
+GDB Command
+...........
+
+The corresponding GDB command is `tvariables'.
+
+Example
+.......
+
+ (gdb)
+ -trace-list-variables
+ ^done,trace-variables={nr_rows="1",nr_cols="3",
+ hdr=[{width="15",alignment="-1",col_name="name",colhdr="Name"},
+ {width="11",alignment="-1",col_name="initial",colhdr="Initial"},
+ {width="11",alignment="-1",col_name="current",colhdr="Current"}],
+ body=[variable={name="$trace_timestamp",initial="0"}
+ variable={name="$foo",initial="10",current="15"}]}
+ (gdb)
+
+-trace-save
+-----------
+
+Synopsis
+........
+
+ -trace-save [-r ] FILENAME
+
+ Saves the collected trace data to FILENAME. Without the `-r'
+option, the data is downloaded from the target and saved in a local
+file. With the `-r' option the target is asked to perform the save.
+
+GDB Command
+...........
+
+The corresponding GDB command is `tsave'.
+
+-trace-start
+------------
+
+Synopsis
+........
+
+ -trace-start
+
+ Starts a tracing experiments. The result of this command does not
+have any fields.
+
+GDB Command
+...........
+
+The corresponding GDB command is `tstart'.
+
+-trace-status
+-------------
+
+Synopsis
+........
+
+ -trace-status
+
+ Obtains the status of a tracing experiment. The result may include
+the following fields:
+
+`supported'
+ May have a value of either `0', when no tracing operations are
+ supported, `1', when all tracing operations are supported, or
+ `file' when examining trace file. In the latter case, examining
+ of trace frame is possible but new tracing experiement cannot be
+ started. This field is always present.
+
+`running'
+ May have a value of either `0' or `1' depending on whether tracing
+ experiement is in progress on target. This field is present if
+ `supported' field is not `0'.
+
+`stop-reason'
+ Report the reason why the tracing was stopped last time. This
+ field may be absent iff tracing was never stopped on target yet.
+ The value of `request' means the tracing was stopped as result of
+ the `-trace-stop' command. The value of `overflow' means the
+ tracing buffer is full. The value of `disconnection' means
+ tracing was automatically stopped when GDB has disconnected. The
+ value of `passcount' means tracing was stopped when a tracepoint
+ was passed a maximal number of times for that tracepoint. This
+ field is present if `supported' field is not `0'.
+
+`stopping-tracepoint'
+ The number of tracepoint whose passcount as exceeded. This field
+ is present iff the `stop-reason' field has the value of
+ `passcount'.
+
+`frames'
+`frames-created'
+ The `frames' field is a count of the total number of trace frames
+ in the trace buffer, while `frames-created' is the total created
+ during the run, including ones that were discarded, such as when a
+ circular trace buffer filled up. Both fields are optional.
+
+`buffer-size'
+`buffer-free'
+ These fields tell the current size of the tracing buffer and the
+ remaining space. These fields are optional.
+
+`circular'
+ The value of the circular trace buffer flag. `1' means that the
+ trace buffer is circular and old trace frames will be discarded if
+ necessary to make room, `0' means that the trace buffer is linear
+ and may fill up.
+
+`disconnected'
+ The value of the disconnected tracing flag. `1' means that
+ tracing will continue after GDB disconnects, `0' means that the
+ trace run will stop.
+
+
+GDB Command
+...........
+
+The corresponding GDB command is `tstatus'.
+
+-trace-stop
+-----------
+
+Synopsis
+........
+
+ -trace-stop
+
+ Stops a tracing experiment. The result of this command has the same
+fields as `-trace-status', except that the `supported' and `running'
+fields are not output.
+
+GDB Command
+...........
+
+The corresponding GDB command is `tstop'.

File: gdb.info, Node: GDB/MI Symbol Query, Next: GDB/MI File Commands, Prev: GDB/MI Tracepoint Commands, Up: GDB/MI
@@ -22627,6 +25711,10 @@ given below.
`thread-info'
Indicates presence of the `-thread-info' command.
+`data-read-memory-bytes'
+ Indicates presense of the `-data-read-memory-bytes' and the
+ `-data-write-memory-bytes' commands.
+
The `-list-target-features' Command
-----------------------------------
@@ -22649,6 +25737,10 @@ should obtain it again. Example output:
execution, which means that GDB will accept further commands while
the target is running.
+`reverse'
+ Indicates that the target is capable of reverse execution. *Note
+ Reverse Execution::, for more information.
+
The `-list-thread-groups' Command
---------------------------------
@@ -22704,6 +25796,8 @@ the following fields:
`id'
Identifier of the thread group. This field is always present.
+ The identifier is an opaque string; frontends should not try to
+ convert it to an integer, even though it might look like one.
`type'
The type of the thread group. At present, only `process' is a
@@ -22711,7 +25805,7 @@ the following fields:
`pid'
The target-specific process identifier. This field is only present
- for thread groups of type `process'.
+ for thread groups of type `process' and only if the process exists.
`num_children'
The number of children this thread group has. This field may be
@@ -22727,6 +25821,11 @@ the following fields:
thread of the group is running on. This field may be absent if
such information is not available.
+`executable'
+ The name of the executable file that corresponds to this thread
+ group. The field is only present for thread groups of type
+ `process', and only if there is a corresponding executable file.
+
Example
-------
@@ -22751,6 +25850,28 @@ Example
threads=[{id="1",target-id="Thread 0xb7e14b90",cores=[1]},
{id="2",target-id="Thread 0xb7e14b90",cores=[2]}]},...]
+The `-add-inferior' Command
+---------------------------
+
+Synopsis
+--------
+
+ -add-inferior
+
+ Creates a new inferior (*note Inferiors and Programs::). The created
+inferior is not associated with any executable. Such association may
+be established with the `-file-exec-and-symbols' command (*note GDB/MI
+File Commands::). The command response has a single field,
+`thread-group', whose value is the identifier of the thread group
+corresponding to the new inferior.
+
+Example
+-------
+
+ gdb
+ -add-inferior
+ ^done,thread-group="i3"
+
The `-interpreter-exec' Command
-------------------------------
@@ -24714,7 +27835,7 @@ the standard `vi' movement keys, move to previous history lines with
`k' and subsequent lines with `j', and so forth.

-File: gdb.info, Node: Using History Interactively, Next: Formatting Documentation, Prev: Command Line Editing, Up: Top
+File: gdb.info, Node: Using History Interactively, Next: In Memoriam, Prev: Command Line Editing, Up: Top
32 Using History Interactively
******************************
@@ -24906,9 +28027,32 @@ more of the following modifiers, each preceded by a `:'.

-File: gdb.info, Node: Formatting Documentation, Next: Installing GDB, Prev: Using History Interactively, Up: Top
+File: gdb.info, Node: In Memoriam, Next: Formatting Documentation, Prev: Using History Interactively, Up: Top
+
+Appendix A In Memoriam
+**********************
+
+The GDB project mourns the loss of the following long-time contributors:
+
+`Fred Fish'
+ Fred was a long-standing contributor to GDB (1991-2006), and to
+ Free Software in general. Outside of GDB, he was known in the
+ Amiga world for his series of Fish Disks, and the GeekGadget
+ project.
+
+`Michael Snyder'
+ Michael was one of the Global Maintainers of the GDB project, with
+ contributions recorded as early as 1996, until 2011. In addition
+ to his day to day participation, he was a large driving force
+ behind adding Reverse Debugging to GDB.
+
+ Beyond their technical contributions to the project, they were also
+enjoyable members of the Free Software Community. We will miss them.
+
+
+File: gdb.info, Node: Formatting Documentation, Next: Installing GDB, Prev: In Memoriam, Up: Top
-Appendix A Formatting Documentation
+Appendix B Formatting Documentation
***********************************
The GDB 4 release includes an already-formatted reference card, ready
@@ -24936,7 +28080,7 @@ and TeX (or `texi2roff') to typeset the printed version.
GDB includes an already formatted copy of the on-line Info version
of this manual in the `gdb' subdirectory. The main Info file is
-`gdb-7.1-android-gg2/gdb/gdb.info', and it refers to subordinate files
+`gdb-7.3.1-gg2/gdb/gdb.info', and it refers to subordinate files
matching `gdb.info*' in the same directory. If necessary, you can
print out these files, or read them with any editor; but they are
easier to read using the `info' subsystem in GNU Emacs or the
@@ -24947,8 +28091,8 @@ distribution.
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
If you have `makeinfo' installed, and are in the top level GDB
-source directory (`gdb-7.1-android-gg2', in the case of version
-7.1-android-gg2), you can make the Info file by typing:
+source directory (`gdb-7.3.1-gg2', in the case of version 7.3.1-gg2),
+you can make the Info file by typing:
cd gdb
make gdb.info
@@ -24973,8 +28117,7 @@ format. On its own, TeX cannot either read or typeset a Texinfo file.
If you have TeX and a DVI printer program installed, you can typeset
and print this manual. First switch to the `gdb' subdirectory of the
-main source directory (for example, to `gdb-7.1-android-gg2/gdb') and
-type:
+main source directory (for example, to `gdb-7.3.1-gg2/gdb') and type:
make gdb.dvi
@@ -24982,13 +28125,13 @@ type:
---------- Footnotes ----------
- (1) In `gdb-7.1-android-gg2/gdb/refcard.ps' of the version
-7.1-android-gg2 release.
+ (1) In `gdb-7.3.1-gg2/gdb/refcard.ps' of the version 7.3.1-gg2
+release.

File: gdb.info, Node: Installing GDB, Next: Maintenance Commands, Prev: Formatting Documentation, Up: Top
-Appendix B Installing GDB
+Appendix C Installing GDB
*************************
* Menu:
@@ -25003,7 +28146,7 @@ Appendix B Installing GDB

File: gdb.info, Node: Requirements, Next: Running Configure, Up: Installing GDB
-B.1 Requirements for Building GDB
+C.1 Requirements for Building GDB
=================================
Building GDB requires various tools and packages to be available.
@@ -25038,6 +28181,8 @@ Expat
* MS-Windows shared libraries (*note Shared Libraries::)
+ * Traceframe info (*note Traceframe Info Format::)
+
zlib
GDB will use the `zlib' library, if available, to read compressed
debug sections. Some linkers, such as GNU gold, are capable of
@@ -25055,7 +28200,12 @@ iconv
system, then this is provided by the GNU C Library. Some other
systems also provide a working `iconv'.
- On systems with `iconv', you can install GNU Libiconv. If you
+ If GDB is using the `iconv' program which is installed in a
+ non-standard place, you will need to tell GDB where to find it.
+ This is done with `--with-iconv-bin' which specifies the directory
+ that contains the `iconv' program.
+
+ On systems without `iconv', you can install GNU Libiconv. If you
have previously installed Libiconv, you can use the
`--with-libiconv-prefix' option to configure.
@@ -25071,7 +28221,7 @@ iconv

File: gdb.info, Node: Running Configure, Next: Separate Objdir, Prev: Requirements, Up: Installing GDB
-B.2 Invoking the GDB `configure' Script
+C.2 Invoking the GDB `configure' Script
=======================================
GDB comes with a `configure' script that automates the process of
@@ -25082,39 +28232,39 @@ preparing GDB for installation; you can then use `make' to build the
in a single directory, whose name is usually composed by appending the
version number to `gdb'.
- For example, the GDB version 7.1-android-gg2 distribution is in the
-`gdb-7.1-android-gg2' directory. That directory contains:
+ For example, the GDB version 7.3.1-gg2 distribution is in the
+`gdb-7.3.1-gg2' directory. That directory contains:
-`gdb-7.1-android-gg2/configure (and supporting files)'
+`gdb-7.3.1-gg2/configure (and supporting files)'
script for configuring GDB and all its supporting libraries
-`gdb-7.1-android-gg2/gdb'
+`gdb-7.3.1-gg2/gdb'
the source specific to GDB itself
-`gdb-7.1-android-gg2/bfd'
+`gdb-7.3.1-gg2/bfd'
source for the Binary File Descriptor library
-`gdb-7.1-android-gg2/include'
+`gdb-7.3.1-gg2/include'
GNU include files
-`gdb-7.1-android-gg2/libiberty'
+`gdb-7.3.1-gg2/libiberty'
source for the `-liberty' free software library
-`gdb-7.1-android-gg2/opcodes'
+`gdb-7.3.1-gg2/opcodes'
source for the library of opcode tables and disassemblers
-`gdb-7.1-android-gg2/readline'
+`gdb-7.3.1-gg2/readline'
source for the GNU command-line interface
-`gdb-7.1-android-gg2/glob'
+`gdb-7.3.1-gg2/glob'
source for the GNU filename pattern-matching subroutine
-`gdb-7.1-android-gg2/mmalloc'
+`gdb-7.3.1-gg2/mmalloc'
source for the GNU memory-mapped