Update for 4k VAX page size and support 1k page a.out binaries.

It seems this wasn't updated when NetBSD/VAX page size changed
from 1 KB to 4 KB. It still had the old #define MID_VAX 140 and
clbytes = 1024.
This commit is contained in:
Boris Gjenero
2020-10-22 19:41:18 -04:00
parent 82fde5ac12
commit 7b0f60bf54
2 changed files with 28 additions and 5 deletions

View File

@@ -44,7 +44,10 @@ __RCSID("$NetBSD: file.c,v 1.16 2016/06/08 01:11:49 christos Exp $");
# include "../netbsd_h/exec_aout.h"
# endif
# if !defined(MID_VAX)
# define MID_VAX 140
# define MID_VAX 150
# endif
# if !defined(MID_VAX1K)
# define MID_VAX1K 140
# endif
#endif /* NOAOUT */
@@ -326,6 +329,11 @@ getMID(int old_mid, int new_mid)
mid = MID_VAX;
break;
#endif
#ifdef MID_VAX1K
case MID_VAX1K:
mid = MID_VAX1K;
break;
#endif
#ifdef MID_ALPHA
case MID_ALPHA:
mid = MID_ALPHA;
@@ -354,8 +362,8 @@ getCLBYTES(int mid)
int clbytes;
switch (mid) {
#ifdef MID_VAX
case MID_VAX:
#ifdef MID_VAX1K
case MID_VAX1K:
clbytes = 1024;
break;
#endif
@@ -377,8 +385,12 @@ getCLBYTES(int mid)
#ifdef MID_ARM6
case MID_ARM6:
#endif
#ifdef MID_VAX
case MID_VAX:
#endif
#if defined(MID_I386) || defined(MID_M68K4K) || defined(MID_NS32532) || \
defined(MID_PMAX) || defined(MID_MIPS) || defined(MID_ARM6)
defined(MID_PMAX) || defined(MID_MIPS) || defined(MID_ARM6) || \
defined(MID_VAX)
clbytes = 4096;
break;
#endif
@@ -695,6 +707,9 @@ GetAOutFileInfo(struct dllist *dl)
#ifdef MID_VAX
case MID_VAX:
#endif
#ifdef MID_VAX1K
case MID_VAX1K:
#endif
#ifdef MID_ALPHA
case MID_ALPHA:
#endif
@@ -764,6 +779,11 @@ GetAOutFileInfo(struct dllist *dl)
printf("vax");
break;
#endif
#ifdef MID_VAX1K
case MID_VAX1K:
printf("vax 1k");
break;
#endif
#ifdef MID_ALPHA
case MID_ALPHA:
printf("alpha");

View File

@@ -70,6 +70,9 @@ __RCSID("$NetBSD: mopcopy.c,v 1.7 2019/12/27 09:41:52 msaitoh Exp $");
#define NOAOUT
#endif
#if !defined(MID_VAX)
#define MID_VAX 150
#endif
#if !defined(MID_VAX1K)
#define MID_VAX 140
#endif
@@ -126,7 +129,7 @@ main(int argc, char **argv)
#ifndef NOAOUT
case IMAGE_TYPE_AOUT:
if (dl.a_mid != MID_VAX)
if (dl.a_mid != MID_VAX && dl.a_mid != MID_VAX1K)
printf("WARNING: `%s' is not a VAX image (mid=%d)\n",
argv[1], dl.a_mid);
i = dl.a_text + dl.a_text_fill + dl.a_data + dl.a_data_fill +