summaryrefslogtreecommitdiff
path: root/output/outmacho.mac
Commit message (Collapse)AuthorAgeFilesLines
* preproc: standard macros now C-safe, %aliases off, fix %? recursionH. Peter Anvin2019-08-271-4/+4
| | | | | | | | | | | | | | | | | | | | Enough users expect the namespace starting with underscore to be safe for symbols. Change our private namespace from __foo__ to __?foo?__. Use %defalias to provide backwards compatiblity (by using %defalias instead of %define, we handle the case properly where the user changes the value.) Add a preprocessor directive: %aliases off ... to disable all smacro aliases and thereby making the namespace clean. Finally, fix infinite recursion when seeing %? or %?? due to paste_tokens(). If we don't paste anything, the expansion is done. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* macho: implement do_dead_strip, make subsections_by_symbols a pragmaH. Peter Anvin2017-03-141-2/+9
| | | | | | | | | | | | | | | | | | | Implement the MachO do_dead_strip directive, which sets a flag on the corresponding section. This as well as subsections_by_symbols are reimplemented as pragmas; if someone uses the predefined macro they still get the expected behavior. However, this allows someone to write: %pragma macho subsections_by_symbols ... and have it ignored if compiling for, say, ELF. Also, implement the following section attributes: zerofill, no_dead_strip, live_support, strip_static_syms Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outmacho.mac: fix typo in subsections_via_symbolsH. Peter Anvin2017-03-071-2/+2
| | | | | | subsections_via_symbols is plural for both nouns. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* output: output format macros should be case insensitiveH. Peter Anvin2017-03-071-1/+1
| | | | | | | Use %imacro instead of %macro for ELF "osabi" and Mach-O "subsections_by_symbols". Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* outmacho: support the "subsections_via_symbols" directiveH. Peter Anvin2017-03-071-1/+6
| | | | | | | | | The "subsection_via_symbols" directive simply sets a flag in the Mach-O file header. Requested in BR 3392367. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* macho64: Manually merge macho64 branch with master branch.Keith Kanios2009-07-081-1/+1
|
* NASM: relicense under the 2-clause BSD licenseH. Peter Anvin2009-07-061-12/+0
| | | | | | | | *To the best of my knowledge*, we now have authorization from everyone who has significantly contributed to NASM in the past. As such, change the license to the 2-clause BSD license. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add copyright headers to macro filesH. Peter Anvin2009-06-281-0/+45
| | | | | | | These are definitely overly restrictive, need auditing to pare them down to proper BSD licensing. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* macros: win32 and win64 are COFF, not Mach-OH. Peter Anvin2008-09-091-1/+1
| | | | | | | | Somehow the win32 and win64 aliases got listed on Mach-O, not on COFF. This doesn't have any effect on the current code, but might in the future. Correct. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Move the output format macros into the macros.pl mechanismH. Peter Anvin2008-06-201-0/+4
Move the handling of "extra" macros (i.e. output format macros) into the macros.pl mechanism. This allows us to change the format of the internal macro store in the future - e.g. to a single byte store without redundant pointers. Also, stop using indicies into a long array when there is no good reason to not just use different arrays.