Cleanup of label renaming infrastructure, add subsection support
commit98578071b9d71ecaa2344dd9c185237c1765041e
authorH. Peter Anvin <hpa@linux.intel.com>
Sat, 2 Jun 2018 01:02:54 +0000 (1 18:02 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Sat, 2 Jun 2018 01:06:25 +0000 (1 18:06 -0700)
tree74dfdf8b0f587364f34ae804dc7ce0cd7d81ba7e
parent8413e8167a21a922bbf99660165bb091e71bf1c0
Cleanup of label renaming infrastructure, add subsection support

In order to support Mach-O better, add support for subsections, as
used by Mach-O "subsections_via_symbols". We also want to add
infrastructure to support this by downcalling to the backend to
indicate if a new subsection is needed.

Currently this supports a maximum of 2^14 subsections per section for
Mach-O; this can be addressed by adding a level of indirection (or
cleaning up the handling of sections so we have an actual data
structure.)

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
21 files changed:
asm/directiv.c
asm/directiv.dat
asm/eval.c
asm/labels.c
asm/nasm.c
asm/parser.c
asm/parser.h
asm/pragma.c
asm/segalloc.c
include/labels.h
include/nasm.h
macros/standard.mac
output/outaout.c
output/outbin.c
output/outcoff.c
output/outdbg.c
output/outelf.c
output/outieee.c
output/outmacho.c
output/outobj.c
test/subsection.asm