diff options
author | Christopher Faylor <me+cygwin@cgf.cx> | 2003-09-20 02:39:31 +0000 |
---|---|---|
committer | Christopher Faylor <me+cygwin@cgf.cx> | 2003-09-20 02:39:31 +0000 |
commit | 7fa24748bf457ede0b31a099eb30f95dbd347f3d (patch) | |
tree | a1ce8d54ec3eb2fa22ba950bc604cf6eccfb5bcc /gdb/symtab.c | |
parent | 99ba750f7669a74c82e4fb8947a8e5f316dd447e (diff) | |
download | gdb-7fa24748bf457ede0b31a099eb30f95dbd347f3d.tar.gz |
revert accidental checkin
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r-- | gdb/symtab.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c index 9f4e72faabc..d984a354205 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; |