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.

Reply via email to