Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
d039d2c
Fix ^R to ignore RAD50 characters after the first three.
pkoning2 Aug 9, 2022
eeb4720
Cleanup trailing whitespace.
Rhialto Jul 30, 2022
f552587
Add .packed directive.
Rhialto Aug 9, 2022
1f08014
Better check for bad symbol redefinitions.
Rhialto Aug 11, 2022
ffd5159
Improve error messages.
Rhialto Aug 11, 2022
9086d13
Don't admit to more than 16 bits in error message.
Rhialto Aug 11, 2022
d1fc177
Support multiple labels on a given source line.
pkoning2 Aug 17, 2022
1ef6d2e
Fix some arguments to ctype functions.
Rhialto Feb 12, 2023
5d6631f
Say "symbol" instead of "label".
Rhialto Feb 12, 2023
7838b6d
Changes for dumpobj, contributed by Mike Hill.
PDP-1170 Feb 12, 2023
2abd3c8
Makefile adjustments for Mike's contribution.
Rhialto Feb 12, 2023
3c1d3f3
Some further dumpobj improvements (from Mike Hill)
PDP-1170 Feb 15, 2023
223e91a
Changes from Mike Hill.
PDP-1170 Mar 10, 2023
2414451
Fix 2 warnings from gcc.
Rhialto Mar 10, 2023
f2d1a5a
Start fixing up tests.
Rhialto Mar 14, 2023
5dc4317
Adjust some of the new test results.
Rhialto Mar 14, 2023
a2f747d
Next set of Mike's changes.
PDP-1170 Mar 23, 2023
07abd66
Undo __VA_ARGS__ in report_* macros.
Rhialto Mar 24, 2023
24335ec
Add braces to avoid ambiguous dangling else
Rhialto Mar 24, 2023
ca0f183
Add some /* FALL THROUGH */ comments to silence gcc.
Rhialto Mar 24, 2023
51b8ac5
End a comment.
Rhialto Mar 24, 2023
8355f9d
Re-enable the test-prec test.
Rhialto Mar 24, 2023
212275d
Accept new reference files for a bunch of tests.
Rhialto Mar 24, 2023
f62a1cf
Add some more changed reference files.
Rhialto Mar 24, 2023
7aba9bc
Next set of Mike's changes.
PDP-1170 Apr 2, 2023
7292128
More changes from Mike Hill.
PDP-1170 Apr 9, 2023
083e4d7
Add adjusted reference files
Rhialto Apr 9, 2023
87e2ddc
Whitespace-only changes in the *.lst.ok files.
Rhialto Apr 9, 2023
ea81d5a
Further changes contributed by Mike Hill.
PDP-1170 Apr 30, 2023
ad3386e
Avoid strcpy() copying overlapping memory.
Rhialto Apr 30, 2023
0966bec
Avoid some warnings from gcc.
Rhialto Apr 30, 2023
83c875b
Avoid some warnings from gcc.
Rhialto Apr 30, 2023
26a8de1
Avoid gcc warning about {} after if.
Rhialto Apr 30, 2023
99aa1d1
Annotate '=' symbol in symtab listing.
Rhialto Apr 30, 2023
565f3f1
Adjust RunTests to newer options of macro11.
Rhialto Apr 30, 2023
7f890a1
Adjust reference listings
Rhialto Apr 30, 2023
4d6e9d9
Further changes from Mike Hill.
PDP-1170 May 7, 2023
432bd47
Extend the listing test a lot.
Rhialto May 8, 2023
9cffa0b
More from Mike Hill.
PDP-1170 May 9, 2023
a83cfcf
Next batch of changes from Mike Hill.
PDP-1170 May 25, 2023
ebe8461
Mike says all changes are expected.
Rhialto May 27, 2023
b7d2b2e
More from Mike Hill.
PDP-1170 Jun 29, 2023
f12bf3d
The latest from Mike Hill.
PDP-1170 Oct 24, 2023
0a0c334
Build readme.lst (the documentation) too.
Rhialto Oct 25, 2023
3ac3b81
Always use a format string with printf().
Rhialto Oct 25, 2023
8546ca3
Merge branch 'mike-hill'
Rhialto Oct 28, 2023
89bae55
Add description of new options to the README.
Rhialto Oct 28, 2023
7ba4d38
Adjust "argtests" to changed option -xtract.
Rhialto Oct 28, 2023
d8800c1
Prepare for release 0.9.
Rhialto Dec 13, 2023
705b46c
Merge commit 'd8800c19274646d5573c3f2a9e8f51f579e60bcd' into macro11-…
Rhialto Apr 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,661 changes: 1,657 additions & 4 deletions crossassemblers/macro11/CHANGES

