Module Name: src
Committed By: uebayasi
Date: Sat Aug 22 14:47:05 UTC 2015
Modified Files:
src/usr.bin/config: TODO
Log Message:
Linker script TODO items.
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 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.18 src/usr.bin/config/TODO:1.19
--- src/usr.bin/config/TODO:1.18 Wed Aug 19 03:39:45 2015
+++ src/usr.bin/config/TODO Sat Aug 22 14:47:05 2015
@@ -265,6 +265,39 @@ o Control ELF sections using linker scri
of debug information. In the future .symtab will be copied using linker
during this stage.
+o Preprocess and generate linker scripts dynamically.
+
+ Include opt_xxx.h and replace some constant values (e.g. COHERENCY_UNIT,
+ PAGE_SIZE, KERNEL_BASE_PHYS, KERNEL_BASE_VIRT, ...) with cpp(1).
+
+ Don't unnecessarily define symbols. Don't use sed(1).
+
+o Clean up linker scripts.
+
+ o Don't specify OUTPUT_FORMAT()/OUTPUT_ARCH()
+
+ These are basically set in compilers/linkers. If non-default ABI is used,
+ command-line arguments should be specified.
+
+ o Remove .rel/.rela handlings.
+
+ These are set in relocatable objects, and handled by dynamic linkers.
+ Totally irrelefant for kernels.
+
+ o Clean up debug section handlings.
+
+ o Document (section boundary) symbols set in linker scripts.
+
+ There must be a reason why symbols are defined and exported.
+
+ PROVIDE() is to define internal symbols.
+
+ o Clean up load addresses.
+
+ o Program headers.
+
+ o According to matt@, .ARM.extab/.ARM.exidx sections are no longer needed.
+
o Redesign swapnetbsd.c (root/swap device specification)
Don't build a whole kernel only to specify root/swap devices.