
kern_sym_patch ---- patch netbsd for loading symbol table



             memory map                             file map

             +----------------+              0  +-----------------+
             |    text        |                 | ELf Header      |
             |     :          |                 +-----------------+
             |    data        |                 | Program Header  | |  (1)
             +----------------+                 +-----------------+
             |    bss         |                 |                 |
             |                |           0x100 +-----------------+
 end ------->+----------------+                 | fake Elf Header | |  (2)
             | fake Elf Header| |               +-----------------+ |
             |                | |               | Section Header  | |
             +----------------+ |(1-1)          |   for Symbol    | |
             | Section Header | |               +-----------------+ 
             |  for Symbol    | |
             +----------------+ 
             | Symbol table   | |
             |                | |
             +----------------+ |(1-2)
             | String table   | |
             |                | |
             +----------------+
 

This program patch netbsd 
 
(1) patch Program Header
    add 2 Entry for load kernel 
    (1-1) fake headers
    (1-2) symbol data

    pbsdboot.exe see program header only.

(2) create fake headers
    
    Elf Header(Elf_Ehdr)
        Only next entiries are used by machdep.c
           e_ident:
           e_entry:  symbol table size [ (1-1) + (1-2) ]
        only next entries are used  by db_elf.c
	   e_ident, e_machine 
	   e_shnum: 
           e_shoff:

    Section Header(Elf_Shdr)
        only next entries are used  by db_elf.c
	   sh_type
	   sh_size
	   sh_offset



    


