GDB that can debug Mach-Os on Linux
Go to file
Yao Qi 198cd59d28 Use code cache in arm prologue analyzer
This patch change arm prologue analyzer using code cache, in order
to improve the performance of remote debugging.

gdb.perf/skip-prologue.exp (measured by wall-time) is improved a lot,

			Original	Patched		Original	Patched
			without dbg	without dbg	with dbg	with dbg

-marm			14.166741848	9.32852292061  	11.4908499718  	9.16302204132
-marm   		14.6705040932  	9.34849786758  	18.2788009644  	9.14823913574
\-fstack-protector-all
-mthumb			34.4391930103	10.6062178612 	13.7886838913	10.3094120026
-mthumb
\-fstack-protector-all	34.9310460091	10.6413481236	25.3875930309	10.6294929981

gdb:

2016-12-09  Yao Qi  <yao.qi@linaro.org>

	* arm-tdep.c (skip_prologue_function): Call
	read_code_unsigned_integer instead of
	read_memory_unsigned_integer.
	(thumb_analyze_prologue): Likewise.
	(arm_analyze_load_stack_chk_guard): Likewise.
	(arm_skip_stack_protector): Likewise.
	(arm_analyze_prologue):Likewise.
	(extend_buffer_earlier): Call target_read_code instead
	of target_read_memory.
	(arm_adjust_breakpoint_address): Likewise.
2016-12-09 09:51:20 +00:00
bfd Automatic date update in version.in 2016-12-09 00:00:25 +00:00
binutils MIPS16/opcodes: Fix PC-relative operation delay-slot adjustment 2016-12-08 23:30:57 +00:00
config sync binutils config/ with gcc 2016-12-08 21:35:11 +10:30
cpu Add fall through comment to source in cpu/ 2016-10-06 22:48:37 +10:30
elfcpp Add support for MIPS .rld_map section. 2016-06-20 12:16:26 -07:00
etc Fix compile time warning messages building with gcc v6.1.1 2016-06-13 10:49:26 +01:00
gas ARC/GAS: Correct a `spaces' global shadowing error 2016-12-08 23:24:05 +00:00
gdb Use code cache in arm prologue analyzer 2016-12-09 09:51:20 +00:00
gold [GOLD] Don't assert in powerpc stub_table 2016-12-08 22:18:47 +10:30
gprof Fix spelling in comments in C source files (gprof) 2016-11-27 15:04:01 +10:30
include MIPS/include: opcode/mips.h: Correct INSN_CHIP_MASK 2016-12-07 12:31:38 +00:00
intl Regen intl/configure 2015-08-31 12:53:36 +09:30
ld sync binutils config/ with gcc 2016-12-08 21:35:11 +10:30
libdecnumber Remove leading/trailing white spaces in ChangeLog 2015-07-24 04:16:47 -07:00
libiberty sync binutils config/ with gcc 2016-12-08 21:35:11 +10:30
opcodes MIPS16/opcodes: Fix off-by-one indentation in `print_mips16_insn_arg' 2016-12-08 23:32:29 +00:00
readline Improve MinGW support in Readline 2016-09-17 11:50:37 +03:00
sim Fix bugs with tbnz/tbz instructions. 2016-12-03 17:29:44 -08:00
texinfo
zlib sync binutils config/ with gcc 2016-12-08 21:35:11 +10:30
.cvsignore
.gitattributes Add a .gitattributes file for use with git-merge-changelog 2014-07-25 18:07:23 -04:00
.gitignore Add archives and make stamps to the .gitignore file. 2016-09-27 15:10:42 +01:00
ChangeLog sync binutils config/ with gcc 2016-12-08 21:35:11 +10:30
compile Update from upstream Automake 2014-11-16 13:43:48 +01:00
config-ml.in Sync toplevel files with GCC 2015-07-27 07:49:05 -07:00
config.guess Sync config.sub,config.guess with upstream. 2016-11-07 13:08:55 -08:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 21:00:14 +00:00
config.sub Sync config.sub,config.guess with upstream. 2016-11-07 13:08:55 -08:00
configure sync binutils config/ with gcc 2016-12-08 21:35:11 +10:30
configure.ac Add support for Fushia OS. 2016-12-02 10:44:29 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS 2013-01-07 Jeff Johnston <jjohnstn@redhat.com> 2013-01-07 21:39:26 +00:00
COPYING.NEWLIB 2013-10-01 Jeff Johnston <jjohnstn@redhat.com> 2013-10-01 18:14:04 +00:00
depcomp Update from upstream Automake 2014-11-16 13:43:48 +01:00
djunpack.bat
install-sh Update from upstream Automake 2014-11-16 13:43:48 +01:00
libtool.m4 Sync top-level btool.m4 with GCC 2016-01-12 08:44:52 -08:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh PR target/59788 2014-02-06 11:01:57 +01:00
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Update description of ownership of files in include/ 2014-11-04 16:14:14 -08:00
Makefile.def Sync top-level Makefile.def with GCC 2016-01-12 08:34:40 -08:00
Makefile.in Add dependencies to configure rule 2016-05-28 22:36:04 +09:30
Makefile.tpl Add dependencies to configure rule 2016-05-28 22:36:04 +09:30
makefile.vms
missing Update from upstream Automake 2014-11-16 13:43:48 +01:00
mkdep
mkinstalldirs Update from upstream Automake 2014-11-16 13:43:48 +01:00
move-if-change Update `move-if-change' from gnulib 2014-11-16 17:04:02 +01:00
README
README-maintainer-mode
setup.com
src-release.sh fix gdb version parsing in src-release.sh 2016-01-17 10:01:55 +04:00
symlink-tree
ylwrap Update from upstream Automake 2014-11-16 13:43:48 +01:00

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.