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.