Ignore:
Timestamp:
Mar 19, 2006, 6:21:22 AM (19 years ago)
Author:
bird
Message:
  • *:

o Synced over changed from 0.6.1 bugfixing.

  • emxbind:

o #38: Fixed truncation bug writing to the LX nametable. (Yuri)
o #38: Imports and exports are limited to 255 not 127 chars. (Yuri)
o #28: Use DLL name from the .def file when present.

  • emxomf:

o #70: Demangle symbol names in debug info. (thanks to Yuri)

  • emxomfld:

o #55: delete the response file when reinit the args.
o #46: specify .map file extension to the linker.
o #34: Removed all the silliness trying to deal with truncated symbols.
o Don't display usage() on failure, just the error message.
o #20: use mkstemp + close instead of mktemp for the response file.

  • ld:

o #20: use make_temp_file instead of mktemp. This involved including

libiberty.h which required some adjustments of duplicate code to work.

o #27: Applied fix from Yuri.

  • libmoddef:

o Allow '.' and '@' in LIBRARY/NAME names.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/emx/src/emxomf/emxomfld.c

    r2300 r2673  
    349349          if (response_file == NULL)
    350350            {
     351              int fd;
    351352
    352353              /* Complain if we are not allowed to use a response
     
    363364
    364365              strcpy (response_fname, "ldXXXXXX");
    365               if (mktemp (response_fname) == NULL)
     366              fd = mkstemp (response_fname);
     367              if (fd < 0)
    366368                {
    367369                  perror ("emxomfld");
    368370                  exit (2);
    369371                }
     372              close(fd);
    370373              response_file = fopen (response_fname, "wt");
    371374              if (response_file == NULL)
     
    11611164static void arg_init (int rsp)
    11621165{
    1163   response_fname[0] = '\0';
     1166  if (response_fname[0] != '\0')
     1167    {
     1168      remove (response_fname);
     1169      response_fname[0] = '\0';
     1170    }
    11641171  command_line[0] = '\0';
    11651172  line_len = 0;
     
    14961503                  fprintf (stderr,
    14971504                           "emxomfld: multiple module definition files\n");
    1498                   usage ();
     1505                  return 1;
    14991506                }
    15001507              def_fname = _realrealpath(optarg, NULL, 0);
     
    15121519                  fprintf (stderr,
    15131520                           "emxomfld: multiple binary resource files\n");
    1514                   usage ();
     1521                  return 1;
    15151522                }
    15161523              res_fname = _realrealpath(optarg, NULL, 0);
     
    15851592                {
    15861593                  fprintf (stderr, "emxomfld: multiple map files files\n");
    1587                   usage ();
     1594                  return 1;
    15881595                }
    15891596            map_fname = optarg;
     
    15931600        case OPT_ZSTACK:
    15941601          if (!optarg)
    1595             usage ();
     1602            return 1;
    15961603          errno = 0;
    15971604          stack_size = strtol (optarg, &t, 0);
    15981605          if (errno != 0 || *t != 0 || t == optarg)
    1599             usage ();
     1606            return 1;
    16001607          break;
    16011608
     
    16221629          if (optind > 1)
    16231630            fprintf (stderr, "emxomfld: invalid option (%s)\n", argv[optind - 1]);
    1624           usage ();
     1631          else
     1632            usage ();
     1633          return 1;
    16251634        }
    16261635    }
     
    16391648    {
    16401649      fprintf (stderr, "emxomfld: no input files\n");
    1641       usage ();
     1650      return 1;
    16421651    }
    16431652
     
    16561665  else if (map_fname == NULL)
    16571666    {
    1658       t = xstrdup (output_fname);
     1667      int cch = strlen (output_fname) + 1;
     1668      t = xmalloc (cch + 4);
     1669      memcpy (t, output_fname, cch);
    16591670      _remext (t);
     1671      strcat (t, ".map");
    16601672      map_fname = t;
    16611673    }
Note: See TracChangeset for help on using the changeset viewer.