[Nasm-commits] [nasm:macho64] Changes to be committed: (use "git reset HEAD <file>..." to unstage)

nasm-bot for Keith keith at Voyager.local
Thu Jun 4 19:56:14 PDT 2020


Commit-ID:  6a5bcc5cd981e1a15073b89d842b20e6127e6cd5
Gitweb:     http://repo.or.cz/w/nasm.git?a=commitdiff;h=6a5bcc5cd981e1a15073b89d842b20e6127e6cd5
Author:     Keith <keith at Voyager.local>
AuthorDate: Mon, 8 Sep 2008 19:48:55 -0500
Committer:  Keith <keith at Voyager.local>
CommitDate: Mon, 8 Sep 2008 19:48:55 -0500

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


---
 Makefile.in          | 16 ++++++++--------
 Mkfiles/msvc.mak     |  7 +++++--
 Mkfiles/netware.mak  | 12 +++++++-----
 Mkfiles/openwcom.mak |  7 +++++--
 Mkfiles/owlinux.mak  |  7 +++++--
 outform.h            | 31 +++++++++++++++++++++++--------
 output/outmacho.mac  |  4 ++--
 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
diff --git a/outform.h b/outform.h
index 6d535929..585ad4e4 100644
--- a/outform.h
+++ b/outform.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,


More information about the Nasm-commits mailing list