Index: src/binutils/dlltool.c =================================================================== --- src.orig/binutils/dlltool.c 2010-04-27 19:28:14.000000000 +0200 +++ src/binutils/dlltool.c 2010-10-30 00:34:26.535636900 +0200 @@ -1399,12 +1399,26 @@ scan_drectve_symbols (bfd *abfd) flagword flags = BSF_FUNCTION; p += 8; - name = p; - while (p < e && *p != ',' && *p != ' ' && *p != '-') - p++; + /* Do we have an quoted exported? */ + if (*p == '"') + { + p++; + name = p; + while (p < e && *p != '"') + ++p; + } + else + { + name = p; + while (p < e && *p != ',' && *p != ' ' && *p != '-') + p++; + } c = xmalloc (p - name + 1); memcpy (c, name, p - name); c[p - name] = 0; + /* Advance over trailing quote. */ + if (p < e && *p == '"') + ++p; if (p < e && *p == ',') /* found type tag. */ { char *tag_start = ++p;