aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2010-10-30 17:14:02 +0000
committerKai Tietz <kai.tietz@onevision.com>2010-10-30 17:14:02 +0000
commit290c52bdbb037510879e2b87a44ba790540cae16 (patch)
tree067bbbdd41f29613e88845a64d272c56923cd7fa /binutils
parent9eeee97773603ecd14f8cbdef2561cbeabd523fd (diff)
downloadgdb-290c52bdbb037510879e2b87a44ba790540cae16.zip
gdb-290c52bdbb037510879e2b87a44ba790540cae16.tar.gz
gdb-290c52bdbb037510879e2b87a44ba790540cae16.tar.bz2
2010-10-30 Kai Tietz <kai.tietz@onevision.com>
* dlltool.c (scan_drectve_symbols): Allow quoted strings for -export directives.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/dlltool.c20
2 files changed, 22 insertions, 3 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 8faa242..1640443 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-30 Kai Tietz <kai.tietz@onevision.com>
+
+ * dlltool.c (scan_drectve_symbols): Allow quoted strings for -export
+ directives.
+
2010-10-29 Joseph Myers <joseph@codesourcery.com>
* readelf.c (display_tic6x_attribute): Use Tag_ABI_compatibility
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index 3a91221..8c72647 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -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 a quoted export? */
+ 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;