/* as.h - global header file
- Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
#ifndef GAS
#define GAS 1
/* I think this stuff is largely out of date. xoxorich.
-
+
CAPITALISED names are #defined.
"lowercaseH" is #defined if "lowercase.h" has been #include-d.
"lowercaseT" is a typedef of "lowercase" objects.
"lowercaseP" is type "pointer to object of type 'lowercase'".
"lowercaseS" is typedef struct ... lowercaseS.
-
+
#define DEBUG to enable all the "know" assertion tests.
#define SUSPECT when debugging hash code.
#define COMMON as "extern" for all modules except one, where you #define
/* True if we should generate a traditional format object file. */
COMMON int flag_traditional_format;
-/* TRUE if debug sections should be compressed. */
-COMMON int flag_compress_debug;
+/* Type of compressed debug sections we should generate. */
+COMMON enum compressed_debug_section_type flag_compress_debug;
/* TRUE if .note.GNU-stack section with SEC_CODE should be created */
COMMON int flag_execstack;
extern enum debug_info_type debug_type;
extern int use_gnu_debug_info_extensions;
+COMMON bfd_boolean flag_dwarf_sections;
\f
/* Maximum level of macro nesting. */
extern int max_macro_nest;
void FCN (const char *format, ...) \
__attribute__ ((__format__ (__printf__, 1, 2)))
#define PRINTF_WHERE_LIKE(FCN) \
- void FCN (char *file, unsigned int line, const char *format, ...) \
+ void FCN (const char *file, unsigned int line, const char *format, ...) \
__attribute__ ((__format__ (__printf__, 3, 4)))
#else /* __GNUC__ < 2 || defined(VMS) */
#define PRINTF_LIKE(FCN) void FCN (const char *format, ...)
-#define PRINTF_WHERE_LIKE(FCN) void FCN (char *file, \
+#define PRINTF_WHERE_LIKE(FCN) void FCN (const char *file, \
unsigned int line, \
const char *format, ...)
void sprint_value (char *, addressT);
int had_errors (void);
int had_warnings (void);
-void as_warn_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned);
-void as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned);
+void as_warn_value_out_of_range (char *, offsetT, offsetT, offsetT,
+ const char *, unsigned);
+void as_bad_value_out_of_range (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 *);
-char * input_scrub_include_file (char *, char *);
+char * input_scrub_include_file (const char *, char *);
void input_scrub_insert_line (const char *);
void input_scrub_insert_file (char *);
-char * input_scrub_new_file (char *);
+char * input_scrub_new_file (const char *);
char * input_scrub_next_buffer (char **bufp);
size_t do_scrub_chars (size_t (*get) (char *, size_t), char *, size_t);
int gen_to_words (LITTLENUM_TYPE *, int, long);
void cond_exit_macro (int);
int seen_at_least_1_file (void);
void app_pop (char *);
-void as_where (char **, unsigned int *);
+const char * as_where (unsigned int *);
void bump_line_counters (void);
void do_scrub_begin (int);
void input_scrub_begin (void);
void input_scrub_close (void);
void input_scrub_end (void);
-int new_logical_line (char *, int);
-int new_logical_line_flags (char *, int, int);
+int new_logical_line (const char *, int);
+int new_logical_line_flags (const char *, int, int);
void subsegs_begin (void);
void subseg_change (segT, int);
segT subseg_new (const char *, subsegT);
int subseg_text_p (segT);
int seg_not_empty_p (segT);
void start_dependencies (char *);
-void register_dependency (char *);
+void register_dependency (const char *);
void print_dependencies (void);
segT subseg_get (const char *, int);
#ifdef WARN_COMMENTS
COMMON int warn_comment;
COMMON unsigned int found_comment;
-COMMON char * found_comment_file;
+COMMON const char * found_comment_file;
#endif
#if defined OBJ_ELF || defined OBJ_MAYBE_ELF
size_check_warning
}
flag_size_check;
+
+/* If section name substitution sequences should be honored */
+COMMON int flag_sectname_subst;
#endif
#ifndef DOLLAR_AMBIGU