2004-09-03 02:49:43 +02:00
|
|
|
diff -urN binutils-2.14.90.0.8-dist/bfd/elf64-alpha.c binutils-2.14.90.0.8/bfd/elf64-alpha.c
|
|
|
|
--- binutils-2.14.90.0.8-dist/bfd/elf64-alpha.c 2004-01-14 15:07:43.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/bfd/elf64-alpha.c 2004-02-11 03:42:05.000000000 -0600
|
|
|
|
@@ -4144,9 +4144,12 @@
|
2004-04-20 09:47:29 +02:00
|
|
|
|
2004-09-03 02:49:43 +02:00
|
|
|
loc = srel->contents;
|
|
|
|
loc += srel->reloc_count++ * sizeof (Elf64_External_Rela);
|
|
|
|
- bfd_elf64_swap_reloca_out (abfd, &outrel, loc);
|
|
|
|
- BFD_ASSERT (sizeof (Elf64_External_Rela) * srel->reloc_count
|
|
|
|
- <= srel->_cooked_size);
|
|
|
|
+ if (loc)
|
|
|
|
+ {
|
|
|
|
+ bfd_elf64_swap_reloca_out (abfd, &outrel, loc);
|
|
|
|
+ BFD_ASSERT (sizeof (Elf64_External_Rela) * srel->reloc_count
|
|
|
|
+ <= srel->_cooked_size);
|
|
|
|
+ }
|
|
|
|
}
|
2004-04-20 09:47:29 +02:00
|
|
|
|
2004-09-03 02:49:43 +02:00
|
|
|
/* Relocate an Alpha ELF section for a relocatable link.
|
|
|
|
diff -urN binutils-2.14.90.0.8-dist/bfd/opncls.c binutils-2.14.90.0.8/bfd/opncls.c
|
|
|
|
--- binutils-2.14.90.0.8-dist/bfd/opncls.c 2004-01-14 15:07:43.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/bfd/opncls.c 2004-02-11 03:42:01.000000000 -0600
|
|
|
|
@@ -150,6 +150,13 @@
|
|
|
|
{
|
|
|
|
bfd *nbfd;
|
|
|
|
const bfd_target *target_vec;
|
|
|
|
+ struct stat s;
|
|
|
|
+
|
|
|
|
+ if (stat (filename, &s) == 0)
|
|
|
|
+ if (S_ISDIR(s.st_mode)) {
|
|
|
|
+ bfd_set_error (bfd_error_file_not_recognized);
|
|
|
|
+ return NULL;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
nbfd = _bfd_new_bfd ();
|
|
|
|
if (nbfd == NULL)
|
|
|
|
diff -urN binutils-2.14.90.0.8-dist/gprof/gprof.texi binutils-2.14.90.0.8/gprof/gprof.texi
|
|
|
|
--- binutils-2.14.90.0.8-dist/gprof/gprof.texi 2004-01-14 15:07:51.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/gprof/gprof.texi 2004-02-11 03:42:01.000000000 -0600
|
|
|
|
@@ -138,6 +138,10 @@
|
2004-01-14 11:03:44 +01:00
|
|
|
If more than one profile file is specified, the @code{gprof}
|
|
|
|
output shows the sum of the profile information in the given profile files.
|
|
|
|
|
|
|
|
+If you use gcc 2.95.x or 3.0 to compile your binaries, you may need
|
|
|
|
+to add the @samp{-fprofile-arcs} to the compile command line in order
|
|
|
|
+for the call graphs to be properly stored in gmon.out.
|
|
|
|
+
|
|
|
|
@code{Gprof} calculates the amount of time spent in each routine.
|
|
|
|
Next, these times are propagated along the edges of the call graph.
|
|
|
|
Cycles are discovered, and calls into a cycle are made to share the time
|
2004-09-03 02:49:43 +02:00
|
|
|
@@ -182,7 +186,7 @@
|
|
|
|
@c man end
|
|
|
|
|
|
|
|
@c man begin SEEALSO
|
|
|
|
-monitor(3), profil(2), cc(1), prof(1), and the Info entry for @file{gprof}.
|
|
|
|
+profil(2), cc(1), prof(1), and the Info entry for @file{gprof}.
|
|
|
|
|
|
|
|
``An Execution Profiler for Modular Programs'',
|
|
|
|
by S. Graham, P. Kessler, M. McKusick;
|
|
|
|
@@ -268,6 +272,11 @@
|
2004-01-14 11:03:44 +01:00
|
|
|
options. The same option, @samp{-pg}, alters either compilation or linking
|
|
|
|
to do what is necessary for profiling. Here are examples:
|
2004-09-03 02:49:43 +02:00
|
|
|
|
2004-01-14 11:03:44 +01:00
|
|
|
+If you use gcc 2.95.x or 3.0.x, you may need to add the
|
|
|
|
+@samp{-fprofile-arcs} option to the compile line along with @samp{-pg}
|
|
|
|
+in order to allow the call-graphs to be properly included in the gmon.out
|
|
|
|
+file.
|
2004-09-03 02:49:43 +02:00
|
|
|
+
|
2004-01-14 11:03:44 +01:00
|
|
|
@example
|
|
|
|
cc -g -c myprog.c utils.c -pg
|
2004-09-03 02:49:43 +02:00
|
|
|
cc -o myprog myprog.o utils.o -pg
|
|
|
|
diff -urN binutils-2.14.90.0.8-dist/ld/Makefile.am binutils-2.14.90.0.8/ld/Makefile.am
|
|
|
|
--- binutils-2.14.90.0.8-dist/ld/Makefile.am 2004-01-14 15:07:52.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/ld/Makefile.am 2004-02-11 03:42:01.000000000 -0600
|
|
|
|
@@ -19,7 +19,7 @@
|
|
|
|
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
|
|
|
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
|
|
|
# directives need to be different for native and cross linkers.
|
|
|
|
-scriptdir = $(tooldir)/lib
|
|
|
|
+scriptdir = $(libdir)
|
2004-04-20 09:47:29 +02:00
|
|
|
|
2004-09-03 02:49:43 +02:00
|
|
|
EMUL = @EMUL@
|
|
|
|
EMULATION_OFILES = @EMULATION_OFILES@
|
|
|
|
diff -urN binutils-2.14.90.0.8-dist/ld/Makefile.in binutils-2.14.90.0.8/ld/Makefile.in
|
|
|
|
--- binutils-2.14.90.0.8-dist/ld/Makefile.in 2004-01-14 15:07:52.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/ld/Makefile.in 2004-02-11 03:42:01.000000000 -0600
|
|
|
|
@@ -128,7 +128,7 @@
|
|
|
|
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
|
|
|
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
|
|
|
# directives need to be different for native and cross linkers.
|
|
|
|
-scriptdir = $(tooldir)/lib
|
|
|
|
+scriptdir = $(libdir)
|
2004-07-09 12:37:29 +02:00
|
|
|
|
2004-09-03 02:49:43 +02:00
|
|
|
EMUL = @EMUL@
|
|
|
|
EMULATION_OFILES = @EMULATION_OFILES@
|
|
|
|
diff -urN binutils-2.14.90.0.8-dist/ld/emultempl/elf32.em binutils-2.14.90.0.8/ld/emultempl/elf32.em
|
|
|
|
--- binutils-2.14.90.0.8-dist/ld/emultempl/elf32.em 2004-01-14 15:07:53.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/ld/emultempl/elf32.em 2004-02-11 03:42:01.000000000 -0600
|
|
|
|
@@ -671,6 +671,8 @@
|
2004-01-14 11:03:44 +01:00
|
|
|
&& command_line.rpath == NULL)
|
|
|
|
{
|
|
|
|
lib_path = (const char *) getenv ("LD_RUN_PATH");
|
|
|
|
+ if ((lib_path) && (strlen (lib_path) == 0))
|
|
|
|
+ lib_path = NULL;
|
|
|
|
if (gld${EMULATION_NAME}_search_needed (lib_path, l->name,
|
|
|
|
force))
|
|
|
|
break;
|
2004-09-03 02:49:43 +02:00
|
|
|
@@ -850,6 +852,8 @@
|
2004-01-14 11:03:44 +01:00
|
|
|
rpath = command_line.rpath;
|
|
|
|
if (rpath == NULL)
|
|
|
|
rpath = (const char *) getenv ("LD_RUN_PATH");
|
|
|
|
+ if ((rpath) && (strlen (rpath) == 0))
|
|
|
|
+ rpath = NULL;
|
|
|
|
if (! (bfd_elf${ELFSIZE}_size_dynamic_sections
|
2004-09-03 02:49:43 +02:00
|
|
|
(output_bfd, command_line.soname, rpath,
|
2004-01-14 11:03:44 +01:00
|
|
|
command_line.filter_shlib,
|
2004-09-03 02:49:43 +02:00
|
|
|
diff -urN binutils-2.14.90.0.8-dist/ltmain.sh binutils-2.14.90.0.8/ltmain.sh
|
|
|
|
--- binutils-2.14.90.0.8-dist/ltmain.sh 2002-03-22 16:06:16.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/ltmain.sh 2004-02-11 03:42:05.000000000 -0600
|
|
|
|
@@ -4413,6 +4413,10 @@
|
2004-01-14 11:03:44 +01:00
|
|
|
# LD_LIBRARY_PATH before the program is installed.
|
|
|
|
$show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
|
|
|
|
$run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
|
|
|
|
+ if test -n "$linkname"; then
|
|
|
|
+ $show "(cd $output_objdir && $rm ../$linkname && $LN_S $output_objdir/$linkname ../$linkname)"
|
|
|
|
+ $run eval '(cd $output_objdir && $rm ../$linkname && $LN_S $output_objdir/$linkname ../$linkname)' || exit $?
|
|
|
|
+ fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
exit 0
|
2004-09-03 02:49:43 +02:00
|
|
|
diff -urN binutils-2.14.90.0.8-dist/opcodes/i386-dis.c binutils-2.14.90.0.8/opcodes/i386-dis.c
|
|
|
|
--- binutils-2.14.90.0.8-dist/opcodes/i386-dis.c 2004-01-14 15:07:55.000000000 -0600
|
|
|
|
+++ binutils-2.14.90.0.8/opcodes/i386-dis.c 2004-02-11 03:42:01.000000000 -0600
|
|
|
|
@@ -1879,7 +1879,7 @@
|
|
|
|
* The function returns the length of this instruction in bytes.
|
|
|
|
*/
|
2004-03-01 07:28:02 +01:00
|
|
|
|
2004-09-03 02:49:43 +02:00
|
|
|
-static char intel_syntax;
|
|
|
|
+static signed char intel_syntax;
|
|
|
|
static char open_char;
|
|
|
|
static char close_char;
|
|
|
|
static char separator_char;
|