aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me+cygwin@cgf.cx>2003-09-20 02:39:31 +0000
committerChristopher Faylor <me+cygwin@cgf.cx>2003-09-20 02:39:31 +0000
commit32470760e9475763d4bac42d39b5ed191bd96ff5 (patch)
treed284d86c70993b99ac44bf28adda002ba4fb2516
parentf4f99b11c4d67717803e4dc62e1d522c8ce9c898 (diff)
downloadgdb-32470760e9475763d4bac42d39b5ed191bd96ff5.zip
gdb-32470760e9475763d4bac42d39b5ed191bd96ff5.tar.gz
gdb-32470760e9475763d4bac42d39b5ed191bd96ff5.tar.bz2
revert accidental checkin
-rw-r--r--gdb/symtab.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 9f4e72f..d984a35 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -434,10 +434,6 @@ create_demangled_names_hash (struct objfile *objfile)
NULL, objfile->md, xmcalloc, xmfree);
}
-#ifndef LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES
-#define LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES (0)
-#endif
-
/* Try to determine the demangled name for a symbol, based on the
language of that symbol. If the language is set to language_auto,
it will attempt to find any demangling algorithm that works and
@@ -450,39 +446,6 @@ symbol_find_demangled_name (struct general_symbol_info *gsymbol,
{
char *demangled = NULL;
- /* On Windows, some functions use the `stdcall' calling convention,
- in which the callee is expected to pop the arguments off the
- stack. Normally, the caller takes care of this, because only the
- caller knows how many arguments it really passed. To avoid
- confusion, the linker symbols for `stdcall' functions have names
- with a suffix "@N" attached to them, where "N" is the number of
- bytes they'll pop. That way, if a caller thinks some `stdcall'
- function `foo' expects M argument bytes, but the definition of
- `foo' expects N argument bytes, N != M, then the call will be a
- reference to `foo@M', but the definition will have a linker
- symbol `foo@N', and you'll get a link-time `symbol not found'
- error, instead of a crash at run-time.
-
- (Note how this fails to address calls through function pointers,
- since the byte count isn't part of the function pointer's type.
- Go, Microsoft!)
-
- Whatever. But our demangler doesn't like that '@N' suffix, so we
- need to strip it off. */
- if (LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES)
- {
- char *arg_byte_suffix = strchr (mangled, '@');
- if (arg_byte_suffix)
- {
- int prefix_len = arg_byte_suffix - mangled;
- char *mangled_sans_suffix = alloca (prefix_len + 1);
- memcpy (mangled_sans_suffix, mangled, prefix_len);
- mangled_sans_suffix[prefix_len] = '\0';
-
- mangled = mangled_sans_suffix;
- }
- }
-
if (gsymbol->language == language_unknown)
gsymbol->language = language_auto;