Rename SEGALIGN to SECTALIGN

"sectalign" is preferred over "segalign"
since it operates over section attributes.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
Cyrill Gorcunov 2010-04-21 13:45:32 +04:00
parent 1f3db76ee9
commit 2ef5c27be7
19 changed files with 34 additions and 35 deletions

View file

@ -48,7 +48,7 @@ list
section section
segment segment
warning warning
segalign sectalign
; --- Format-specific directives ; --- Format-specific directives
export ; outcoff, outobj export ; outcoff, outobj

View file

@ -161,7 +161,7 @@ USE: smartalign
%unimacro align 1-2+.nolist %unimacro align 1-2+.nolist
%imacro align 1-2+.nolist %imacro align 1-2+.nolist
segalign %1 ; align a segment as well sectalign %1 ; align a segment as well
%ifnempty %2 %ifnempty %2
times (((%1) - (($-$$) % (%1))) % (%1)) %2 times (((%1) - (($-$$) % (%1))) % (%1)) %2
%else %else

6
nasm.c
View file

@ -1232,17 +1232,17 @@ static void assemble_file(char *fname, StrList **depend_ptr)
location.segment = seg; location.segment = seg;
} }
break; break;
case D_SEGALIGN: /* [SEGALIGN n] */ case D_SECTALIGN: /* [SECTALIGN n] */
{ {
if (*value) { if (*value) {
int align = atoi(value); unsigned int align = atoi(value);
if (!is_power2(align)) { if (!is_power2(align)) {
nasm_error(ERR_NONFATAL, nasm_error(ERR_NONFATAL,
"segment alignment `%s' is not power of two", "segment alignment `%s' is not power of two",
value); value);
} }
/* callee should be able to handle all details */ /* callee should be able to handle all details */
ofmt->segalign(location.segment, align); ofmt->sectalign(location.segment, align);
} }
} }
break; break;

6
nasm.h
View file

