This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[rfa:ppc64gnulinux] Call ".malloc"
- From: Andrew Cagney <ac131313 at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Thu, 13 Nov 2003 19:56:50 -0500
- Subject: [rfa:ppc64gnulinux] Call ".malloc"
Hello,
When only minimal symbol information is available, the symbol "malloc",
which is found in a data section because it's a descriptor, gets turns
into a 32-bit int variable. Consequently, an attempt to call "malloc"
is turned into to jump to the code designated by that 32-bit integer
value found at malloc.
This patch avoids that problem entirely by specifying that on PPC64
GNU/Linux, the "malloc" function has the name ".malloc" (which is really
the function's start address).
ok?
Andrew
2003-11-13 Andrew Cagney <cagney@redhat.com>
* ppc-linux-tdep.c (ppc_linux_init_abi): Set PPC64's
"name_of_malloc" to ".malloc".
Index: ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.48
diff -u -r1.48 ppc-linux-tdep.c
--- ppc-linux-tdep.c 13 Nov 2003 18:08:57 -0000 1.48
+++ ppc-linux-tdep.c 14 Nov 2003 00:40:57 -0000
@@ -1083,6 +1083,9 @@
set_gdbarch_in_solib_call_trampoline
(gdbarch, ppc64_in_solib_call_trampoline);
set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code);
+
+ /* PPC64 malloc's entry-point is called ".malloc". */
+ set_gdbarch_name_of_malloc (gdbarch, ".malloc");
}
}