/* Define the standard progress macros. */
#include "progress.h"
-/* This doesn't get taken care of anywhere. */
-#ifndef __MWERKS__ /* Metrowerks C chokes on the "defined (inline)" */
-#if !defined (__GNUC__) && !defined (inline)
-#define inline
-#endif
-#endif /* !__MWERKS__ */
-
/* Other stuff from config.h. */
#ifdef NEED_DECLARATION_ENVIRON
extern char **environ;
#define bcopy(src,dest,size) memcpy (dest, src, size)
#endif
-/* Make Saber happier on obstack.h. */
-#ifdef SABER
-#undef __PTR_TO_INT
-#define __PTR_TO_INT(P) ((int) (P))
-#undef __INT_TO_PTR
-#define __INT_TO_PTR(P) ((char *) (P))
-#endif
-
#ifndef __LINE__
#define __LINE__ "unknown"
#endif /* __LINE__ */
COMMON int flag_noexecstack;
/* name of emitted object file */
-COMMON char *out_file_name;
+COMMON const char *out_file_name;
/* name of file defining extensions to the basic instruction set */
COMMON char *insttbl_file_name;
void sprint_value (char *, addressT);
int had_errors (void);
int had_warnings (void);
-void as_warn_value_out_of_range (char *, offsetT, offsetT, offsetT,
+void as_warn_value_out_of_range (const char *, offsetT, offsetT, offsetT,
const char *, unsigned);
-void as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT,
+void as_bad_value_out_of_range (const char *, offsetT, offsetT, offsetT,
const char *, unsigned);
void print_version_id (void);
char * app_push (void);
char * atof_ieee (char *, int, LITTLENUM_TYPE *);
-char * ieee_md_atof (int, char *, int *, bfd_boolean);
-char * vax_md_atof (int, char *, int *);
+const char * ieee_md_atof (int, char *, int *, bfd_boolean);
+const char * vax_md_atof (int, char *, int *);
char * input_scrub_include_file (const char *, char *);
void input_scrub_insert_line (const char *);
void input_scrub_insert_file (char *);
const char *remap_debug_filename (const char *);
void add_debug_prefix_map (const char *);
+static inline char *
+xmemdup0 (const char *in, size_t len)
+{
+ char *out = (char *) xmalloc (len + 1);
+ out[len] = 0;
+ return (char *) memcpy (out, in, len);
+}
+
struct expressionS;
struct fix;
typedef struct symbol symbolS;
#if defined OBJ_ELF || defined OBJ_MAYBE_ELF
/* If .size directive failure should be error or warning. */
-COMMON enum
- {
- size_check_error = 0,
- size_check_warning
- }
-flag_size_check;
+COMMON int flag_allow_nonconst_size;
+
+/* If we should generate ELF common symbols with the STT_COMMON type. */
+extern int flag_use_elf_stt_common;
/* If section name substitution sequences should be honored */
COMMON int flag_sectname_subst;