@ -682,10 +682,10 @@ struct ofmt {
int32_t (*section) (char *name, int pass, int *bits); int32_t (*section) (char *name, int pass, int *bits);
/* /*
* This procedure is called to modify segment alignment, * This procedure is called to modify section alignment,
* there is a trick, the alignment can only increase * note there is a trick, the alignment can only increase
*/ */
void (*segalign)(int32_t seg, int value); void (*sectalign)(int32_t seg, unsigned int value);
/* /*
* This procedure is called to modify the segment base values * This procedure is called to modify the segment base values

View file

@ -50,7 +50,7 @@ int null_directive(enum directives directive, char *value, int pass)
return 0; return 0;
} }
void null_segalign(int32_t seg, int value) void null_sectalign(int32_t seg, unsigned int value)
{ {
(void)seg; (void)seg;
(void)value; (void)value;

View file

@ -924,7 +924,7 @@ struct ofmt of_aout = {
aout_out, aout_out,
aout_deflabel, aout_deflabel,
aout_section_names, aout_section_names,
null_segalign, null_sectalign,
aout_segbase, aout_segbase,
null_directive, null_directive,
aout_filename, aout_filename,
@ -947,7 +947,7 @@ struct ofmt of_aoutb = {
aout_out, aout_out,
aout_deflabel, aout_deflabel,
aout_section_names, aout_section_names,
null_segalign, null_sectalign,
aout_segbase, aout_segbase,
null_directive, null_directive,
aout_filename, aout_filename,

View file

@ -638,7 +638,7 @@ struct ofmt of_as86 = {
as86_out, as86_out,
as86_deflabel, as86_deflabel,
as86_section_names, as86_section_names,
null_segalign, null_sectalign,
as86_segbase, as86_segbase,
null_directive, null_directive,
as86_filename, as86_filename,

View file

@ -1672,7 +1672,7 @@ struct ofmt of_bin = {
bin_out, bin_out,
bin_deflabel, bin_deflabel,
bin_secname, bin_secname,
null_segalign, null_sectalign,
bin_segbase, bin_segbase,
bin_directive, bin_directive,
bin_filename, bin_filename,
@ -1691,7 +1691,7 @@ struct ofmt of_ith = {
bin_out, bin_out,
bin_deflabel, bin_deflabel,
bin_secname, bin_secname,
null_segalign, null_sectalign,
bin_segbase, bin_segbase,
bin_directive, bin_directive,
ith_filename, ith_filename,
@ -1710,7 +1710,7 @@ struct ofmt of_srec = {
bin_out, bin_out,
bin_deflabel, bin_deflabel,
bin_secname, bin_secname,
null_segalign, null_sectalign,
bin_segbase, bin_segbase,
bin_directive, bin_directive,
srec_filename, srec_filename,

View file

@ -1012,7 +1012,7 @@ struct ofmt of_coff = {
coff_out, coff_out,
coff_deflabel, coff_deflabel,
coff_section_names, coff_section_names,
null_segalign, null_sectalign,
coff_segbase, coff_segbase,
coff_directives, coff_directives,
coff_std_filename, coff_std_filename,
@ -1035,7 +1035,7 @@ struct ofmt of_win32 = {
coff_out, coff_out,
coff_deflabel, coff_deflabel,
coff_section_names, coff_section_names,
null_segalign, null_sectalign,
coff_segbase, coff_segbase,
coff_directives, coff_directives,
coff_win32_filename, coff_win32_filename,
@ -1058,7 +1058,7 @@ struct ofmt of_win64 = {
coff_out, coff_out,
coff_deflabel, coff_deflabel,
coff_section_names, coff_section_names,
null_segalign, null_sectalign,
coff_segbase, coff_segbase,
coff_directives, coff_directives,
coff_win32_filename, coff_win32_filename,

View file

@ -166,7 +166,7 @@ static void dbg_out(int32_t segto, const void *data,
} }
} }
static void dbg_segalign(int32_t seg, int value) static void dbg_sectalign(int32_t seg, unsigned int value)
{ {
fprintf(ofile, "set alignment (%d) for segment (%d)\n", fprintf(ofile, "set alignment (%d) for segment (%d)\n",
seg, value); seg, value);
@ -265,7 +265,7 @@ struct ofmt of_dbg = {
dbg_out, dbg_out,
dbg_deflabel, dbg_deflabel,
dbg_section_names, dbg_section_names,
dbg_segalign, dbg_sectalign,
dbg_segbase, dbg_segbase,
dbg_directive, dbg_directive,
dbg_filename, dbg_filename,

View file

@ -1305,7 +1305,7 @@ static void elf_sect_write(struct Section *sect,
sect->len += len; sect->len += len;
} }
static void elf_segalign(int32_t seg, int value) static void elf_sectalign(int32_t seg, unsigned int value)
{ {
struct Section *s = NULL; struct Section *s = NULL;
int i; int i;
@ -1319,7 +1319,7 @@ static void elf_segalign(int32_t seg, int value)
if (!s || !is_power2(value)) if (!s || !is_power2(value))
return; return;
if ((unsigned int)value > s->align) if (value > s->align)
s->align = value; s->align = value;
} }
@ -1419,7 +1419,7 @@ struct ofmt of_elf32 = {
elf_out, elf_out,
elf_deflabel, elf_deflabel,
elf_section_names, elf_section_names,
elf_segalign, elf_sectalign,
elf_segbase, elf_segbase,
elf_directive, elf_directive,
elf_filename, elf_filename,

View file

@ -1405,7 +1405,7 @@ static void elf_sect_writeaddr(struct Section *sect, int64_t data, size_t len)
sect->len += len; sect->len += len;
} }
static void elf_segalign(int32_t seg, int value) static void elf_sectalign(int32_t seg, unsigned int value)
{ {
struct Section *s = NULL; struct Section *s = NULL;
int i; int i;
@ -1419,7 +1419,7 @@ static void elf_segalign(int32_t seg, int value)
if (!s || !is_power2(value)) if (!s || !is_power2(value))
return; return;
if ((unsigned int)value > s->align) if (value > s->align)
s->align = value; s->align = value;
} }
@ -1519,7 +1519,7 @@ struct ofmt of_elf64 = {
elf_out, elf_out,
elf_deflabel, elf_deflabel,
elf_section_names, elf_section_names,
elf_segalign, elf_sectalign,
elf_segbase, elf_segbase,
elf_directive, elf_directive,
elf_filename, elf_filename,

View file

@ -1501,7 +1501,7 @@ struct ofmt of_ieee = {
ieee_out, ieee_out,
ieee_deflabel, ieee_deflabel,
ieee_segment, ieee_segment,
null_segalign, null_sectalign,
ieee_segbase, ieee_segbase,
ieee_directive, ieee_directive,
ieee_filename, ieee_filename,

View file

@ -41,7 +41,7 @@ uint64_t realsize(enum out_type type, uint64_t size);
/* Do-nothing versions of some output routines */ /* Do-nothing versions of some output routines */
int null_setinfo(enum geninfo type, char **string); int null_setinfo(enum geninfo type, char **string);
int null_directive(enum directives directive, char *value, int pass); int null_directive(enum directives directive, char *value, int pass);
void null_segalign(int32_t seg, int value); void null_sectalign(int32_t seg, unsigned int value);
/* Do-nothing versions of all the debug routines */ /* Do-nothing versions of all the debug routines */
struct ofmt; struct ofmt;

View file

@ -1317,7 +1317,7 @@ struct ofmt of_macho32 = {
macho_output, macho_output,
macho_symdef, macho_symdef,
macho_section, macho_section,
null_segalign, null_sectalign,
macho_segbase, macho_segbase,
null_directive, null_directive,
macho_filename, macho_filename,

View file

@ -1488,7 +1488,7 @@ struct ofmt of_macho64 = {
macho_output, macho_output,
macho_symdef, macho_symdef,
macho_section, macho_section,
null_segalign, null_sectalign,
macho_segbase, macho_segbase,
null_directive, null_directive,
macho_filename, macho_filename,

View file

@ -2559,7 +2559,7 @@ struct ofmt of_obj = {
obj_out, obj_out,
obj_deflabel, obj_deflabel,
obj_segment, obj_segment,
null_segalign, null_sectalign,
obj_segbase, obj_segbase,
obj_directive, obj_directive,
obj_filename, obj_filename,

View file

@ -788,7 +788,7 @@ struct ofmt of_rdf2 = {
rdf2_out, rdf2_out,
rdf2_deflabel, rdf2_deflabel,
rdf2_section_names, rdf2_section_names,
null_segalign, null_sectalign,
rdf2_segbase, rdf2_segbase,
rdf2_directive, rdf2_directive,
rdf2_filename, rdf2_filename,

View file

@ -66,9 +66,8 @@
%define __SECT__ [segment %1] %define __SECT__ [segment %1]
__SECT__ __SECT__
%endmacro %endmacro
%imacro segalign 1+.nolist %imacro sectalign 1.nolist
%define __SECT__ [segalign %1] [sectalign %1]
__SECT__
%endmacro %endmacro
%imacro absolute 1+.nolist %imacro absolute 1+.nolist