mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-04-12 18:40:23 +08:00
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:
parent
1f3db76ee9
commit
2ef5c27be7
@ -48,7 +48,7 @@ list
|
||||
section
|
||||
segment
|
||||
warning
|
||||
segalign
|
||||
sectalign
|
||||
|
||||
; --- Format-specific directives
|
||||
export ; outcoff, outobj
|
||||
|
@ -161,7 +161,7 @@ USE: smartalign
|
||||
|
||||
%unimacro 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
|
||||
times (((%1) - (($-$$) % (%1))) % (%1)) %2
|
||||
%else
|
||||
|
6
nasm.c
6
nasm.c
@ -1232,17 +1232,17 @@ static void assemble_file(char *fname, StrList **depend_ptr)
|
||||
location.segment = seg;
|
||||
}
|
||||
break;
|
||||
case D_SEGALIGN: /* [SEGALIGN n] */
|
||||
case D_SECTALIGN: /* [SECTALIGN n] */
|
||||
{
|
||||
if (*value) {
|
||||
int align = atoi(value);
|
||||
unsigned int align = atoi(value);
|
||||
if (!is_power2(align)) {
|
||||
nasm_error(ERR_NONFATAL,
|
||||
"segment alignment `%s' is not power of two",
|
||||
value);
|
||||
}
|
||||
/* callee should be able to handle all details */
|
||||
ofmt->segalign(location.segment, align);
|
||||
ofmt->sectalign(location.segment, align);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
6
nasm.h
6
nasm.h
@ -682,10 +682,10 @@ struct ofmt {
|
||||
int32_t (*section) (char *name, int pass, int *bits);
|
||||
|
||||
/*
|
||||
* This procedure is called to modify segment alignment,
|
||||
* there is a trick, the alignment can only increase
|
||||
* This procedure is called to modify section alignment,
|
||||
* 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
|
||||
|
@ -50,7 +50,7 @@ int null_directive(enum directives directive, char *value, int pass)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void null_segalign(int32_t seg, int value)
|
||||
void null_sectalign(int32_t seg, unsigned int value)
|
||||
{
|
||||
(void)seg;
|
||||
(void)value;
|
||||
|
@ -924,7 +924,7 @@ struct ofmt of_aout = {
|
||||
aout_out,
|
||||
aout_deflabel,
|
||||
aout_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
aout_segbase,
|
||||
null_directive,
|
||||
aout_filename,
|
||||
@ -947,7 +947,7 @@ struct ofmt of_aoutb = {
|
||||
aout_out,
|
||||
aout_deflabel,
|
||||
aout_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
aout_segbase,
|
||||
null_directive,
|
||||
aout_filename,
|
||||
|
@ -638,7 +638,7 @@ struct ofmt of_as86 = {
|
||||
as86_out,
|
||||
as86_deflabel,
|
||||
as86_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
as86_segbase,
|
||||
null_directive,
|
||||
as86_filename,
|
||||
|
@ -1672,7 +1672,7 @@ struct ofmt of_bin = {
|
||||
bin_out,
|
||||
bin_deflabel,
|
||||
bin_secname,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
bin_segbase,
|
||||
bin_directive,
|
||||
bin_filename,
|
||||
@ -1691,7 +1691,7 @@ struct ofmt of_ith = {
|
||||
bin_out,
|
||||
bin_deflabel,
|
||||
bin_secname,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
bin_segbase,
|
||||
bin_directive,
|
||||
ith_filename,
|
||||
@ -1710,7 +1710,7 @@ struct ofmt of_srec = {
|
||||
bin_out,
|
||||
bin_deflabel,
|
||||
bin_secname,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
bin_segbase,
|
||||
bin_directive,
|
||||
srec_filename,
|
||||
|
@ -1012,7 +1012,7 @@ struct ofmt of_coff = {
|
||||
coff_out,
|
||||
coff_deflabel,
|
||||
coff_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
coff_segbase,
|
||||
coff_directives,
|
||||
coff_std_filename,
|
||||
@ -1035,7 +1035,7 @@ struct ofmt of_win32 = {
|
||||
coff_out,
|
||||
coff_deflabel,
|
||||
coff_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
coff_segbase,
|
||||
coff_directives,
|
||||
coff_win32_filename,
|
||||
@ -1058,7 +1058,7 @@ struct ofmt of_win64 = {
|
||||
coff_out,
|
||||
coff_deflabel,
|
||||
coff_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
coff_segbase,
|
||||
coff_directives,
|
||||
coff_win32_filename,
|
||||
|
@ -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",
|
||||
seg, value);
|
||||
@ -265,7 +265,7 @@ struct ofmt of_dbg = {
|
||||
dbg_out,
|
||||
dbg_deflabel,
|
||||
dbg_section_names,
|
||||
dbg_segalign,
|
||||
dbg_sectalign,
|
||||
dbg_segbase,
|
||||
dbg_directive,
|
||||
dbg_filename,
|
||||
|
@ -1305,7 +1305,7 @@ static void elf_sect_write(struct Section *sect,
|
||||
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;
|
||||
int i;
|
||||
@ -1319,7 +1319,7 @@ static void elf_segalign(int32_t seg, int value)
|
||||
if (!s || !is_power2(value))
|
||||
return;
|
||||
|
||||
if ((unsigned int)value > s->align)
|
||||
if (value > s->align)
|
||||
s->align = value;
|
||||
}
|
||||
|
||||
@ -1419,7 +1419,7 @@ struct ofmt of_elf32 = {
|
||||
elf_out,
|
||||
elf_deflabel,
|
||||
elf_section_names,
|
||||
elf_segalign,
|
||||
elf_sectalign,
|
||||
elf_segbase,
|
||||
elf_directive,
|
||||
elf_filename,
|
||||
|
@ -1405,7 +1405,7 @@ static void elf_sect_writeaddr(struct Section *sect, int64_t data, size_t 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;
|
||||
int i;
|
||||
@ -1419,7 +1419,7 @@ static void elf_segalign(int32_t seg, int value)
|
||||
if (!s || !is_power2(value))
|
||||
return;
|
||||
|
||||
if ((unsigned int)value > s->align)
|
||||
if (value > s->align)
|
||||
s->align = value;
|
||||
}
|
||||
|
||||
@ -1519,7 +1519,7 @@ struct ofmt of_elf64 = {
|
||||
elf_out,
|
||||
elf_deflabel,
|
||||
elf_section_names,
|
||||
elf_segalign,
|
||||
elf_sectalign,
|
||||
elf_segbase,
|
||||
elf_directive,
|
||||
elf_filename,
|
||||
|
@ -1501,7 +1501,7 @@ struct ofmt of_ieee = {
|
||||
ieee_out,
|
||||
ieee_deflabel,
|
||||
ieee_segment,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
ieee_segbase,
|
||||
ieee_directive,
|
||||
ieee_filename,
|
||||
|
@ -41,7 +41,7 @@ uint64_t realsize(enum out_type type, uint64_t size);
|
||||
/* Do-nothing versions of some output routines */
|
||||
int null_setinfo(enum geninfo type, char **string);
|
||||
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 */
|
||||
struct ofmt;
|
||||
|
@ -1317,7 +1317,7 @@ struct ofmt of_macho32 = {
|
||||
macho_output,
|
||||
macho_symdef,
|
||||
macho_section,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
macho_segbase,
|
||||
null_directive,
|
||||
macho_filename,
|
||||
|
@ -1488,7 +1488,7 @@ struct ofmt of_macho64 = {
|
||||
macho_output,
|
||||
macho_symdef,
|
||||
macho_section,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
macho_segbase,
|
||||
null_directive,
|
||||
macho_filename,
|
||||
|
@ -2559,7 +2559,7 @@ struct ofmt of_obj = {
|
||||
obj_out,
|
||||
obj_deflabel,
|
||||
obj_segment,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
obj_segbase,
|
||||
obj_directive,
|
||||
obj_filename,
|
||||
|
@ -788,7 +788,7 @@ struct ofmt of_rdf2 = {
|
||||
rdf2_out,
|
||||
rdf2_deflabel,
|
||||
rdf2_section_names,
|
||||
null_segalign,
|
||||
null_sectalign,
|
||||
rdf2_segbase,
|
||||
rdf2_directive,
|
||||
rdf2_filename,
|
||||
|
@ -66,9 +66,8 @@
|
||||
%define __SECT__ [segment %1]
|
||||
__SECT__
|
||||
%endmacro
|
||||
%imacro segalign 1+.nolist
|
||||
%define __SECT__ [segalign %1]
|
||||
__SECT__
|
||||
%imacro sectalign 1.nolist
|
||||
[sectalign %1]
|
||||
%endmacro
|
||||
|
||||
%imacro absolute 1+.nolist
|
||||
|
Loading…
x
Reference in New Issue
Block a user