Large diffs are not rendered by default.

68 changes: 68 additions & 0 deletions crossassemblers/macro11/CHANGES_dumpobj.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@

----------- Mike Hill's entries ------------------

13-Feb-2023: Mike Hill
- dumpobj.c
RLD 'global reloc' records now count as bad records for LDA output
Minor 'LDA output' error message changes etc.
#define XFERAD_WHEN_ZERO 2 instead of using a constant (2)
#define VERSION to 13-Feb-2023

11-Feb-2023: Mike Hill
- dumpobj.c
Only compile the auto-detect code #if DEFAULT_OBJECTFORMAT_RT11 < 0
#include "git-info.h" #if !defined(SKIP_GIT_INFO)
Show the GIT_VERSION and GIT_AUTHOR_DATE if available
#define VERSION to 11-Feb-2023

08-Feb-2023: Mike Hill
- dumpobj.c
Fixed gcc warnings (embedded comments; int<unsigned; shadowed 'cp', etc.)
Removed trailing newline if no errors are reported

04-Feb-2023: Mike Hill
- dumpobj.c
Added -h option to show the help text and examples

02-Feb-2023: Mike Hill
Enhancements (fixes) to dumpobj
- dumpobj.c
LDA output will not write data > MAX_LDA_ADDR
Added command options:
-align : aligns GSD fields (easier to read)
-noalign : GSD format remains the same as previous versions
-nosort : does not sort the GSD entries (preserves OBJ order)
-of <org> : same as '-o' but does not relocate 'internal' RLDs
-w <...> : add patch words to the LDA file
-x : provide a new LDA transfer address
Summary '-s' now shows a list of PSECTs (currently disabled)
Error message if an LDA file is written with more than one PSECT with data

01-Feb-2023: Mike Hill
Enhancements (fixes) to dumpobj
- dumpobj.c
Now writes the relocated 'Internal' RLD to the LDA output
Added -o <origin> for LDA output
Made CSECT + VSECT + 'COMPRTN' + LIBHDR + LIBEND a 'badbin'

31-Jan-2023: Mike Hill
Enhancements to dumpobj
- dumpobj.c
Implement auto-detection of object type when -rt11 and -rsx not specified
#define DEFAULT_OBJECTFORMAT_RT11 -1 /* Enables this option */
Added '-q' [quiet] and '-qt' [quiet-text] and '-s' [summary] options
Changed the usage text accordingly and added information about dumpobj
Count bad format (badfmt) and bad binary errors (badbin)

05-Jan-2023: Mike Hill
Compile with /W4 (warning level 4) with _CRT_SECURE_NO_WARNINGS
In order to get the maximum error checking possible for future edits

04-Jan-2023: Mike Hill
Restored portability with C/C++ from Microsoft Visual Studio 9.0
Microsoft (R) 32-bit C/C++ Version 15.00.30729.01 for 80x86
Microsoft (R) Incremental Linker Version 9.00.30729.01
Compile with /W3 (warning level 3) with _CRT_SECURE_NO_WARNINGS
- dumpobj.c:
For WIN32, use stricmp() instead of strcasecmp()
Comment out memcheck() because it is duplicated from util.h
27 changes: 17 additions & 10 deletions crossassemblers/macro11/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ OBJFORMAT ?= -DDEFAULT_OBJECTFORMAT_RT11=0
#SANITIZE ?= -fsanitize=address -fsanitize=undefined -fsanitize-recover=all -fno-omit-frame-pointer
DEBUG ?= -ggdb $(SANITIZE)
OPT ?= -O3
CFLAGS ?= -std=gnu99 $(WARNS) $(DEBUG) $(OPT) $(OBJFORMAT)
CFLAGS ?= -std=gnu99 $(WARNS) $(DEBUG) $(OPT)
LDFLAGS ?=

MACRO11_SRCS = macro11.c \
assemble.c assemble_globals.c assemble_aux.c \
Expand All @@ -17,21 +18,24 @@ MACRO11_SRCS = macro11.c \

MACRO11_OBJS = $(MACRO11_SRCS:.c=.o)

DUMPOBJ_SRCS = dumpobj.c rad50.c
DUMPOBJ_SRCS = dumpobj.c rad50.c util.c

DUMPOBJ_OBJS = $(DUMPOBJ_SRCS:.c=.o)

# object.c has some special extra flags.
CFLAGS.object = ${OBJFORMAT}

ALL_SRCS = $(MACRO11_SRCS) $(DUMPOBJ_SRCS)

all: macro11 dumpobj
all: macro11 dumpobj readme.lst

tags: macro11 dumpobj
ctags *.c *.h

