Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/config One more about linker script, another about g...



details:   https://anonhg.NetBSD.org/src/rev/a7f8e316939c
branches:  trunk
changeset: 810336:a7f8e316939c
user:      uebayasi <uebayasi%NetBSD.org@localhost>
date:      Wed Aug 26 06:38:57 2015 +0000

description:
One more about linker script, another about genassym.

diffstat:

 usr.bin/config/TODO |  22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diffs (36 lines):

diff -r 5fd83a091f20 -r a7f8e316939c usr.bin/config/TODO
--- a/usr.bin/config/TODO       Wed Aug 26 05:41:20 2015 +0000
+++ b/usr.bin/config/TODO       Wed Aug 26 06:38:57 2015 +0000
@@ -211,6 +211,16 @@
   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 @@
   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.



Home | Main Index | Thread Index | Old Index