summaryrefslogtreecommitdiff
path: root/source/a/file/git-patches/2f62d5544d13ca32dc09504ec70358db581e9e65.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/file/git-patches/2f62d5544d13ca32dc09504ec70358db581e9e65.patch')
-rw-r--r--source/a/file/git-patches/2f62d5544d13ca32dc09504ec70358db581e9e65.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/source/a/file/git-patches/2f62d5544d13ca32dc09504ec70358db581e9e65.patch b/source/a/file/git-patches/2f62d5544d13ca32dc09504ec70358db581e9e65.patch
new file mode 100644
index 00000000..61919d5c
--- /dev/null
+++ b/source/a/file/git-patches/2f62d5544d13ca32dc09504ec70358db581e9e65.patch
@@ -0,0 +1,61 @@
+From 2f62d5544d13ca32dc09504ec70358db581e9e65 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Wed, 31 Mar 2021 19:51:14 +0000
+Subject: [PATCH] Improve 8086 relocatable detection (Joerg Jenderek)
+
+---
+ magic/Magdir/xenix | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/magic/Magdir/xenix b/magic/Magdir/xenix
+index 3e248de26..d5ab69e5d 100644
+--- a/magic/Magdir/xenix
++++ b/magic/Magdir/xenix
+@@ -1,6 +1,6 @@
+
+ #------------------------------------------------------------------------------
+-# $File: xenix,v 1.12 2021/02/23 00:51:10 christos Exp $
++# $File: xenix,v 1.13 2021/03/31 19:51:14 christos Exp $
+ # xenix: file(1) magic for Microsoft Xenix
+ #
+ # "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
+@@ -13,25 +13,35 @@
+ #
+ 0 string core core file (Xenix)
+ # URL: http://www.polarhome.com/service/man/?qf=86rel&tf=2&of=Xenix
++# http://fileformats.archiveteam.org/wiki/OMF
+ # Reference: http://www.azillionmonkeys.com/qed/Omfg.pdf
+ # Update: Joerg Jenderek
+ # recordtype~TranslatorHEADerRecord
+ 0 byte 0x80
+-# GRR: line above is too general as it catches also Extensible storage engine DataBase
++# GRR: line above is too general as it catches also Extensible storage engine DataBase,
++# all lif files like forth.lif hpcc88.lif lex90b.lif ( See ./lif)
++# and all compressed DEGAS low-res bitmaps like: MUNCHIE.PC1 PIDER1.PC1
+ # skip examples like GENA.SND Switch.Snd by looking for record length maximal 1024-3
+ >1 uleshort <1022
+ # skip examples like GAME.PICTURE Strange.Pic by looking for positive record length
+ >>1 uleshort >0
+ # skip examples like Xtable.Data FRACTAL.GEN SHR.VIEW by looking for positive string length
+ >>>3 ubyte >0
+-# skip examples like OMBRE.6 with "UUUUUU" by looking for filename like "hello.c"
+->>>>4 regex [a-zA-Z_/]{1,8}[.] 8086 relocatable (Microsoft)
++# skip examples like OMBRE.6 with "UUUUUU" name by looking for valid high second record type
++>>>>(1.s+3) ubyte >0x6D 8086 relocatable (Microsoft)
+ #!:mime application/octet-stream
+ !:mime application/x-object
+-!:ext o/a
++!:ext obj/o/a
++# T-module name often source name like "hello.c" or "jmppm32.asm" in JMPPM32.OBJ or
++# "kbhit" in KBHITS.OBJ or "CAUSEWAY_KERNAL" in CWAPI.OBJ
+ >>>>>3 pstring x \b, "%s"
++# data length probably lower 256 according to TrID obj_omf.trid.xml
++>>>>>1 uleshort x \b, 1st record data length %u
+ # checksum
+ #>>>>>(3.b+4) ubyte x \b, checksum 0x%2.2x
++# second recordtype: 96h~LNAMES 88h~COMENT 8CH~EXTDEF
++>>>>>(1.s+3) ubyte x \b, 2nd record type 0x%x
++>>>>>(1.s+4) uleshort x \b, 2nd record data length %u
+ 0 leshort 0xff65 x.out
+ >2 string __.SYMDEF randomized
+ >0 byte x archive