diff options
author | Jan Beulich <jbeulich@suse.com> | 2025-03-14 10:30:47 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2025-03-14 10:30:47 +0100 |
commit | 2df22dd31d8dc62a07f6b3b43e75b23464c5b384 (patch) | |
tree | e472e8a63a341a46cda789d9cb45d1b43220870b | |
parent | 5e713f7542b1e9860a84368231823ee5c0fbe08c (diff) | |
download | binutils-2df22dd31d8dc62a07f6b3b43e75b23464c5b384.zip binutils-2df22dd31d8dc62a07f6b3b43e75b23464c5b384.tar.gz binutils-2df22dd31d8dc62a07f6b3b43e75b23464c5b384.tar.bz2 |
gas: make NO_LISTING work again
Presumably since no target enables this and there's also no configure
control, builds with NO_LISTING defined didn't really work anymore.
Convert fallback functions to macros and add #ifndef in a few places.
(Behavior is different for affected command line options vs directives:
The former are rejected as unrecognized, while the latter are silently
ignored. I think that's fair enough.)
-rw-r--r-- | gas/as.c | 8 | ||||
-rw-r--r-- | gas/listing.c | 54 | ||||
-rw-r--r-- | gas/listing.h | 12 |
3 files changed, 20 insertions, 54 deletions
@@ -469,10 +469,12 @@ parse_args (int * pargc, char *** pargv) OPTION_EMULATION, OPTION_DEBUG_PREFIX_MAP, OPTION_DEFSYM, +#ifndef NO_LISTING OPTION_LISTING_LHS_WIDTH, OPTION_LISTING_LHS_WIDTH2, /* = STD_BASE + 10 */ OPTION_LISTING_RHS_WIDTH, OPTION_LISTING_CONT_LINES, +#endif OPTION_DEPFILE, OPTION_GSTABS, OPTION_GSTABS_PLUS, @@ -573,10 +575,12 @@ parse_args (int * pargc, char *** pargv) ports use -k to enable PIC assembly. */ ,{"keep-locals", no_argument, NULL, 'L'} ,{"keep-locals", no_argument, NULL, 'L'} +#ifndef NO_LISTING ,{"listing-lhs-width", required_argument, NULL, OPTION_LISTING_LHS_WIDTH} ,{"listing-lhs-width2", required_argument, NULL, OPTION_LISTING_LHS_WIDTH2} ,{"listing-rhs-width", required_argument, NULL, OPTION_LISTING_RHS_WIDTH} ,{"listing-cont-lines", required_argument, NULL, OPTION_LISTING_CONT_LINES} +#endif ,{"MD", required_argument, NULL, OPTION_DEPFILE} ,{"mri", no_argument, NULL, 'M'} ,{"nocpp", no_argument, NULL, OPTION_NOCPP} @@ -918,6 +922,7 @@ This program has absolutely no warranty.\n")); flag_keep_locals = 1; break; +#ifndef NO_LISTING case OPTION_LISTING_LHS_WIDTH: listing_lhs_width = atoi (optarg); if (listing_lhs_width_second < listing_lhs_width) @@ -937,6 +942,7 @@ This program has absolutely no warranty.\n")); case OPTION_LISTING_CONT_LINES: listing_lhs_cont_lines = atoi (optarg); break; +#endif /* NO_LISTING */ case 'M': flag_mri = 1; @@ -1382,7 +1388,9 @@ gas_init (void) int main (int argc, char ** argv) { +#ifndef NO_LISTING char ** argv_orig = argv; +#endif struct stat sob; gas_early_init (&argc, &argv); diff --git a/gas/listing.c b/gas/listing.c index c06e749..c47a43d 100644 --- a/gas/listing.c +++ b/gas/listing.c @@ -1658,58 +1658,4 @@ listing_source_file (const char *file) listing_tail->hll_file = file_info (file); } -#else - -/* Dummy functions for when compiled without listing enabled. */ - -void -listing_list (int on) -{ - s_ignore (0); -} - -void -listing_eject (int ignore) -{ - s_ignore (0); -} - -void -listing_psize (int ignore) -{ - s_ignore (0); -} - -void -listing_nopage (int ignore) -{ - s_ignore (0); -} - -void -listing_title (int depth) -{ - s_ignore (0); -} - -void -listing_file (const char *name) -{ -} - -void -listing_newline (char *name) -{ -} - -void -listing_source_line (unsigned int n) -{ -} - -void -listing_source_file (const char *n) -{ -} - #endif diff --git a/gas/listing.h b/gas/listing.h index 308a01d..a9822c3 100644 --- a/gas/listing.h +++ b/gas/listing.h @@ -58,6 +58,18 @@ void listing_title (int depth); void listing_warning (const char *message); void listing_width (unsigned int x); +#ifdef NO_LISTING +#define listing_list s_ignore +#define listing_eject s_ignore +#define listing_psize s_ignore +#define listing_nopage s_ignore +#define listing_title s_ignore +#define listing_file(name) ((void)(name)) +#define listing_newline(ps) ((void)(ps)) +#define listing_source_file(file) ((void)(file)) +#define listing_source_line(line) ((void)(line)) +#endif + extern int listing_lhs_width; extern int listing_lhs_width_second; extern int listing_lhs_cont_lines; |