diff options
author | Nick Clifton <nickc@redhat.com> | 2023-08-02 09:23:36 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2023-08-02 09:23:36 +0100 |
commit | 675b9d612cc59446e84e2c6d89b45500cb603a8d (patch) | |
tree | ad4ae6b4b1f1f81aceb945f15c5c12ea2b379689 /gprof | |
parent | gprofng: Fix build with 64bit file offset on 32bit machines (diff) | |
download | binutils-gdb-675b9d612cc59446e84e2c6d89b45500cb603a8d.tar.gz binutils-gdb-675b9d612cc59446e84e2c6d89b45500cb603a8d.tar.bz2 binutils-gdb-675b9d612cc59446e84e2c6d89b45500cb603a8d.zip |
2.41 Release sourcesbinutils-2_41-release
Diffstat (limited to 'gprof')
-rw-r--r-- | gprof/ChangeLog | 5 | ||||
-rw-r--r-- | gprof/aarch64.c | 3 | ||||
-rw-r--r-- | gprof/alpha.c | 4 | ||||
-rw-r--r-- | gprof/cg_arcs.c | 7 | ||||
-rwxr-xr-x | gprof/configure | 20 | ||||
-rw-r--r-- | gprof/i386.c | 3 | ||||
-rw-r--r-- | gprof/mips.c | 2 | ||||
-rw-r--r-- | gprof/po/es.po | 84 | ||||
-rw-r--r-- | gprof/po/gprof.pot | 9 | ||||
-rw-r--r-- | gprof/sparc.c | 4 | ||||
-rw-r--r-- | gprof/vax.c | 24 |
11 files changed, 71 insertions, 94 deletions
diff --git a/gprof/ChangeLog b/gprof/ChangeLog index a57b89ca009..5500fd1e233 100644 --- a/gprof/ChangeLog +++ b/gprof/ChangeLog @@ -1,3 +1,8 @@ +2023-07-30 Nick Clifton <nickc@redhat.com> + + This is the 2.41 release. + * configure: Regenerate. + 2023-07-03 Nick Clifton <nickc@redhat.com> * configure: Regenerate. diff --git a/gprof/aarch64.c b/gprof/aarch64.c index 3ab6067dbac..68febf93723 100644 --- a/gprof/aarch64.c +++ b/gprof/aarch64.c @@ -54,8 +54,7 @@ aarch64_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) DBG (CALLDEBUG, printf ("[find_call] %s: 0x%lx to 0x%lx\n", parent->name, (unsigned long) p_lowpc, (unsigned long) p_highpc)); - p_lowpc = (p_lowpc + 3) & ~3; - p_highpc &= ~3; + for (pc = p_lowpc; pc < p_highpc; pc += 4) { diff --git a/gprof/alpha.c b/gprof/alpha.c index df714be6c81..d84cdf0a916 100644 --- a/gprof/alpha.c +++ b/gprof/alpha.c @@ -107,9 +107,7 @@ alpha_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) DBG (CALLDEBUG, printf (_("[find_call] %s: 0x%lx to 0x%lx\n"), parent->name, (unsigned long) p_lowpc, (unsigned long) p_highpc)); - p_lowpc = (p_lowpc + 3) & ~3; - p_highpc &= ~3; - for (pc = p_lowpc; pc < p_highpc; pc += 4) + for (pc = (p_lowpc + 3) & ~(bfd_vma) 3; pc < p_highpc; pc += 4) { insn = bfd_get_32 (core_bfd, ((unsigned char *) core_text_space + pc - core_text_sect->vma)); diff --git a/gprof/cg_arcs.c b/gprof/cg_arcs.c index cfffb09ff87..e76c2cb78cf 100644 --- a/gprof/cg_arcs.c +++ b/gprof/cg_arcs.c @@ -37,7 +37,6 @@ #include "cg_print.h" #include "utils.h" #include "sym_ids.h" -#include "corefile.h" static int cmp_topo (const void *, const void *); static void propagate_time (Sym *); @@ -623,11 +622,7 @@ cg_assemble (void) parent->cg.cyc.num = 0; parent->cg.cyc.head = parent; parent->cg.cyc.next = 0; - if (ignore_direct_calls - && parent->addr >= core_text_sect->vma - && parent->addr < core_text_sect->vma + core_text_sect->size - && (parent + 1)->addr >= core_text_sect->vma - && (parent + 1)->addr <= core_text_sect->vma + core_text_sect->size) + if (ignore_direct_calls) find_call (parent, parent->addr, (parent + 1)->addr); } diff --git a/gprof/configure b/gprof/configure index 4bf25c33c97..6760f6fc2a8 100755 --- a/gprof/configure +++ b/gprof/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for gprof 2.41.50. +# Generated by GNU Autoconf 2.69 for gprof 2.41. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='gprof' PACKAGE_TARNAME='gprof' -PACKAGE_VERSION='2.41.50' -PACKAGE_STRING='gprof 2.41.50' +PACKAGE_VERSION='2.41' +PACKAGE_STRING='gprof 2.41' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1338,7 +1338,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gprof 2.41.50 to adapt to many kinds of systems. +\`configure' configures gprof 2.41 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1409,7 +1409,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gprof 2.41.50:";; + short | recursive ) echo "Configuration of gprof 2.41:";; esac cat <<\_ACEOF @@ -1520,7 +1520,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gprof configure 2.41.50 +gprof configure 2.41 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1885,7 +1885,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gprof $as_me 2.41.50, which was +It was created by gprof $as_me 2.41, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2864,7 +2864,7 @@ fi # Define the identity of the package. PACKAGE='gprof' - VERSION='2.41.50' + VERSION='2.41' cat >>confdefs.h <<_ACEOF @@ -12572,7 +12572,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gprof $as_me 2.41.50, which was +This file was extended by gprof $as_me 2.41, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -12638,7 +12638,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -gprof config.status 2.41.50 +gprof config.status 2.41 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/gprof/i386.c b/gprof/i386.c index 62f6f96b20a..bdf8bd1b832 100644 --- a/gprof/i386.c +++ b/gprof/i386.c @@ -57,9 +57,6 @@ i386_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) parent->name, (unsigned long) p_lowpc, (unsigned long) p_highpc)); - if (p_highpc < 5) - return; - p_highpc -= 5; for (pc = p_lowpc; pc < p_highpc; ++pc) { instructp = (unsigned char *) core_text_space + pc - core_text_sect->vma; diff --git a/gprof/mips.c b/gprof/mips.c index 0ccd17db525..e198a6f411a 100644 --- a/gprof/mips.c +++ b/gprof/mips.c @@ -59,8 +59,6 @@ mips_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) DBG (CALLDEBUG, printf (_("[find_call] %s: 0x%lx to 0x%lx\n"), parent->name, (unsigned long) p_lowpc, (unsigned long) p_highpc)); - p_lowpc = (p_lowpc + 3) & ~3; - p_highpc &= ~3; for (pc = p_lowpc; pc < p_highpc; pc += 4) { op = bfd_get_32 (core_bfd, ((unsigned char *)core_text_space diff --git a/gprof/po/es.po b/gprof/po/es.po index bce3eac55b5..fa3f5e6e1dd 100644 --- a/gprof/po/es.po +++ b/gprof/po/es.po @@ -2,14 +2,14 @@ # Copyright (C) 2002 - 2020 Free Software Foundation, Inc. # This file is distributed under the same license as the binutils package. # Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. -# Antonio Ceballos Roa <aceballos@gmail.com>, 2020, 2023 +# Antonio Ceballos Roa <aceballos@gmail.com>, 2020 # msgid "" msgstr "" -"Project-Id-Version: gprof 2.39.90\n" -"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n" -"POT-Creation-Date: 2022-12-31 12:22+0000\n" -"PO-Revision-Date: 2023-07-30 18:19+0200\n" +"Project-Id-Version: gprof 2.33.90\n" +"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" +"POT-Creation-Date: 2020-01-18 14:04+0000\n" +"PO-Revision-Date: 2020-05-15 09:01+0200\n" "Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n" "Language-Team: Spanish <es@tp.org.es>\n" "Language: es\n" @@ -240,7 +240,7 @@ msgstr "<ciclo %d>" msgid "%s: unable to parse mapping file %s.\n" msgstr "%s: no se puede analizar el fichero de asociaciones %s.\n" -#: corefile.c:89 corefile.c:524 +#: corefile.c:89 corefile.c:523 #, c-format msgid "%s: could not open %s.\n" msgstr "%s: no se puede abrir %s.\n" @@ -270,107 +270,107 @@ msgstr "%s: no se puede hacer -c\n" msgid "%s: -c not supported on architecture %s\n" msgstr "%s: -c no se admite en la arquitectura %s\n" -#: corefile.c:533 corefile.c:640 +#: corefile.c:532 corefile.c:637 #, c-format msgid "%s: file `%s' has no symbols\n" msgstr "%s: el fichero `%s' no tiene símbolos\n" -#: corefile.c:538 +#: corefile.c:537 #, c-format msgid "%s: file `%s' has too many symbols\n" msgstr "%s: el fichero `%s' tiene demasiados símbolos\n" -#: corefile.c:907 +#: corefile.c:904 #, c-format msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n" msgstr "%s: alguien contó mal: ltab.len=%d en lugar de %ld\n" -#: gmon_io.c:81 +#: gmon_io.c:83 #, c-format msgid "%s: address size has unexpected value of %u\n" msgstr "%s: el tamaño de la dirección tiene un valor inesperado de %u\n" -#: gmon_io.c:298 gmon_io.c:394 +#: gmon_io.c:318 gmon_io.c:414 #, c-format msgid "%s: file too short to be a gmon file\n" msgstr "%s: el fichero es muy corto para ser un fichero gmon\n" -#: gmon_io.c:308 gmon_io.c:437 +#: gmon_io.c:328 gmon_io.c:457 #, c-format msgid "%s: file `%s' has bad magic cookie\n" msgstr "%s: el fichero `%s' tiene un cookie mágico equivocado\n" -#: gmon_io.c:319 +#: gmon_io.c:339 #, c-format msgid "%s: file `%s' has unsupported version %d\n" msgstr "%s: el fichero `%s' tiene la versión %d no admitida\n" -#: gmon_io.c:349 +#: gmon_io.c:369 #, c-format msgid "%s: %s: found bad tag %d (file corrupted?)\n" msgstr "%s: %s: encontrada etiqueta %d equivocada (¿fichero corrupto?)\n" -#: gmon_io.c:416 +#: gmon_io.c:436 #, c-format msgid "%s: profiling rate incompatible with first gmon file\n" msgstr "%s: tipo de perfilado incompatible con el primer fichero gmon\n" -#: gmon_io.c:467 +#: gmon_io.c:487 #, c-format msgid "%s: incompatible with first gmon file\n" msgstr "%s: incompatible con el primer fichero gmon\n" -#: gmon_io.c:497 +#: gmon_io.c:517 #, c-format msgid "%s: file '%s' does not appear to be in gmon.out format\n" msgstr "%s: el fichero '%s' no parece estar en el formato gmon.out\n" -#: gmon_io.c:510 +#: gmon_io.c:530 #, c-format msgid "%s: unexpected EOF after reading %d/%d bins\n" msgstr "%s: EOF inesperado tras leer %d/%d binarios\n" -#: gmon_io.c:542 +#: gmon_io.c:562 #, c-format msgid "time is in ticks, not seconds\n" msgstr "el tiempo está en tics, no en segundos\n" -#: gmon_io.c:548 gmon_io.c:728 +#: gmon_io.c:568 gmon_io.c:748 #, c-format msgid "%s: don't know how to deal with file format %d\n" msgstr "%s: se desconoce cómo tratar el formato de fichero %d\n" -#: gmon_io.c:558 +#: gmon_io.c:578 #, c-format msgid "File `%s' (version %d) contains:\n" msgstr "El fichero `%s' (versión %d) contiene:\n" -#: gmon_io.c:561 +#: gmon_io.c:581 #, c-format msgid "\t%d histogram record\n" msgstr "\t%d registro de histograma\n" -#: gmon_io.c:562 +#: gmon_io.c:582 #, c-format msgid "\t%d histogram records\n" msgstr "\t%d registros de histogramas\n" -#: gmon_io.c:564 +#: gmon_io.c:584 #, c-format msgid "\t%d call-graph record\n" msgstr "\t%d registro de gráfico de llamadas\n" -#: gmon_io.c:565 +#: gmon_io.c:585 #, c-format msgid "\t%d call-graph records\n" msgstr "\t%d registros de gráficos de llamadas\n" -#: gmon_io.c:567 +#: gmon_io.c:587 #, c-format msgid "\t%d basic-block count record\n" msgstr "\t%d registro de cuenta de bloques básicos\n" -#: gmon_io.c:568 +#: gmon_io.c:588 #, c-format msgid "\t%d basic-block count records\n" msgstr "\t%d registros de cuentas de bloques básicos\n" @@ -378,7 +378,7 @@ msgstr "\t%d registros de cuentas de bloques básicos\n" #: gprof.c:162 #, c-format msgid "" -"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ABCeEfFJnNOpPqQRStZ][name]] [-I dirs]\n" +"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][name]] [-I dirs]\n" "\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n" "\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n" "\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n" @@ -392,7 +392,7 @@ msgid "" "\t[--demangle[=STYLE]] [--no-demangle] [--external-symbol-table=name] [@FILE]\n" "\t[image-file] [profile-file...]\n" msgstr "" -"Modo de empleo: %s [-[abcDhilLrsTvwxyz]] [-[ABCeEfFJnNOpPqQRStZ][nombre]] [-I dirs]\n" +"Modo de empleo: %s [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][nombre]] [-I dirs]\n" "\t[-d[num]] [-k origen/destino] [-m cuenta-min] [-t longitud-tabla]\n" "\t[--[no-]annotated-source[=nombre]] [--[no-]exec-counts[=nombre]]\n" "\t[--[no-]flat-profile[=nombre]] [--[no-]graph[=nombre]]\n" @@ -411,53 +411,53 @@ msgstr "" msgid "Report bugs to %s\n" msgstr "Comunicar defectos a %s\n" -#: gprof.c:252 +#: gprof.c:254 #, c-format msgid "%s: debugging not supported; -d ignored\n" msgstr "%s: no se admite la depuración; se descarta -d\n" -#: gprof.c:338 +#: gprof.c:340 #, c-format msgid "%s: unknown file format %s\n" msgstr "%s: formato de fichero %s desconocido\n" #. This output is intended to follow the GNU standards document. -#: gprof.c:426 +#: gprof.c:428 #, c-format msgid "GNU gprof %s\n" msgstr "GNU gprof %s\n" -#: gprof.c:427 +#: gprof.c:429 #, c-format msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n" msgstr "Basado en gprof de BSD, © 1983 Regents of the University of California.\n" -#: gprof.c:428 +#: gprof.c:430 #, c-format msgid "This program is free software. This program has absolutely no warranty.\n" msgstr "Este programa es software libre. Este programa no tiene ninguna garantía en absoluto.\n" -#: gprof.c:469 +#: gprof.c:471 #, c-format msgid "%s: unknown demangling style `%s'\n" msgstr "%s: estilo de desenredo desconocido `%s'\n" -#: gprof.c:492 +#: gprof.c:494 #, c-format msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n" msgstr "%s: Solo puede especificarse una de las opciones --function-ordering y --file-ordering.\n" -#: gprof.c:544 +#: gprof.c:546 #, c-format msgid "%s: sorry, file format `prof' is not yet supported\n" msgstr "%s: disculpe, el formato de fichero `prof' aún no está admitido\n" -#: gprof.c:598 +#: gprof.c:600 #, c-format msgid "%s: gmon.out file is missing histogram\n" msgstr "%s: falta el histograma en el fichero gmon.out\n" -#: gprof.c:605 +#: gprof.c:607 #, c-format msgid "%s: gmon.out file is missing call-graph data\n" msgstr "%s: faltan los datos del gráfico de llamadas en el fichero gmon.out\n" @@ -584,17 +584,17 @@ msgstr "[find_call] 0x%lx: jal" msgid "[find_call] 0x%lx: jalr\n" msgstr "[find_call] 0x%lx: jalr\n" -#: source.c:166 +#: source.c:162 #, c-format msgid "%s: could not locate `%s'\n" msgstr "%s: no se puede encontrar `%s'\n" -#: source.c:244 +#: source.c:237 #, c-format msgid "*** File %s:\n" msgstr "*** Fichero %s:\n" -#: utils.c:105 +#: utils.c:106 #, c-format msgid " <cycle %d>" msgstr " <ciclo %d>" diff --git a/gprof/po/gprof.pot b/gprof/po/gprof.pot index c9f538a419f..c87e9d6a7a4 100644 --- a/gprof/po/gprof.pot +++ b/gprof/po/gprof.pot @@ -8,11 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n" -"POT-Creation-Date: 2022-07-08 11:14+0100\n" +"POT-Creation-Date: 2023-07-03 11:33+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" @@ -246,7 +245,7 @@ msgstr "" msgid "%s: -c not supported on architecture %s\n" msgstr "" -#: corefile.c:533 corefile.c:638 +#: corefile.c:533 corefile.c:640 #, c-format msgid "%s: file `%s' has no symbols\n" msgstr "" @@ -256,7 +255,7 @@ msgstr "" msgid "%s: file `%s' has too many symbols\n" msgstr "" -#: corefile.c:905 +#: corefile.c:907 #, c-format msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n" msgstr "" @@ -354,7 +353,7 @@ msgstr "" #: gprof.c:162 #, c-format msgid "" -"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][name]] [-I dirs]\n" +"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ABCeEfFJnNOpPqQRStZ][name]] [-I dirs]\n" "\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n" "\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n" "\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n" diff --git a/gprof/sparc.c b/gprof/sparc.c index 019e58b185f..44724c47d3f 100644 --- a/gprof/sparc.c +++ b/gprof/sparc.c @@ -51,9 +51,7 @@ sparc_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) DBG (CALLDEBUG, printf ("[find_call] %s: 0x%lx to 0x%lx\n", parent->name, (unsigned long) p_lowpc, (unsigned long) p_highpc)); - p_lowpc = (p_lowpc + 3) & ~3; - p_highpc &= ~3; - for (pc = p_lowpc; pc < p_highpc; pc += 4) + for (pc = (p_lowpc + 3) & ~(bfd_vma) 3; pc < p_highpc; pc += 4) { insn = bfd_get_32 (core_bfd, ((unsigned char *) core_text_space + pc - core_text_sect->vma)); diff --git a/gprof/vax.c b/gprof/vax.c index fafe2b17b53..92942353b48 100644 --- a/gprof/vax.c +++ b/gprof/vax.c @@ -252,8 +252,6 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) (unsigned long) p_highpc)); for (pc = p_lowpc; pc < p_highpc; pc += length) { - unsigned char *operand; - length = 1; instructp = ((unsigned char *) core_text_space + pc - core_text_sect->vma); @@ -265,10 +263,7 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) */ DBG (CALLDEBUG, printf ("[findcall]\t0x%lx:calls", (unsigned long) pc)); - if (pc - core_text_sect->vma + length >= core_text_sect->size) - goto botched; - operand = instructp + length; - firstmode = vax_operandmode (operand); + firstmode = vax_operandmode (instructp + length); switch (firstmode) { case literal: @@ -277,11 +272,8 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) default: goto botched; } - length += vax_operandlength (operand); - if (pc - core_text_sect->vma + length >= core_text_sect->size) - goto botched; - operand = instructp + length; - mode = vax_operandmode (operand); + length += vax_operandlength (instructp + length); + mode = vax_operandmode (instructp + length); DBG (CALLDEBUG, printf ("\tfirst operand is %s", vax_operandname (firstmode)); printf ("\tsecond operand is %s\n", vax_operandname (mode))); @@ -302,10 +294,8 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) * [are there others that we miss?, * e.g. arrays of pointers to functions???] */ - length += vax_operandlength (operand); - if (pc - core_text_sect->vma + length > core_text_sect->size) - goto botched; arc_add (parent, &indirectchild, (unsigned long) 0); + length += vax_operandlength (instructp + length); continue; case byterel: case wordrel: @@ -315,10 +305,7 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) * check that this is the address of * a function. */ - length += vax_operandlength (operand); - if (pc - core_text_sect->vma + length > core_text_sect->size) - goto botched; - destpc = pc + vax_offset (operand); + destpc = pc + vax_offset (instructp + length); if (hist_check_address (destpc)) { child = sym_lookup (&symtab, destpc); @@ -337,6 +324,7 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) * a hit */ arc_add (parent, child, (unsigned long) 0); + length += vax_operandlength (instructp + length); continue; } } |