mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-19 18:00:23 +08:00
output: centralize the null definition of ofmt->segbase
Only two output formats (obj and ieee) actually need ofmt->segbase, so move the common dummy definion into nullout.c. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
e803010163
commit
0125c446dd
@ -54,3 +54,8 @@ void null_reset(void)
|
||||
{
|
||||
/* Nothing to do */
|
||||
}
|
||||
|
||||
int32_t null_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
@ -889,11 +889,6 @@ static void aout_sect_write(struct Section *sect,
|
||||
sect->len += len;
|
||||
}
|
||||
|
||||
static int32_t aout_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
extern macros_t aout_stdmac[];
|
||||
|
||||
#endif /* OF_AOUT || OF_AOUTB */
|
||||
@ -917,7 +912,7 @@ const struct ofmt of_aout = {
|
||||
aout_section_names,
|
||||
NULL,
|
||||
null_sectalign,
|
||||
aout_segbase,
|
||||
null_segbase,
|
||||
null_directive,
|
||||
aout_cleanup,
|
||||
NULL /* pragma list */
|
||||
@ -944,7 +939,7 @@ const struct ofmt of_aoutb = {
|
||||
aout_section_names,
|
||||
NULL,
|
||||
null_sectalign,
|
||||
aout_segbase,
|
||||
null_segbase,
|
||||
null_directive,
|
||||
aout_cleanup,
|
||||
NULL /* pragma list */
|
||||
|
@ -605,11 +605,6 @@ static void as86_sect_write(struct Section *sect,
|
||||
sect->datalen += len;
|
||||
}
|
||||
|
||||
static int32_t as86_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
extern macros_t as86_stdmac[];
|
||||
|
||||
const struct ofmt of_as86 = {
|
||||
@ -629,7 +624,7 @@ const struct ofmt of_as86 = {
|
||||
as86_section_names,
|
||||
NULL,
|
||||
null_sectalign,
|
||||
as86_segbase,
|
||||
null_segbase,
|
||||
null_directive,
|
||||
as86_cleanup,
|
||||
NULL /* pragma list */
|
||||
|
@ -1373,11 +1373,6 @@ bin_directive(enum directive directive, char *args, int pass)
|
||||
}
|
||||
}
|
||||
|
||||
static int32_t bin_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
const struct ofmt of_bin, of_ith, of_srec;
|
||||
static void binfmt_init(void);
|
||||
static void do_output_bin(void);
|
||||
@ -1645,7 +1640,7 @@ const struct ofmt of_bin = {
|
||||
bin_secname,
|
||||
NULL,
|
||||
bin_sectalign,
|
||||
bin_segbase,
|
||||
null_segbase,
|
||||
bin_directive,
|
||||
bin_cleanup,
|
||||
NULL /* pragma list */
|
||||
@ -1668,7 +1663,7 @@ const struct ofmt of_ith = {
|
||||
bin_secname,
|
||||
NULL,
|
||||
bin_sectalign,
|
||||
bin_segbase,
|
||||
null_segbase,
|
||||
bin_directive,
|
||||
bin_cleanup,
|
||||
NULL /* pragma list */
|
||||
@ -1691,7 +1686,7 @@ const struct ofmt of_srec = {
|
||||
bin_secname,
|
||||
NULL,
|
||||
bin_sectalign,
|
||||
bin_segbase,
|
||||
null_segbase,
|
||||
bin_directive,
|
||||
bin_cleanup,
|
||||
NULL /* pragma list */
|
||||
|
@ -1135,11 +1135,6 @@ static void coff_sectalign(int32_t seg, unsigned int value)
|
||||
s->flags = (s->flags & ~IMAGE_SCN_ALIGN_MASK) | value;
|
||||
}
|
||||
|
||||
static int32_t coff_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
extern macros_t coff_stdmac[];
|
||||
|
||||
#endif /* defined(OF_COFF) || defined(OF_WIN32) */
|
||||
@ -1163,7 +1158,7 @@ const struct ofmt of_coff = {
|
||||
coff_section_names,
|
||||
NULL,
|
||||
coff_sectalign,
|
||||
coff_segbase,
|
||||
null_segbase,
|
||||
coff_directives,
|
||||
coff_cleanup,
|
||||
NULL /* pragma list */
|
||||
@ -1194,7 +1189,7 @@ const struct ofmt of_win32 = {
|
||||
coff_section_names,
|
||||
NULL,
|
||||
coff_sectalign,
|
||||
coff_segbase,
|
||||
null_segbase,
|
||||
coff_directives,
|
||||
coff_cleanup,
|
||||
NULL /* pragma list */
|
||||
@ -1223,7 +1218,7 @@ const struct ofmt of_win64 = {
|
||||
coff_section_names,
|
||||
NULL,
|
||||
coff_sectalign,
|
||||
coff_segbase,
|
||||
null_segbase,
|
||||
coff_directives,
|
||||
coff_cleanup,
|
||||
NULL /* pragma list */
|
||||
|
@ -318,11 +318,6 @@ static void dbg_sectalign(int32_t seg, unsigned int value)
|
||||
seg, value);
|
||||
}
|
||||
|
||||
static int32_t dbg_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
static enum directive_result
|
||||
dbg_directive(enum directive directive, char *value, int pass)
|
||||
{
|
||||
@ -480,7 +475,7 @@ const struct ofmt of_dbg = {
|
||||
dbg_section_names,
|
||||
dbg_herelabel,
|
||||
dbg_sectalign,
|
||||
dbg_segbase,
|
||||
null_segbase,
|
||||
dbg_directive,
|
||||
dbg_cleanup,
|
||||
dbg_pragma_list
|
||||
|
@ -2220,11 +2220,6 @@ static void elf_sectalign(int32_t seg, unsigned int value)
|
||||
s->align = value;
|
||||
}
|
||||
|
||||
static int32_t elf_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
extern macros_t elf_stdmac[];
|
||||
|
||||
/* Claim "elf" as a pragma namespace, for the future */
|
||||
@ -2281,7 +2276,7 @@ const struct ofmt of_elf32 = {
|
||||
elf_section_names,
|
||||
NULL,
|
||||
elf_sectalign,
|
||||
elf_segbase,
|
||||
null_segbase,
|
||||
elf_directive,
|
||||
elf_cleanup,
|
||||
elf_pragma_list,
|
||||
@ -2333,7 +2328,7 @@ const struct ofmt of_elf64 = {
|
||||
elf_section_names,
|
||||
NULL,
|
||||
elf_sectalign,
|
||||
elf_segbase,
|
||||
null_segbase,
|
||||
elf_directive,
|
||||
elf_cleanup,
|
||||
elf_pragma_list,
|
||||
@ -2385,7 +2380,7 @@ const struct ofmt of_elfx32 = {
|
||||
elf_section_names,
|
||||
NULL,
|
||||
elf_sectalign,
|
||||
elf_segbase,
|
||||
null_segbase,
|
||||
elf_directive,
|
||||
elf_cleanup,
|
||||
NULL /* pragma list */
|
||||
|
@ -44,6 +44,7 @@ enum directive_result
|
||||
null_directive(enum directive directive, char *value, int pass);
|
||||
void null_sectalign(int32_t seg, unsigned int value);
|
||||
void null_reset(void);
|
||||
int32_t null_segbase(int32_t seg);
|
||||
|
||||
/* Do-nothing versions of all the debug routines */
|
||||
void null_debug_init(void);
|
||||
|
@ -1191,11 +1191,6 @@ static void macho_sectalign(int32_t seg, unsigned int value)
|
||||
s->align = align;
|
||||
}
|
||||
|
||||
static int32_t macho_segbase(int32_t section)
|
||||
{
|
||||
return section;
|
||||
}
|
||||
|
||||
extern macros_t macho_stdmac[];
|
||||
|
||||
/* Comparison function for qsort symbol layout. */
|
||||
@ -2394,7 +2389,7 @@ const struct ofmt of_macho32 = {
|
||||
macho_section,
|
||||
macho_herelabel,
|
||||
macho_sectalign,
|
||||
macho_segbase,
|
||||
null_segbase,
|
||||
null_directive,
|
||||
macho_cleanup,
|
||||
macho_pragma_list
|
||||
@ -2461,7 +2456,7 @@ const struct ofmt of_macho64 = {
|
||||
macho_section,
|
||||
macho_herelabel,
|
||||
macho_sectalign,
|
||||
macho_segbase,
|
||||
null_segbase,
|
||||
null_directive,
|
||||
macho_cleanup,
|
||||
macho_pragma_list,
|
||||
|
@ -712,11 +712,6 @@ static void rdf2_cleanup(void)
|
||||
fwriteint16_t(0, ofile);
|
||||
}
|
||||
|
||||
static int32_t rdf2_segbase(int32_t segment)
|
||||
{
|
||||
return segment;
|
||||
}
|
||||
|
||||
/*
|
||||
* Handle RDOFF2 specific directives
|
||||
*/
|
||||
@ -779,7 +774,7 @@ const struct ofmt of_rdf2 = {
|
||||
rdf2_section_names,
|
||||
NULL,
|
||||
null_sectalign,
|
||||
rdf2_segbase,
|
||||
null_segbase,
|
||||
rdf2_directive,
|
||||
rdf2_cleanup,
|
||||
NULL /* pragma list */
|
||||
|
Loading…
x
Reference in New Issue
Block a user