diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/cygwin.h | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b53142..244080d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-12-14 DJ Delorie <dj@redhat.com> + Danny Smith <dannysmith@users.sourceforge.net> + + * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' + at SYM_NAME[0] or SYM_NAME[3]. + (STRIP_NAME_ENCODING): Don't check for leading '*'. + 2001-12-14 Ira Ruben <ira@apple.com> Add -### option (displays driver-generated commands without diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h index 00cf4ef..7517c1c 100644 --- a/gcc/config/i386/cygwin.h +++ b/gcc/config/i386/cygwin.h @@ -286,7 +286,9 @@ extern void i386_pe_encode_section_info PARAMS ((TREE)); /* Utility used only in this file. */ #define I386_PE_STRIP_ENCODING(SYM_NAME) \ - ((SYM_NAME) + ((SYM_NAME)[0] == '@' ? 3 : 0)) + ((SYM_NAME) + ((SYM_NAME)[0] == '@' \ + ? ((SYM_NAME)[3] == '*' ? 4 : 3) : 0) \ + + ((SYM_NAME)[0] == '*' ? 1 : 0)) /* This macro gets just the user-specified name out of the string in a SYMBOL_REF. Discard @@ -296,7 +298,6 @@ extern void i386_pe_encode_section_info PARAMS ((TREE)); do { \ const char *_p; \ const char *_name = I386_PE_STRIP_ENCODING (SYMBOL_NAME); \ - if (*_name == '*') _name++; \ for (_p = _name; *_p && *_p != '@'; ++_p) \ ; \ if (*_p == '@') \ |