Changeset 3704


Ignore:
Timestamp:
Mar 16, 2011, 6:52:54 PM (14 years ago)
Author:
bird
Message:

0.6: Backported r3703: moddef.h,emxbind,weakld: Expanded the symbol name fields in libmoddef so that we can parse def-files with long symbols before truncating them (weakld). Fixes #37.

Location:
branches/libc-0.6/src/emx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/libc-0.6/src/emx/include/sys/moddef.h

    r538 r3704  
    9797} _md_error;
    9898
     99/** The maximum symbol name size (terminator included). */
     100#define _MD_MAX_SYMBOL_SIZE     1536
     101
    99102typedef struct
    100103{
     
    127130    struct
    128131      {
    129         char entryname[256];
    130         char internalname[256];
     132        char entryname[_MD_MAX_SYMBOL_SIZE];
     133        char internalname[_MD_MAX_SYMBOL_SIZE];
    131134        int ordinal;
    132135        int pwords;
     
    135138    struct
    136139      {
    137         char entryname[256];
    138         char internalname[256];
     140        char entryname[_MD_MAX_SYMBOL_SIZE];
     141        char internalname[_MD_MAX_SYMBOL_SIZE];
    139142        char modulename[256];
    140143        int ordinal;
  • branches/libc-0.6/src/emx/src/emxbind/export.c

    r2521 r3704  
    5555        error ("ordinal %u multiply defined", (unsigned)exp->ord);
    5656    }
     57 
     58  if (   !(exp->flags & _MDEP_NONAME)
     59      && strlen (exp->entryname) > 255)
     60      error ("exported name is too long (%d chars): %s",
     61             strlen (exp->entryname), exp->entryname);
     62 
    5763  if (export_len >= export_size)
    5864    {
Note: See TracChangeset for help on using the changeset viewer.