/* srconv.c -- Sysroff conversion program
- Copyright 1994, 1995, 1996, 1998, 1999, 2000
+ Copyright 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This file is part of GNU Binutils.
#include "coff/internal.h"
#include "../bfd/libcoff.h"
-#define PROGRAM_VERSION "1.5"
/*#define FOOP1 1 */
static int addrsize;
static char *toolname;
static char **rnames;
-static void wr_cs ();
-static void walk_tree_scope ();
-static void wr_globals ();
-static int find_base ();
+static int get_member_id PARAMS ((int));
+static int get_ordinary_id PARAMS ((int));
+static char *section_translate PARAMS ((char *));
+static char *strip_suffix PARAMS ((char *));
+static void checksum PARAMS ((FILE *, char *, int, int));
+static void writeINT PARAMS ((int, char *, int *, int, FILE *));
+static void writeBITS PARAMS ((int, char *, int *, int));
+static void writeBARRAY PARAMS ((barray, char *, int *, int, FILE *));
+static void writeCHARS PARAMS ((char *, char *, int *, int, FILE *));
+static void wr_tr PARAMS ((void));
+static void wr_un PARAMS ((struct coff_ofile *, struct coff_sfile *, int, int));
+static void wr_hd PARAMS ((struct coff_ofile *));
+static void wr_sh PARAMS ((struct coff_ofile *, struct coff_section *));
+static void wr_ob PARAMS ((struct coff_ofile *, struct coff_section *));
+static void wr_rl PARAMS ((struct coff_ofile *, struct coff_section *));
+static void wr_object_body PARAMS ((struct coff_ofile *));
+static void wr_dps_start
+ PARAMS ((struct coff_sfile *, struct coff_section *, struct coff_scope *,
+ int, int));
+static void wr_dps_end
+ PARAMS ((struct coff_section *, struct coff_scope *, int));
+static int *nints PARAMS ((int));
+static void walk_tree_type_1
+ PARAMS ((struct coff_sfile *, struct coff_symbol *, struct coff_type *,
+ int));
+static void walk_tree_type
+ PARAMS ((struct coff_sfile *, struct coff_symbol *, struct coff_type *,
+ int));
+static void walk_tree_symbol
+ PARAMS ((struct coff_sfile *, struct coff_section *,
+ struct coff_symbol *, int));
+static void walk_tree_scope
+ PARAMS ((struct coff_section *, struct coff_sfile *, struct coff_scope *,
+ int, int));
+static void walk_tree_sfile
+ PARAMS ((struct coff_section *, struct coff_sfile *));
+static void wr_program_structure
+ PARAMS ((struct coff_ofile *, struct coff_sfile *));
+static void wr_du PARAMS ((struct coff_ofile *, struct coff_sfile *, int));
+static void wr_dus PARAMS ((struct coff_ofile *, struct coff_sfile *));
+static int find_base PARAMS ((struct coff_sfile *, struct coff_section *));
+static void wr_dln PARAMS ((struct coff_ofile *, struct coff_sfile *, int));
+static void wr_globals
+ PARAMS ((struct coff_ofile *, struct coff_sfile *, int));
+static void wr_debug PARAMS ((struct coff_ofile *));
+static void wr_cs PARAMS ((void));
+static int wr_sc PARAMS ((struct coff_ofile *, struct coff_sfile *));
+static void wr_er PARAMS ((struct coff_ofile *, struct coff_sfile *, int));
+static void wr_ed PARAMS ((struct coff_ofile *, struct coff_sfile *, int));
+static void wr_unit_info PARAMS ((struct coff_ofile *));
+static void wr_module PARAMS ((struct coff_ofile *));
+static int align PARAMS ((int));
+static void prescan PARAMS ((struct coff_ofile *));
+static void show_usage PARAMS ((FILE *, int));
+static void show_help PARAMS ((void));
+extern int main PARAMS ((int, char **));
static FILE *file;
static bfd *abfd;
return (int *) (xcalloc (sizeof (int), x));
}
-static void walk_tree_symbol ();
static void
walk_tree_type_1 (sfile, symbol, type, nest)
struct coff_sfile *sfile;
#if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
setlocale (LC_MESSAGES, "");
+#endif
+#if defined (HAVE_SETLOCALE)
+ setlocale (LC_CTYPE, "");
#endif
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
show_help ();
/*NOTREACHED */
case 'V':
- printf (_("GNU %s version %s\n"), program_name, PROGRAM_VERSION);
+ print_version ("srconv");
exit (0);
/*NOTREACHED */
case 0: