Adjust for monotone.
diff --git a/NOTES b/NOTES
new file mode 100644
index 0000000..4f06b8d
--- /dev/null
+++ b/NOTES
@@ -0,0 +1,73 @@
+- old GNU ld's behavior wrt DSOs seems to be severely broken.
+
+     y.o reference foo()
+     y1.o defines foo(), references bar()
+     y2.o defines bar()
+     libbar.so defines bar()
+
+  Running
+
+     gcc -o y y.o -lbar y1.o y2.o
+
+  uses the bar() definition from libbar.so and does not mention the definition
+  in y2.o at all (no duplicate symbol message).  Correct is to use the
+  definition in y2.o.
+
+
+     y.o reference foo()
+     y1.o defines foo(), references bar()
+     y2.o in liby2.a defines bar()
+     libbar.so defines bar()
+
+  Running
+
+     gcc -o y y.o -lbar y1.o -ly3
+
+  has to use the definition in -lbar and not pull the definition from liby3.a.
+
+
+- the old linker follows DT_NEEDED entries and adds the objects referenced
+  this way which define a symbol which is needed as a DT_NEEDED to the
+  generated binary.  This is wrong since the DT_NEEDED changes the search
+  path in the object (which is breadth first).
+
+
+- the old linker supported extern "C++", extern "java" in version scripts.
+  I believe this implementation is severly broken and needs a redesign
+  (how do wildcards work with these languages*?).  Therefore it is left
+  out for now.
+
+
+- what should happen if two sections in different files with the same
+  name have different types and/or the flags are different
+
+
+- section names in input files are mostly irrelevant.  Exceptions:
+
+  .comment/SHT_PROGBITS		in strip, ld
+
+  .debug		\
+  .line			|
+  .debug_srcinfo	|
+  .debug_sfnames	|
+  .debug_aranges	|
+  .debug_pubnames	|
+  .debug_info		|
+  .debug_abbrev		|
+  .debug_line		|
+  .debug_abbrev		 >	DWARF sections in ld
+  .debug_line		|
+  .debug_frame		|
+  .debug_str		|
+  .debug_loc		|
+  .debug_macinfo	|
+  .debug_weaknames	|
+  .debug_funcnames	|
+  .debug_typenames	|
+  .debug_varnames	/
+
+  Sections created in output files follow the naming of special section
+  from the gABI.
+
+  In no place is a section solely indentified by its name.  Internal
+  references always use the section index.