diff options
author | Keith <keith@Voyager.local> | 2008-09-08 19:48:55 -0500 |
---|---|---|
committer | Keith <keith@Voyager.local> | 2008-09-08 19:48:55 -0500 |
commit | 6a5bcc5cd981e1a15073b89d842b20e6127e6cd5 (patch) | |
tree | b5ddd538872b7e8e6ec7ec4b61157e0cebf9dc14 | |
parent | dce2209cac70932cb082c8171aac6f2ab74a1bb6 (diff) | |
download | nasm-6a5bcc5cd981e1a15073b89d842b20e6127e6cd5.tar.gz |
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: Makefile.in
modified: Mkfiles/msvc.mak
modified: Mkfiles/netware.mak
modified: Mkfiles/openwcom.mak
modified: Mkfiles/owlinux.mak
modified: outform.h
modified: output/outmacho.mac
modified: output/outmacho32.c
-rw-r--r-- | Makefile.in | 16 | ||||
-rw-r--r-- | Mkfiles/msvc.mak | 7 | ||||
-rw-r--r-- | Mkfiles/netware.mak | 12 | ||||
-rw-r--r-- | Mkfiles/openwcom.mak | 7 | ||||
-rw-r--r-- | Mkfiles/owlinux.mak | 7 | ||||
-rw-r--r-- | outform.h | 31 | ||||
-rw-r--r-- | output/outmacho.mac | 4 | ||||
-rw-r--r-- | output/outmacho32.c | 26 |
8 files changed, 77 insertions, 33 deletions
diff --git a/Makefile.in b/Makefile.in index 3167f3ff..e10daf7a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -66,7 +66,8 @@ NASM = nasm.$(O) nasmlib.$(O) raa.$(O) saa.$(O) \ output/outaout.$(O) output/outcoff.$(O) \ output/outelf32.$(O) output/outelf64.$(O) \ output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \ - output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \ + output/outdbg.$(O) output/outieee.$(O) \ + output/outmacho32.$(O) output/outmacho64.$(O) \ preproc.$(O) quote.$(O) pptok.$(O) macros.$(O) \ listing.$(O) eval.$(O) exprlib.$(O) stdscan.$(O) strfunc.$(O) \ tokhash.$(O) regvals.$(O) regflags.$(O) @@ -104,12 +105,12 @@ insnsn.c: insns.dat insns.pl # the version number. version.h: version version.pl $(PERL) $(srcdir)/version.pl h < $(srcdir)/version > version.h + version.mac: version version.pl $(PERL) $(srcdir)/version.pl mac < $(srcdir)/version > version.mac + version.sed: version version.pl $(PERL) $(srcdir)/version.pl sed < $(srcdir)/version > version.sed -version.mak: version version.pl - $(PERL) $(srcdir)/version.pl make < $(srcdir)/version > version.mak # This source file is generated from the standard macros file # `standard.mac' by another Perl script. Again, it's part of the @@ -157,7 +158,7 @@ pptok.ph: pptok.dat pptok.pl perllib/phash.ph PERLREQ = macros.c insnsb.c insnsa.c insnsd.c insnsi.h insnsn.c \ regs.c regs.h regflags.c regdis.c regdis.h regvals.c \ tokhash.c tokens.h pptok.h pptok.c pptok.ph \ - version.h version.mac version.mak + version.h version.mac perlreq: $(PERLREQ) install: nasm$(X) ndisasm$(X) @@ -224,9 +225,6 @@ nasm.spec: nasm.spec.in version.sed splint: splint -weak *.c -test: nasm$(X) - cd test && $(PERL) performtest.pl --nasm=../nasm *.asm - # # This build dependencies in *ALL* makefiles. Partially for that reason, # it's expected to be invoked manually. @@ -299,7 +297,9 @@ output/outelf64.$(O): output/outelf64.c compiler.h config.h insnsi.h nasm.h \ version.h output/outieee.$(O): output/outieee.c compiler.h config.h insnsi.h nasm.h \ nasmlib.h outform.h pptok.h preproc.h regs.h version.h -output/outmacho.$(O): output/outmacho.c compiler.h config.h insnsi.h nasm.h \ +output/outmacho32.$(O): output/outmacho32.c compiler.h config.h insnsi.h nasm.h \ + nasmlib.h outform.h pptok.h preproc.h raa.h regs.h saa.h version.h +output/outmacho64.$(O): output/outmacho64.c compiler.h config.h insnsi.h nasm.h \ nasmlib.h outform.h pptok.h preproc.h raa.h regs.h saa.h version.h output/outobj.$(O): output/outobj.c compiler.h config.h insnsi.h nasm.h \ nasmlib.h outform.h pptok.h preproc.h regs.h stdscan.h version.h diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index 0ec7e936..8d36fa3c 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -41,7 +41,8 @@ NASM = nasm.$(O) nasmlib.$(O) raa.$(O) saa.$(O) \ output/outaout.$(O) output/outcoff.$(O) \ output/outelf32.$(O) output/outelf64.$(O) \ output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \ - output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \ + output/outdbg.$(O) output/outieee.$(O) \ + output/outmacho32.$(O) output/outmacho64.$(O) \ preproc.$(O) quote.$(O) pptok.$(O) macros.$(O) \ listing.$(O) eval.$(O) exprlib.$(O) stdscan.$(O) strfunc.$(O) \ tokhash.$(O) regvals.$(O) regflags.$(O) @@ -234,7 +235,9 @@ output/outelf64.$(O): output/outelf64.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h version.h output/outieee.$(O): output/outieee.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h regs.h version.h -output/outmacho.$(O): output/outmacho.c compiler.h insnsi.h nasm.h nasmlib.h \ +output/outmacho32.$(O): output/outmacho32.c compiler.h insnsi.h nasm.h nasmlib.h \ + outform.h pptok.h preproc.h raa.h regs.h saa.h version.h +output/outmacho64.$(O): output/outmacho64.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h raa.h regs.h saa.h version.h output/outobj.$(O): output/outobj.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h regs.h stdscan.h version.h diff --git a/Mkfiles/netware.mak b/Mkfiles/netware.mak index 672221cf..8c37b8c2 100644 --- a/Mkfiles/netware.mak +++ b/Mkfiles/netware.mak @@ -3,7 +3,7 @@ PROOT=. OBJDIR=release --include $(OBJDIR)/version.mak +-include $(OBJDIR)/version.inc TARGETS=nasm.nlm ndisasm.nlm @@ -37,7 +37,8 @@ NASM = nasm.o nasmlib.o raa.o saa.o \ outaout.o outcoff.o \ outelf32.o outelf64.o \ outobj.o outas86.o outrdf2.o \ - outdbg.o outieee.o outmacho.o \ + outdbg.o outieee.o \ + outmacho32.o outmacho64.o \ preproc.o quote.o pptok.o macros.o \ listing.o eval.o exprlib.o stdscan.o strfunc.o \ tokhash.o regvals.o regflags.o @@ -113,7 +114,7 @@ clean: distclean: clean -$(RM) $(TARGETS) -$(OBJDIR)/version.mak: $(PROOT)/version $(PROOT)/version.pl $(OBJDIR) +$(OBJDIR)/version.inc: $(PROOT)/version $(PROOT)/version.pl $(OBJDIR) @$(PERL) $(PROOT)/version.pl make < $< > $@ #-- Magic hints to mkdep.pl --# @@ -174,9 +175,10 @@ outelf64.o: outelf64.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h version.h outieee.o: outieee.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ pptok.h preproc.h regs.h version.h -outmacho.o: outmacho.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ +outmacho32.o: outmacho32.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h raa.h regs.h saa.h version.h -outobj.o: outobj.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ +outmacho64.o: outmacho64.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ + outform.h pptok.h preproc.h raa.h regs.h saa.h version.houtobj.o: outobj.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ pptok.h preproc.h regs.h stdscan.h version.h outrdf.o: outrdf.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ pptok.h preproc.h regs.h version.h diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index 6ef4c4da..d13007bc 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -53,7 +53,8 @@ NASM = nasm.$(O) nasmlib.$(O) raa.$(O) saa.$(O) & output\outaout.$(O) output\outcoff.$(O) & output\outelf32.$(O) output\outelf64.$(O) & output\outobj.$(O) output\outas86.$(O) output\outrdf2.$(O) & - output\outdbg.$(O) output\outieee.$(O) output\outmacho.$(O) & + output\outdbg.$(O) output\outieee.$(O) & + output\outmacho32.$(O) output\outmacho64.$(O) & preproc.$(O) quote.$(O) pptok.$(O) macros.$(O) & listing.$(O) eval.$(O) exprlib.$(O) stdscan.$(O) strfunc.$(O) & tokhash.$(O) regvals.$(O) regflags.$(O) @@ -263,7 +264,9 @@ output\outelf64.$(O): output\outelf64.c compiler.h insnsi.h nasm.h nasmlib.h & outform.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h version.h output\outieee.$(O): output\outieee.c compiler.h insnsi.h nasm.h nasmlib.h & outform.h pptok.h preproc.h regs.h version.h -output\outmacho.$(O): output\outmacho.c compiler.h insnsi.h nasm.h nasmlib.h & +output\outmacho32.$(O): output\outmacho32.c compiler.h insnsi.h nasm.h nasmlib.h & + outform.h pptok.h preproc.h raa.h regs.h saa.h version.h +output\outmacho64.$(O): output\outmacho64.c compiler.h insnsi.h nasm.h nasmlib.h & outform.h pptok.h preproc.h raa.h regs.h saa.h version.h output\outobj.$(O): output\outobj.c compiler.h insnsi.h nasm.h nasmlib.h & outform.h pptok.h preproc.h regs.h stdscan.h version.h diff --git a/Mkfiles/owlinux.mak b/Mkfiles/owlinux.mak index acdfa78a..032d05d9 100644 --- a/Mkfiles/owlinux.mak +++ b/Mkfiles/owlinux.mak @@ -64,7 +64,8 @@ NASM = nasm.$(O) nasmlib.$(O) raa.$(O) saa.$(O) \ output/outaout.$(O) output/outcoff.$(O) \ output/outelf32.$(O) output/outelf64.$(O) \ output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \ - output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \ + output/outdbg.$(O) output/outieee.$(O) \ + output/outmacho32.$(O) output/outmacho64.$(O) \ preproc.$(O) quote.$(O) pptok.$(O) macros.$(O) \ listing.$(O) eval.$(O) exprlib.$(O) stdscan.$(O) strfunc.$(O) \ tokhash.$(O) regvals.$(O) regflags.$(O) @@ -273,7 +274,9 @@ output/outelf64.$(O): output/outelf64.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h version.h output/outieee.$(O): output/outieee.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h regs.h version.h -output/outmacho.$(O): output/outmacho.c compiler.h insnsi.h nasm.h nasmlib.h \ +output/outmacho32.$(O): output/outmacho32.c compiler.h insnsi.h nasm.h nasmlib.h \ + outform.h pptok.h preproc.h raa.h regs.h saa.h version.h +output/outmacho64.$(O): output/outmacho64.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h raa.h regs.h saa.h version.h output/outobj.$(O): output/outobj.c compiler.h insnsi.h nasm.h nasmlib.h \ outform.h pptok.h preproc.h regs.h stdscan.h version.h @@ -57,7 +57,7 @@ /* ====configurable info begins here==== */ /* formats configurable: - * bin,obj,elf32,elf64,aout,aoutb,coff,win32,as86,rdf2,macho */ + * bin,obj,elf32,elf64,aout,aoutb,coff,win32,as86,rdf2,macho32,macho64 */ /* process options... */ @@ -104,8 +104,11 @@ #ifndef OF_IEEE #define OF_IEEE #endif -#ifndef OF_MACHO -#define OF_MACHO +#ifndef OF_MACHO32 +#define OF_MACHO32 +#endif +#ifndef OF_MACHO64 +#define OF_MACHO64 #endif #endif /* OF_ALL */ @@ -159,8 +162,11 @@ #ifndef OF_IEEE #define OF_IEEE #endif -#ifndef OF_MACHO -#define OF_MACHO +#ifndef OF_MACHO32 +#define OF_MACHO32 +#endif +#ifndef OF_MACHO64 +#define OF_MACHO64 #endif #endif @@ -201,8 +207,11 @@ #ifdef OF_NO_IEEE #undef OF_IEEE #endif -#ifdef OF_NO_MACHO -#undef OF_MACHO +#ifdef OF_NO_MACHO32 +#undef OF_MACHO32 +#endif +#ifdef OF_NO_MACHO64 +#undef OF_MACHO64 #endif #ifndef OF_DEFAULT @@ -227,7 +236,9 @@ extern struct ofmt of_win32; extern struct ofmt of_win64; extern struct ofmt of_rdf2; extern struct ofmt of_ieee; +extern struct ofmt of_macho32; extern struct ofmt of_macho; +extern struct ofmt of_macho64; extern struct ofmt of_dbg; struct ofmt *drivers[] = { @@ -268,9 +279,13 @@ struct ofmt *drivers[] = { #ifdef OF_IEEE &of_ieee, #endif -#ifdef OF_MACHO +#ifdef OF_MACHO32 + &of_macho32, &of_macho, #endif +#ifdef OF_MACHO64 + &of_macho64, +#endif #ifdef OF_DBG &of_dbg, #endif diff --git a/output/outmacho.mac b/output/outmacho.mac index c135bf43..bef343d2 100644 --- a/output/outmacho.mac +++ b/output/outmacho.mac @@ -1,4 +1,4 @@ -OUT: macho win32 win64 +OUT: macho macho32 macho64 win32 win64 %define __SECT__ [section .text] %macro __NASM_CDecl__ 1 -%endmacro +%endmacro
\ No newline at end of file diff --git a/output/outmacho32.c b/output/outmacho32.c index 5e9ad8e1..a3b01315 100644 --- a/output/outmacho32.c +++ b/output/outmacho32.c @@ -1,5 +1,5 @@ -/* outmacho.c output routines for the Netwide Assembler to produce - * NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X object files +/* outmacho32.c output routines for the Netwide Assembler to produce + * NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files * * The Netwide Assembler is copyright (C) 1996 Simon Tatham and * Julian Hall. All rights reserved. The software is @@ -25,7 +25,7 @@ #include "outform.h" #include "compiler.h" -#if defined(OF_MACHO) +#if defined(OF_MACHO32) /* Mach-O in-file header structure sizes */ #define MACHO_HEADER_SIZE (28) @@ -1306,8 +1306,26 @@ static void debug_section_relocs (struct section *s) } } +struct ofmt of_macho32 = { + "NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files", + "macho32", + NULL, + null_debug_arr, + &null_debug_form, + macho_stdmac, + macho_init, + macho_setinfo, + macho_output, + macho_symdef, + macho_section, + macho_segbase, + macho_directive, + macho_filename, + macho_cleanup +}; + struct ofmt of_macho = { - "NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X object files", + "MACHO (short name for MACHO32)", "macho", NULL, null_debug_arr, |