re PR bootstrap/10169 (Bootstrap fails on mainline with Tru64 5.1B)
PR bootstrap/10169 * mips-tfile.c (main): Use getopt_long instead of getopt. Add new command line option --version to display version. Treat --verbose like -v to report a single line version. (options): New global variable for getopt_long. * mips-tdump.c (main): Use getopt_long instead of getopt. New command line options -v, --version and -verbose to display the program version number (to match mips-tfile's behavior). (options): New global variable for getopt_long. * gcov.c (options): Zero-terminate getopt_long array. * gcov-dump.c (options): Likewise. * Makefile.in (mips-tdump.o): Add dependency on version.h. Co-Authored-By: Kaveh R. Ghazi <ghazi@caip.rutgers.edu> From-SVN: r67230
This commit is contained in:
parent
1c36b2f912
commit
d90f988266
|
@ -1,3 +1,21 @@
|
|||
2003-05-29 Roger Sayle <roger@eyesopen.com>
|
||||
Kaveh Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
PR bootstrap/10169
|
||||
* mips-tfile.c (main): Use getopt_long instead of getopt.
|
||||
Add new command line option --version to display version.
|
||||
Treat --verbose like -v to report a single line version.
|
||||
(options): New global variable for getopt_long.
|
||||
* mips-tdump.c (main): Use getopt_long instead of getopt.
|
||||
New command line options -v, --version and -verbose to display
|
||||
the program version number (to match mips-tfile's behavior).
|
||||
(options): New global variable for getopt_long.
|
||||
|
||||
* gcov.c (options): Zero-terminate getopt_long array.
|
||||
* gcov-dump.c (options): Likewise.
|
||||
|
||||
* Makefile.in (mips-tdump.o): Add dependency on version.h.
|
||||
|
||||
2003-05-29 Stan Shebs <shebs@apple.com>
|
||||
|
||||
Remove OBJC_PROLOGUE everywhere.
|
||||
|
|
|
@ -1793,7 +1793,7 @@ mips-tfile.o : mips-tfile.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H)
|
|||
mips-tdump: mips-tdump.o version.o $(LIBDEPS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tdump.o version.o $(LIBS)
|
||||
|
||||
mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H)
|
||||
mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H) version.h
|
||||
|
||||
#
|
||||
# Generate header and source files from the machine description,
|
||||
|
|
|
@ -55,6 +55,7 @@ static const struct option options[] =
|
|||
{ "version", no_argument, NULL, 'v' },
|
||||
{ "long", no_argument, NULL, 'l' },
|
||||
{ "positions", no_argument, NULL, 'o' },
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
static const tag_format_t tag_table[] =
|
||||
|
|
|
@ -445,6 +445,7 @@ static const struct option options[] =
|
|||
{ "object-directory", required_argument, NULL, 'o' },
|
||||
{ "object-file", required_argument, NULL, 'o' },
|
||||
{ "unconditional-branches", no_argument, NULL, 'u' },
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
/* Process args, return index to first non-arg. */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Read and manage MIPS symbol tables from object modules.
|
||||
Copyright (C) 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001
|
||||
Copyright (C) 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2003
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by hartzell@boulder.colorado.edu,
|
||||
Rewritten by meissner@osf.org.
|
||||
|
@ -25,6 +25,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "version.h"
|
||||
#ifdef index
|
||||
#undef index
|
||||
#endif
|
||||
|
@ -34,6 +35,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
#include "mips/a.out.h"
|
||||
#endif /* CROSS_COMPILE */
|
||||
|
||||
/* Include getopt.h for the sake of getopt_long. */
|
||||
#include "getopt.h"
|
||||
|
||||
#ifndef MIPS_IS_STAB
|
||||
/* Macros for mips-tfile.c to encapsulate stabs in ECOFF, and for
|
||||
and mips-tdump.c to print them out. This is used on the Alpha,
|
||||
|
@ -209,6 +213,8 @@ int want_line = 0; /* print line numbers */
|
|||
int want_rfd = 0; /* print relative file desc's */
|
||||
int want_scope = 0; /* print scopes for every symbol */
|
||||
int tfile = 0; /* no global header file */
|
||||
int version = 0; /* print version # */
|
||||
int verbose = 0;
|
||||
int tfile_fd; /* file descriptor of .T file */
|
||||
off_t tfile_offset; /* current offset in .T file */
|
||||
scope_t *cur_scope = 0; /* list of active scopes */
|
||||
|
@ -254,6 +260,14 @@ const struct {const short code; const char string[10];} stab_names[] = {
|
|||
#undef __define_stab
|
||||
};
|
||||
|
||||
/* Command line options for getopt_long. */
|
||||
|
||||
static const struct option options[] =
|
||||
{
|
||||
{ "version", 0, 0, 'V' },
|
||||
{ "verbose", 0, 0, 'v' },
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
/* Read some bytes at a specified location, and return a pointer. */
|
||||
|
||||
|
@ -1434,7 +1448,7 @@ main (argc, argv)
|
|||
/*
|
||||
* Process arguments
|
||||
*/
|
||||
while ((opt = getopt (argc, argv, "alrst")) != EOF)
|
||||
while ((opt = getopt_long (argc, argv, "alrsvt", options, NULL)) != -1)
|
||||
switch (opt)
|
||||
{
|
||||
default: errors++; break;
|
||||
|
@ -1442,10 +1456,35 @@ main (argc, argv)
|
|||
case 'l': want_line++; break; /* print line numbers */
|
||||
case 'r': want_rfd++; break; /* print relative fd's */
|
||||
case 's': want_scope++; break; /* print scope info */
|
||||
case 't': tfile++; break; /* this is a tfile (without header), and not a .o */
|
||||
case 'v': verbose++; break; /* print version # */
|
||||
case 'V': version++; break; /* print version # */
|
||||
case 't': tfile++; break; /* this is a tfile (without header),
|
||||
and not a .o */
|
||||
}
|
||||
|
||||
if (errors || optind != argc - 1)
|
||||
if (version)
|
||||
{
|
||||
printf ("mips-tdump (GCC) %s\n", version_string);
|
||||
fputs ("Copyright (C) 2003 Free Software Foundation, Inc.\n", stdout);
|
||||
fputs ("This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n",
|
||||
stdout);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
if (optind != argc - 1)
|
||||
errors++;
|
||||
|
||||
if (verbose || errors)
|
||||
{
|
||||
fprintf (stderr, "mips-tdump (GCC) %s", version_string);
|
||||
#ifdef TARGET_VERSION
|
||||
TARGET_VERSION;
|
||||
#endif
|
||||
fputc ('\n', stderr);
|
||||
}
|
||||
|
||||
if (errors)
|
||||
{
|
||||
fprintf (stderr, "Calling Sequence:\n");
|
||||
fprintf (stderr, "\t%s [-alrst] <object-or-T-file>\n", argv[0]);
|
||||
|
@ -1456,6 +1495,7 @@ main (argc, argv)
|
|||
fprintf (stderr, "\t-r Print out relative file descriptors.\n");
|
||||
fprintf (stderr, "\t-s Print out the current scopes for an item.\n");
|
||||
fprintf (stderr, "\t-t Assume there is no global header (ie, a T-file).\n");
|
||||
fprintf (stderr, "\t-v Print program version.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -611,6 +611,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
#define saber_stop()
|
||||
#endif
|
||||
|
||||
/* Include getopt.h for the sake of getopt_long. */
|
||||
#include "getopt.h"
|
||||
|
||||
#ifndef __LINE__
|
||||
#define __LINE__ 0
|
||||
#endif
|
||||
|
@ -1510,6 +1513,7 @@ static unsigned cur_line_alloc = 0; /* # bytes total in buffer */
|
|||
static long line_number = 0; /* current input line number */
|
||||
static int debug = 0; /* trace functions */
|
||||
static int version = 0; /* print version # */
|
||||
static int verbose = 0;
|
||||
static int had_errors = 0; /* != 0 if errors were found */
|
||||
static int rename_output = 0; /* != 0 if rename output file*/
|
||||
static int delete_input = 0; /* != 0 if delete input after done */
|
||||
|
@ -1663,6 +1667,15 @@ static const pseudo_ops_t pseudo_ops[] = {
|
|||
{ "#@stabs", sizeof("#@stabs")-1, mark_stabs },
|
||||
};
|
||||
|
||||
|
||||
/* Command line options for getopt_long. */
|
||||
|
||||
static const struct option options[] =
|
||||
{
|
||||
{ "version", 0, 0, 'V' },
|
||||
{ "verbose", 0, 0, 'v' },
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
/* Add a page to a varray object. */
|
||||
|
||||
|
@ -4809,7 +4822,7 @@ main (argc, argv)
|
|||
void_type_info = type_info_init;
|
||||
void_type_info.basic_type = bt_Void;
|
||||
|
||||
while ((option = getopt (argc, argv, "d:i:I:o:v")) != EOF)
|
||||
while ((option = getopt_long (argc, argv, "d:i:I:o:v", options, NULL)) != -1)
|
||||
switch (option)
|
||||
{
|
||||
default:
|
||||
|
@ -4849,10 +4862,24 @@ main (argc, argv)
|
|||
break;
|
||||
|
||||
case 'v':
|
||||
verbose++;
|
||||
break;
|
||||
|
||||
case 'V':
|
||||
version++;
|
||||
break;
|
||||
}
|
||||
|
||||
if (version)
|
||||
{
|
||||
printf (_("mips-tfile (GCC) %s\n"), version_string);
|
||||
fputs (_("Copyright (C) 2003 Free Software Foundation, Inc.\n"), stdout);
|
||||
fputs (_("This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
|
||||
stdout);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
if (obj_in_name == (char *) 0 && optind <= argc - 2)
|
||||
obj_in_name = argv[--argc];
|
||||
|
||||
|
@ -4868,7 +4895,19 @@ main (argc, argv)
|
|||
delete_input = 1;
|
||||
}
|
||||
|
||||
if (object_name == (char *) 0 || had_errors || optind != argc - 1)
|
||||
if (optind != argc - 1)
|
||||
had_errors++;
|
||||
|
||||
if (verbose || had_errors)
|
||||
{
|
||||
fprintf (stderr, _("mips-tfile (GCC) %s"), version_string);
|
||||
#ifdef TARGET_VERSION
|
||||
TARGET_VERSION;
|
||||
#endif
|
||||
fputc ('\n', stderr);
|
||||
}
|
||||
|
||||
if (object_name == (char *) 0 || had_errors)
|
||||
{
|
||||
fprintf (stderr, _("Calling Sequence:\n"));
|
||||
fprintf (stderr, _("\tmips-tfile [-d <num>] [-v] [-i <o-in-file>] -o <o-out-file> <s-file> (or)\n"));
|
||||
|
@ -4883,16 +4922,6 @@ main (argc, argv)
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (version)
|
||||
{
|
||||
fprintf (stderr, _("mips-tfile version %s"), version_string);
|
||||
#ifdef TARGET_VERSION
|
||||
TARGET_VERSION;
|
||||
#endif
|
||||
fputc ('\n', stderr);
|
||||
}
|
||||
|
||||
if (obj_in_name == (char *) 0)
|
||||
obj_in_name = object_name;
|
||||
|
||||
|
|
Loading…
Reference in New Issue