macro11: git-info.h $(MACRO11_OBJS) Makefile
$(CC) $(CFLAGS) -o macro11 $(MACRO11_OBJS) -lm
$(CC) $(CFLAGS) $(LDFLAGS) -o macro11 $(MACRO11_OBJS) -lm

dumpobj: $(DUMPOBJ_OBJS) Makefile
dumpobj: git-info.h $(DUMPOBJ_OBJS) Makefile
$(CC) $(CFLAGS) -o dumpobj $(DUMPOBJ_OBJS)

$(MACRO11_OBJS): Makefile
Expand All @@ -41,9 +45,12 @@ git-info.h:
./make-git-info

# Bootstrap dependency on the git header file, which otherwise
# gets generated too late.
# (sometime) gets generated too late.
macro11.o: git-info.h
macro11.c: git-info.h
dumpobj.o: git-info.h

readme.lst: macro11 README.MAC
./macro11 README.MAC -l readme.lst -ysl 8 -e BMK

clean:
-rm -f $(MACRO11_OBJS) $(DUMPOBJ_OBJS) macro11 dumpobj
Expand All @@ -63,9 +70,9 @@ argtests: macro11
if [ $$? = 1 ]; then echo PASS; else echo FAIL; fi; \
echo " $$OPT fol. by option"; \
done
@ ./macro11 foo.mac $$OPT -x -v 2> /dev/null; \
@ ./macro11 foo.mac $$OPT -xtract -v 2> /dev/null; \
if [ $$? = 1 ]; then echo PASS; else echo FAIL; fi; \
echo " -x must be the last option"
echo " -xtract must be the last option"

LSAN_OPTIONS=suppressions=../macro11.supp

Expand All @@ -80,7 +87,7 @@ endif

# Make .d files as side effect of compiling .c to .o
%.d %.o: %.c
$(CC) $(CFLAGS) -c -o $*.o $<
$(CC) $(CFLAGS) $(CFLAGS.$*) -c -o $*.o $<
@set -e; rm -f $*.d; \
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o \1.d : ,g' < $@.$$$$ > $*.d; \
Expand Down
42 changes: 39 additions & 3 deletions crossassemblers/macro11/README
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,15 @@ macro11 [options...] files...
Options:
-v Prints program version.

-a0 Use sections with ABS,OVR for their own local symbol
definitions.

-nodev Ignore 'ddn:' style device names in .INCLUDE and
.LIBRARY filenames.

-nodir Ignore '[directory]' style names in .INCLUDE and
.LIBRARY filenames.

-e opt .ENABL option. Implemented options are AMA, GBL,
and also .LIST options ME, BEX, and
MD, though the status of listing control is
Expand Down Expand Up @@ -136,6 +145,21 @@ Options:
(DEV:[DIR]FILE.EXT) then the search is also tried
without DEV: and without DEV:[DIR].

-s Prepend a <statement> to the source
(e.g. -s "DEBUG\t=\t1\t\t; Enable").

-se Shows source line in error after the error message.

-sp Shows .PRINT source lines on stderr (similar to -se).

-fe Fatal errors will abort assembly.

-apb Automatic page-break after 57 listing lines
(also with -xl).

-ff Use a form-feed <FF> between listing pages
(also with -apb & -xl).

-o objname Gives the name of the object file. No extension
is assumed; if you want .OBJ you have to say it.
With no -o option, no object file is generated.
Expand All @@ -146,21 +170,27 @@ Options:
say it. With no -l option, no listing file is
written.

-x Tells macro11 not to assemble anything, but rather
-xtract Tells macro11 not to assemble anything, but rather
to simply extract all the macros in all the -m
macro libraries into individual .MAC files in the
current directory. This should be the last option
given, as none following will be processed.
This also works for extracting an object library
(.OLB) file.

-rsx Tells macro11 to generate rsx style object files.
-xl as -xtract but stores macros to '-l' file. If none, only lists names.

-rsx Tells macro11 to generate rsx style object files
and expect libraries in rsx format.
This is the default.

-rt11 Tells macro11 to generate rt11 style object files.
-rt11 Tells macro11 to generate rt11 style object files
and expect libraries in rt11 format.

Various options starting with -y enable extensions:

-yd Extension: enable debugging

-ysl <num> Allow longer symbols up to the given length.
The maximal allowed value is 64.

Expand All @@ -170,6 +200,12 @@ Options:
listing file. This may be useful for finding
phase errors.

-yfl Force listing of suppressed lines.

-ylls List local symbols when used and in the symbol table.

-ym11 Support BSD m11 language extensions.

files... Any number of input files. They will be assembled
as if they were concatenated together.

Expand Down
Loading