diff options
author | Steve Chamberlain <sac@cygnus> | 1995-07-03 21:20:26 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-07-03 21:20:26 +0000 |
commit | 002898399e0ee6ad78cefa75c27b1dcae9308b2b (patch) | |
tree | 76f16decbfbec62441f8a486412f70838e309eb0 /binutils/dlltool.c | |
parent | bd676d26ea03972ba35c8b60ee9b55cffe63f9b1 (diff) | |
download | gdb-002898399e0ee6ad78cefa75c27b1dcae9308b2b.zip gdb-002898399e0ee6ad78cefa75c27b1dcae9308b2b.tar.gz gdb-002898399e0ee6ad78cefa75c27b1dcae9308b2b.tar.bz2 |
Mon Jul 3 14:16:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
* configure.in (i386-*-win32): New configuration.
* dlltool.c (killat, xlate, usage, long_options, main):
Understand and cope with -k option.
Diffstat (limited to 'binutils/dlltool.c')
-rw-r--r-- | binutils/dlltool.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/binutils/dlltool.c b/binutils/dlltool.c index 3e2c765..1179439 100644 --- a/binutils/dlltool.c +++ b/binutils/dlltool.c @@ -182,6 +182,7 @@ char *strdup (); static int machine; int suckunderscore; +int killat; static int verbose; FILE *base_file; #ifdef DLLTOOL_ARM @@ -800,15 +801,18 @@ gen_exp_file () static char * xlate (char *name) { - char *p; + if (!suckunderscore) return name; if (name[0] == '_') name++; - p = strchr (name, '@'); - if (p) - *p = 0; + if (killat) { + char *p; + p = strchr (name, '@'); + if (p) + *p = 0; + } return name; } @@ -1125,7 +1129,8 @@ usage (file, status) fprintf (file, "\t --base-file <basefile> Read linker generated base file\n"); fprintf (file, "\t -b <basefile> \n"); fprintf (file, "\t -v Verbose\n"); - + fprintf (file, "\t -u Remove leading underscore from .lib\n"); + fprintf (file, "\t -k Kill @<n> from exported names\n"); exit (status); } @@ -1133,6 +1138,7 @@ static struct option long_options[] = { {"def", required_argument, NULL, 'd'}, {"underscore", no_argument, NULL, 'u'}, + {"killat", no_argument, NULL, 'k'}, {"help", no_argument, NULL, 'h'}, {"machine", required_argument, NULL, 'm'}, {"base-file", required_argument, NULL, 'b'}, @@ -1149,7 +1155,7 @@ main (ac, av) program_name = av[0]; oav = av; - while ((c = getopt_long (ac, av, "vbuh?m:o:Dd:", long_options, 0)) != EOF) + while ((c = getopt_long (ac, av, "kvbuh?m:o:Dd:", long_options, 0)) != EOF) { switch (c) { @@ -1172,6 +1178,9 @@ main (ac, av) case 'u': suckunderscore = 1; break; + case 'k': + killat = 1; + break; case 'd': def_file = optarg; break; |