]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/ld-script.el
Update copyright year to 2015
[gnu-emacs] / lisp / progmodes / ld-script.el
index 318456e9534457647ca0737ee8b94a7d51101461..0c180dfc147ee09ffc763e91e679f9886485df9b 100644 (file)
@@ -1,7 +1,6 @@
 ;;; ld-script.el --- GNU linker script editing mode for Emacs
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-;;   2010  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
 ;; Author: Masatake YAMATO<jet@gyve.org>
 ;; Keywords: languages, faces
@@ -49,7 +48,7 @@
     (modify-syntax-entry ?\) ")(" st)
     (modify-syntax-entry ?\[ "(]" st)
     (modify-syntax-entry ?\] ")[" st)
-    (modify-syntax-entry ?_ "w"   st)
+    (modify-syntax-entry ?_ "_"   st)
     (modify-syntax-entry ?. "_"   st)
     (modify-syntax-entry ?\\  "\\" st)
     (modify-syntax-entry ?: "." st)
     "INCLUDE" "INPUT" "GROUP" "AS_NEEDED" "OUTPUT" "SEARCH_DIR" "STARTUP"
     ;; 3.4.3 Commands Dealing with Object File Formats
     "OUTPUT_FORMAT" "TARGET"
-    ;; 3.4.3 Other Linker Script Commands
+    ;; 3.4.4 Assign alias names to memory regions
+    "REGION_ALIAS"
+    ;; 3.4.5 Other Linker Script Commands
     "ASSERT" "EXTERN" "FORCE_COMMON_ALLOCATION"
-    "INHIBIT_COMMON_ALLOCATION" "NOCROSSREFS" "OUTPUT_ARCH"
+    "INHIBIT_COMMON_ALLOCATION" "INSERT" "AFTER" "BEFORE"
+    "NOCROSSREFS" "OUTPUT_ARCH" "LD_FEATURE"
     ;; 3.5.2 PROVIDE
     "PROVIDE"
     ;; 3.5.3 PROVIDE_HIDDEN
@@ -91,7 +93,7 @@
     ;; 3.6 SECTIONS Command
     "SECTIONS"
     ;; 3.6.4.2 Input Section Wildcard Patterns
-    "SORT" "SORT_BY_NAME" "SORT_BY_ALIGNMENT"
+    "SORT" "SORT_BY_NAME" "SORT_BY_ALIGNMENT" "SORT_BY_INIT_PRIORITY"
     ;; 3.6.4.3 Input Section for Common Symbols
     "COMMON"
     ;; 3.6.4.4 Input Section and Garbage Collection
     "AT"
     ;; 3.6.8.4 Forced Input Alignment
     "SUBALIGN"
-    ;; 3.6.8.6 Output Section Phdr
+    ;; 3.6.8.5 Output Section Constraint
+    "ONLY_IF_RO" "ONLY_IF_RW"
+    ;; 3.6.8.7 Output Section Phdr
     ":PHDR"
     ;; 3.7 MEMORY Command
     "MEMORY"
     ;; 3.8 PHDRS Command
     "PHDRS" "FILEHDR" "FLAGS"
-    "PT_NULL" "PT_LOAD" "PT_DYNAMIC" "PT_INTERP" "PT_NONE" "PT_SHLIB" "PT_PHDR"
+    "PT_NULL" "PT_LOAD" "PT_DYNAMIC" "PT_INTERP" "PT_NOTE" "PT_SHLIB" "PT_PHDR"
     ;; 3.9 VERSION Command
     "VERSION")
   "Keywords used of GNU ld script.")
 
-;; 3.10.8 Builtin Functions
+
+;; 3.10.2 Symbolic Constants
+;; 3.10.9 Builtin Functions
 (defvar ld-script-builtins
-  '("ABSOLUTE"
+  '("CONSTANT"
+    "MAXPAGESIZE"
+    "COMMONPAGESIZE"
+    "ABSOLUTE"
     "ADDR"
     "ALIGN"
+    "ALIGNOF"
     "BLOCK"
     "DATA_SEGMENT_ALIGN"
     "DATA_SEGMENT_END"
 
 (defvar ld-script-font-lock-keywords
   (append
-   `((,(regexp-opt ld-script-keywords 'words)
-      1 font-lock-keyword-face)
-     (,(regexp-opt ld-script-builtins 'words)
-      1 font-lock-builtin-face)
+   `((,(concat "\\_<" (regexp-opt ld-script-keywords) "\\_>")
+      0 font-lock-keyword-face)
+     (,(concat "\\_<" (regexp-opt ld-script-builtins) "\\_>")
+      0 font-lock-builtin-face)
      ;; 3.6.7 Output Section Discarding
      ;; 3.6.4.1 Input Section Basics
-     ;; 3.6.8.6 Output Section Phdr
+     ;; 3.6.8.7 Output Section Phdr
      ("/DISCARD/\\|EXCLUDE_FILE\\|:NONE" . font-lock-warning-face)
      ("\\W\\(\\.\\)\\W" 1 ld-script-location-counter-face)
      )
   "Default font-lock-keywords for `ld-script-mode'.")
 
 ;;;###autoload
-(define-derived-mode ld-script-mode nil "LD-Script"
+(define-derived-mode ld-script-mode prog-mode "LD-Script"
    "A major mode to edit GNU ld script files"
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
 
 (provide 'ld-script)
 
-;; arch-tag: 83280b6b-e6fc-4d00-a630-922d7aec5593
 ;;; ld-script.el ends here