diff options
author | Nick Clifton <nickc@redhat.com> | 2005-08-01 16:54:07 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2005-08-01 16:54:07 +0000 |
commit | c69722900b32354108b1409fe920b0275aa49341 (patch) | |
tree | e64f02f90686701c24be97203e14c55fb803f613 /binutils/dlltool.c | |
parent | c5211a5487be06a0bc2172036a8a426b00c0d427 (diff) | |
download | gdb-c69722900b32354108b1409fe920b0275aa49341.zip gdb-c69722900b32354108b1409fe920b0275aa49341.tar.gz gdb-c69722900b32354108b1409fe920b0275aa49341.tar.bz2 |
(alphafunc): Remove and replace usage with nfunc.
(nfunc): Fix sorting of fastcall symbols when --kill-at is used.
Diffstat (limited to 'binutils/dlltool.c')
-rw-r--r-- | binutils/dlltool.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/binutils/dlltool.c b/binutils/dlltool.c index eda8e3c..512cf7b 100644 --- a/binutils/dlltool.c +++ b/binutils/dlltool.c @@ -699,7 +699,6 @@ static int nfunc (const void *, const void *); static void remove_null_names (export_type **); static void process_duplicates (export_type **); static void fill_ordinals (export_type **); -static int alphafunc (const void *, const void *); static void mangle_defs (void); static void usage (FILE *, int); static void inform (const char *, ...) ATTRIBUTE_PRINTF_1; @@ -2828,8 +2827,16 @@ nfunc (const void *a, const void *b) { export_type *ap = *(export_type **) a; export_type *bp = *(export_type **) b; + const char *an = ap->name; + const char *bn = bp->name; - return (strcmp (ap->name, bp->name)); + if (killat) + { + an = (an[0] == '@') ? an + 1 : an; + bn = (bn[0] == '@') ? bn + 1 : bn; + } + + return (strcmp (an, bn)); } static void @@ -2973,15 +2980,6 @@ fill_ordinals (export_type **d_export_vec) } } -static int -alphafunc (const void *av, const void *bv) -{ - const export_type **a = (const export_type **) av; - const export_type **b = (const export_type **) bv; - - return strcmp ((*a)->name, (*b)->name); -} - static void mangle_defs (void) { @@ -3017,7 +3015,7 @@ mangle_defs (void) d_exports_lexically[i] = 0; - qsort (d_exports_lexically, i, sizeof (export_type *), alphafunc); + qsort (d_exports_lexically, i, sizeof (export_type *), nfunc); /* Fill exp entries with their hint values. */ for (i = 0; i < d_nfuncs; i++) |