Ignore:
Timestamp:
Apr 29, 2003, 6:26:33 PM (22 years ago)
Author:
bird
Message:
  • emxbind sets heap size to 0 when making a DLL (same as if you would use -h0). This solves a real big problem with all DLLs made from a.out having a very large heap segment (32Mb) and eating up virtual address space.
  • fixed emxbind to use hash tables instead of linear search when exporting DLL symbols. This allows for a huge speedup when building large DLLs from a.out object files.
  • exports by names without ordinals goes into resident names table rather than into non-resident names table. This is the behaviour of LINK386.
  • emxbind now honors properly the NONAME keyword in .def files
  • disabled emxbind warnings about a DLL entry being exported more than once. LINK386 does not emit any warnings about this, so why emxbind should do? Still if you use the -v option, this warning is back.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/emxbind/emxbind.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r60 r61  
    172172
    173173      exp.ord = stmt->export.ordinal;
    174       exp.resident = (stmt->export.flags & _MDEP_RESIDENTNAME) ? TRUE : FALSE;
     174      exp.resident = (!exp.ord || (stmt->export.flags & _MDEP_RESIDENTNAME)) ? TRUE : FALSE;
    175175      exp.entryname = xstrdup (stmt->export.entryname);
     176      exp.flags = stmt->export.flags;
    176177      if (stmt->export.internalname[0] != 0)
    177178        exp.internalname = xstrdup (stmt->export.internalname);
     
    325326    error ("file name missing");
    326327  else
    327     {
    328328      strcpy (dst, def);
    329       if (ext != NULL)
    330         _remext (dst);
    331     }
    332   if (ext != NULL)
    333     _defext (dst, ext);
     329  if (ext)
     330  {
     331    char *curext = _getext2 (dst);
     332    if (curext && *curext == '.')
     333      curext++;
     334    if (strcmp (curext, ext))
     335    {
     336      if (strlen (dst) > FNAME_SIZE - 5)
     337        error ("file name too long");
     338      strcat (dst, ".");
     339      strcat (dst, ext);
     340    }
     341    }
    334342}
    335343
     
    433441
    434442  opterr = FALSE;
    435   optswchar = "-";
     443//optswchar = "-";
    436444
    437445  /* No command option has been seen yet. */
Note: See TracChangeset for help on using the changeset viewer.