[BACK]Return to dlltool.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils / dist / binutils

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/external/gpl3/binutils/dist/binutils/dlltool.c between version 1.1.1.5 and 1.1.1.6

version 1.1.1.5, 2016/10/26 17:29:51 version 1.1.1.6, 2018/04/14 22:17:04
Line 1 
Line 1 
 /* dlltool.c -- tool to generate stuff for PE style DLLs  /* dlltool.c -- tool to generate stuff for PE style DLLs
    Copyright (C) 1995-2016 Free Software Foundation, Inc.     Copyright (C) 1995-2018 Free Software Foundation, Inc.
   
    This file is part of GNU Binutils.     This file is part of GNU Binutils.
   
Line 780  typedef struct export
Line 780  typedef struct export
   int ordinal;    int ordinal;
   int constant;    int constant;
   int noname;           /* Don't put name in image file.  */    int noname;           /* Don't put name in image file.  */
   int private;  /* Don't put reference in import lib.  */    int private;          /* Don't put reference in import lib.  */
   int data;    int data;
   int hint;    int forward;          /* Number of forward label, 0 means no forward.  */
   int forward;  /* Number of forward label, 0 means no forward.  */  
   struct export *next;    struct export *next;
 }  }
 export_type;  export_type;
Line 2708  make_one_lib_file (export_type *exp, int
Line 2707  make_one_lib_file (export_type *exp, int
               sec->orelocation = rpp;                sec->orelocation = rpp;
               break;                break;
             }              }
           /* else fall through */            /* Fall through.  */
   
         case IDATA4:          case IDATA4:
           /* An idata$4 or idata$5 is one word long, and has an            /* An idata$4 or idata$5 is one word long, and has an
              rva to idata$6.  */               rva to idata$6.  */
Line 2775  make_one_lib_file (export_type *exp, int
Line 2775  make_one_lib_file (export_type *exp, int
         case IDATA6:          case IDATA6:
           if (!exp->noname)            if (!exp->noname)
             {              {
               /* This used to add 1 to exp->hint.  I don't know                int idx = exp->ordinal;
                  why it did that, and it does not match what I see  
                  in programs compiled with the MS tools.  */  
               int idx = exp->hint;  
               if (exp->its_name)                if (exp->its_name)
                 si->size = strlen (exp->its_name) + 3;                  si->size = strlen (exp->its_name) + 3;
               else                else
Line 3262  gen_lib_file (int delay)
Line 3260  gen_lib_file (int delay)
           alias_exp.noname = exp->noname;            alias_exp.noname = exp->noname;
           alias_exp.private = exp->private;            alias_exp.private = exp->private;
           alias_exp.data = exp->data;            alias_exp.data = exp->data;
           alias_exp.hint = exp->hint;  
           alias_exp.forward = exp->forward;            alias_exp.forward = exp->forward;
           alias_exp.next = exp->next;            alias_exp.next = exp->next;
           n = make_one_lib_file (&alias_exp, i + PREFIX_ALIAS_BASE, delay);            n = make_one_lib_file (&alias_exp, i + PREFIX_ALIAS_BASE, delay);
Line 3926  mangle_defs (void)
Line 3923  mangle_defs (void)
 {  {
   /* First work out the minimum ordinal chosen.  */    /* First work out the minimum ordinal chosen.  */
   export_type *exp;    export_type *exp;
   
   int i;  
   int hint = 0;  
   export_type **d_export_vec = xmalloc (sizeof (export_type *) * d_nfuncs);    export_type **d_export_vec = xmalloc (sizeof (export_type *) * d_nfuncs);
     int i;
   
   inform (_("Processing definitions"));    inform (_("Processing definitions"));
   
Line 3958  mangle_defs (void)
Line 3953  mangle_defs (void)
   
   qsort (d_exports_lexically, i, sizeof (export_type *), nfunc);    qsort (d_exports_lexically, i, sizeof (export_type *), nfunc);
   
   /* Fill exp entries with their hint values.  */  
   for (i = 0; i < d_nfuncs; i++)  
     if (!d_exports_lexically[i]->noname || show_allnames)  
       d_exports_lexically[i]->hint = hint++;  
   
   inform (_("Processed definitions"));    inform (_("Processed definitions"));
 }  }
   

Legend:
Removed from v.1.1.1.5  
changed lines
  Added in v.1.1.1.6

CVSweb <webmaster@jp.NetBSD.org>