patch 9.1.0972: filetype: TI linker map files are not recognized

Problem:  filetype: TI linker map files are not recognized
Solution: detect TI linker map files as lnkmap filetype
          (Wu, Zhenyu)

References:
https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html

closes: #16324

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/lnkmap.vim b/runtime/syntax/lnkmap.vim
new file mode 100644
index 0000000..a1d109e
--- /dev/null
+++ b/runtime/syntax/lnkmap.vim
@@ -0,0 +1,35 @@
+" Vim syntax file
+" Language:	TI Linker map
+" Document:	https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html
+" Maintainer:	Wu, Zhenyu <wuzhenyu@ustc.edu>
+" Last Change:	2024 Dec 25
+
+if exists("b:current_syntax")
+  finish
+endif
+
+syn match lnkmapTime			">> .*$"
+syn region lnkmapHeadline		start="^\*\+$" end="^\*\+$"
+syn match lnkmapHeadline		"^[A-Z][-A-Z0-9 ']*\ze\%(:\|$\)"
+syn match lnkmapSectionDelim		"^=\+$"
+syn match lnkmapTableDelim		"\%(^\|\s\)\zs---*\ze\%($\|\s\)"
+syn match lnkmapNumber			"\%(^\|\s\)\zs[0-9a-f]\+\ze\%($\|\s\)"
+syn match lnkmapSections      		'\<\.\k\+\>'
+syn match lnkmapFile			'[^ =]\+\%(\.\S\+\)\+\>'
+syn match lnkmapLibFile			'[^ =]\+\.lib\>'
+syn match lnkmapAttrib			'\<[RWIX]\+\>'
+syn match lnkmapAttrib			'\s\zs--HOLE--\ze\%\(\s\|$\)'
+syn keyword lnkmapAttrib		UNINITIALIZED
+
+
+hi def link lnkmapTime			Comment
+hi def link lnkmapHeadline		Title
+hi def link lnkmapSectionDelim		PreProc
+hi def link lnkmapTableDelim		PreProc
+hi def link lnkmapNumber		Number
+hi def link lnkmapSections		Macro
+hi def link lnkmapFile			String
+hi def link lnkmapLibFile		Special
+hi def link lnkmapAttrib		Type
+
+let b:current_syntax = "lnkmap"