Module Name:    src
Committed By:   uebayasi
Date:           Wed Aug 26 06:38:57 UTC 2015

Modified Files:
        src/usr.bin/config: TODO

Log Message:
One more about linker script, another about genassym.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/usr.bin/config/TODO

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/config/TODO
diff -u src/usr.bin/config/TODO:1.22 src/usr.bin/config/TODO:1.23
--- src/usr.bin/config/TODO:1.22	Tue Aug 25 13:13:54 2015
+++ src/usr.bin/config/TODO	Wed Aug 26 06:38:57 2015
@@ -211,6 +211,16 @@ o Shared kernel objects.
   bus_space(9) operations, etc.) for users, the official binaries build
   provided by TNF should be as portable as possible.
 
+o Always use explicit kernel linker script.
+
+  ld(1) has an option -T <ldscript> to use a given linker script.  If not
+  specified, a default, built-in linker script, mainly meant for userland
+  programs, is used.
+
+  Currently m68k, sh3, and vax don't have kernel linker scripts.  These work
+  because these have no constraints about page boundary; they map and access
+  kernel .text/.data in the same way.
+
 o Control ELF sections using linker script.
 
   Now kernel is linked and built directly from object files (*.o).  Each port
@@ -379,3 +389,15 @@ o Strictly define DIAGNOSTIC.
   It is possible to make DIAGNOSTIC kernel and modules binary-compatible with
   non-DIAGNOSTIC ones.  In that case, debug type informations should match
   theoretically (not confirmed).
+
+o Define genassym(1) symbols per file.
+
+  Have each file define symbols that have to be generated by genassym(1) so
+  that more accurate dependency is reflected.
+
+  For example, if foo.S needs some symbols, it defines them in foo.assym,
+  declaring that foo.S depends on foo.assym.h, and includes foo.assym.h.
+  foo.assym.h is generated by following the suffix rule of .assym -> .assym.h.
+  When one header is updated, only related *.assym.h files are regenerated,
+  instead of rebuilding all MD/*.S files that depend on the global, single
+  assym.h.

Reply via email to