summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1998-08-31 21:10:43 +0000
committermsmith <msmith@FreeBSD.org>1998-08-31 21:10:43 +0000
commit815f3686d0275b1e63d326042e37d5244e051121 (patch)
treea32c9c92f2b120f904fc9aa7d0755d8b8a74f6b0 /sys
parentc3fa37d604772f443b31aa7d26c331bd64c2675d (diff)
downloadFreeBSD-src-815f3686d0275b1e63d326042e37d5244e051121.zip
FreeBSD-src-815f3686d0275b1e63d326042e37d5244e051121.tar.gz
Bootloader update.
- Implement a new copyin/readin interface for loading modules. This allows the module loaders to become MI, reducing code duplication. - Simplify the search for an image activator for the loaded kernel. - Use the common module management code for all module metadata. - Add an 'unload' command that throws everything away. - Move the a.out module loader to MI code, add support for a.out kld modules. Submitted by: Alpha changes fixed by Doug Rabson <dfr@freebsd.org>
Diffstat (limited to 'sys')
-rw-r--r--sys/boot/alpha/boot2/boot2.list1000
-rw-r--r--sys/boot/alpha/boot2/conf.c4
-rw-r--r--sys/boot/alpha/boot2/setdefs.h2
-rw-r--r--sys/boot/alpha/boot2/vers.c4
-rw-r--r--sys/boot/alpha/common/main.c5
-rw-r--r--sys/boot/alpha/libalpha/Makefile4
-rw-r--r--sys/boot/alpha/libalpha/alpha_copy.c50
-rw-r--r--sys/boot/alpha/libalpha/alpha_module.c18
-rw-r--r--sys/boot/alpha/libalpha/elf_freebsd.c50
-rw-r--r--sys/boot/alpha/libalpha/libalpha.h36
-rw-r--r--sys/boot/alpha/netboot/conf.c4
-rw-r--r--sys/boot/alpha/netboot/netboot.list1177
-rw-r--r--sys/boot/alpha/netboot/setdefs.h2
-rw-r--r--sys/boot/alpha/netboot/vers.c4
-rw-r--r--sys/boot/common/Makefile.inc6
-rw-r--r--sys/boot/common/boot.c6
-rw-r--r--sys/boot/common/bootstrap.h42
-rw-r--r--sys/boot/common/load_aout.c202
-rw-r--r--sys/boot/common/module.c59
-rw-r--r--sys/boot/i386/libi386/Makefile9
-rw-r--r--sys/boot/i386/libi386/aout_freebsd.c201
-rw-r--r--sys/boot/i386/libi386/i386_copy.c46
-rw-r--r--sys/boot/i386/libi386/i386_module.c18
-rw-r--r--sys/boot/i386/libi386/libi386.h8
-rw-r--r--sys/boot/i386/loader/main.c5
-rw-r--r--sys/boot/ofw/libofw/ofw_copy.c50
-rw-r--r--sys/boot/ofw/libofw/ofw_module.c18
27 files changed, 528 insertions, 2502 deletions
diff --git a/sys/boot/alpha/boot2/boot2.list b/sys/boot/alpha/boot2/boot2.list
deleted file mode 100644
index 00e2eaa..0000000
--- a/sys/boot/alpha/boot2/boot2.list
+++ /dev/null
@@ -1,1000 +0,0 @@
-Archive member included because of file (symbol)
-
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- conf.o (ufs_fsops)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- ls.o (stat)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__reml.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o) (__reml)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remlu.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o) (__remlu)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divl.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o) (__divl)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divlu.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o) (__divlu)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- boot.o (strncpy)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- misc.o (strcat)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- commands.o (pager_open)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- ls.o (optind)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- commands.o (environ)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- boot.o (strtol)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- boot.o (strchr)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- commands.o (strerror)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o) (strdup)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- interp.o (ngets)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- conf.o (zipfs_fsops)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- ls.o (read)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o) (files)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- interp.o (close)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- ls.o (fstat)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o) (null_write)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o) (inflateEnd)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o) (inflate_blocks_reset)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o) (adler32)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o) (strrchr)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- console.o (strcmp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o) (twiddle)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o) (zcalloc)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o) (inflate_trees_bits)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o) (inflate_codes_new)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- main.o (setheap)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o) (inflate_fast)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o) (inflate_mask)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcopy.o)
- interp.o (bcopy)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- interp.o (errno)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bzero.o)
- start.o (bzero)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- main.o (printf)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remqu.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o) (__remqu)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divqu.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o) (__divqu)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- boot.o (strlen)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o) (hex2ascii_data)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- conf.o (srmdisk)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- main.o (alpha_getdev)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(alpha_module.o)
- main.o (alpha_boot)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(time.o)
- boot.o (time)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o)
- main.o (delay)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(reboot.o)
- main.o (reboot)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- conf.o (alpha_elf)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o)
- main.o (OSFpal)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(time.o) (getsecs)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(pal.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o) (alpha_rpcc)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_swpal.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o) (switch_palcode)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- conf.o (promconsole)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_disp.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o) (prom_dispatch_v)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o) (lseek)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o) (noioctl)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o) (closeall)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o) (strncmp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o) (strcpy)
-
-Allocating common symbols
-Common symbol size file
-
-domainname 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-nameip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-hostnamelen 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-command_errmsg 0x8 commands.o
-errno 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-ffp_save 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
-swapip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-rootip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-optarg 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
-myip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-hostname 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-archsw 0x18 main.o
-ssym 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
-console 0x4 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
-command_errbuf 0x100 commands.o
-currdev 0x18 main.o
-bootfile 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-ptbr_save 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
-gateip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-files 0x180 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
-ifname 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-domainnamelen 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-optreset 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
-optopt 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
-prom_dispatch_v 0x10 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_disp.o)
-esym 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
-
-Memory Configuration
-
-Name Origin Length
-*default* 0x0000000000000000 0xffffffffffffffff
-
-Linker script and memory map
-
-Address of section .text set to 0x2000c000
-LOAD start.o
-LOAD setdef0.o
-LOAD main.o
-LOAD conf.o
-LOAD boot.o
-LOAD commands.o
-LOAD console.o
-LOAD devopen.o
-LOAD interp.o
-LOAD ls.o
-LOAD misc.o
-LOAD module.o
-LOAD panic.o
-LOAD setdef1.o
-LOAD vers.o
-LOAD /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a
-LOAD /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a
-LOAD /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a
- 0x00000001200000b0 .=(0x120000000+SIZEOF_HEADERS)
-
-.interp
- *(.interp)
-
-.hash
- *(.hash)
-
-.dynsym
- *(.dynsym)
-
-.dynstr
- *(.dynstr)
-
-.gnu.version
- *(.gnu.version)
-
-.gnu.version_d
- *(.gnu.version_d)
-
-.gnu.version_r
- *(.gnu.version_r)
-
-.rel.text
- *(.rel.text)
- *(.rel.gnu.linkonce.t*)
-
-.rela.text
- *(.rela.text)
- *(.rela.gnu.linkonce.t*)
-
-.rel.data
- *(.rel.data)
- *(.rel.gnu.linkonce.d*)
-
-.rela.data 0x00000001200000b0 0x0
- *(.rela.data)
- *(.rela.gnu.linkonce.d*)
-
-.rela.set.Xcommand_set
- 0x00000001200000b0 0x0
-
-.rel.rodata
- *(.rel.rodata)
- *(.rel.gnu.linkonce.r*)
-
-.rela.rodata
- *(.rela.rodata)
- *(.rela.gnu.linkonce.r*)
-
-.rel.got
- *(.rel.got)
-
-.rela.got
- *(.rela.got)
-
-.rel.ctors
- *(.rel.ctors)
-
-.rela.ctors
- *(.rela.ctors)
-
-.rel.dtors
- *(.rel.dtors)
-
-.rela.dtors
- *(.rela.dtors)
-
-.rel.init
- *(.rel.init)
-
-.rela.init
- *(.rela.init)
-
-.rel.fini
- *(.rel.fini)
-
-.rela.fini
- *(.rela.fini)
-
-.rel.bss
- *(.rel.bss)
-
-.rela.bss
- *(.rela.bss)
-
-.rel.plt
- *(.rel.plt)
-
-.rela.plt
- *(.rela.plt)
-
-.init
- *(.init)
-
-.text 0x000000002000c000 0xe4c0
- *(.text)
- .text 0x000000002000c000 0x50 start.o
- 0x000000002000c044 __main
- 0x000000002000c040 _rtt
- 0x000000002000c048 cpu_number
- 0x000000002000c040 halt
- 0x000000002000c000 start
- *fill* 0x000000002000c050 0x10 1207895071
- .text 0x000000002000c060 0x3e0 main.o
- 0x000000002000c060 memsize
- 0x000000002000c0c8 main
- .text 0x000000002000c440 0x580 boot.o
- 0x000000002000c6e8 autoboot
- .text 0x000000002000c9c0 0x3e0 commands.o
- .text 0x000000002000cda0 0x480 console.o
- 0x000000002000cff8 putchar
- 0x000000002000cda0 cons_probe
- 0x000000002000cf68 ischar
- 0x000000002000cea8 getchar
- .text 0x000000002000d220 0xf0 devopen.o
- 0x000000002000d2d0 devclose
- 0x000000002000d220 devopen
- *fill* 0x000000002000d310 0x10 1207895071
- .text 0x000000002000d320 0x5c0 interp.o
- 0x000000002000d5e8 interact
- 0x000000002000d700 source
- .text 0x000000002000d8e0 0x480 ls.o
- .text 0x000000002000dd60 0x140 misc.o
- 0x000000002000dd60 unargv
- .text 0x000000002000dea0 0x3a0 module.o
- 0x000000002000e178 mod_findmodule
- 0x000000002000dfd0 mod_load
- .text 0x000000002000e240 0xf0 panic.o
- 0x000000002000e240 panic
- *fill* 0x000000002000e330 0x10 1207895071
- .text 0x000000002000e340 0xf80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- .text 0x000000002000f2c0 0x90 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- 0x000000002000f2c0 stat
- .text 0x000000002000f350 0x130 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__reml.o)
- 0x000000002000f350 __reml
- .text 0x000000002000f480 0xec /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remlu.o)
- 0x000000002000f480 __remlu
- .text 0x000000002000f56c 0x128 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divl.o)
- 0x000000002000f56c __divl
- .text 0x000000002000f694 0xe4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divlu.o)
- 0x000000002000f694 __divlu
- *fill* 0x000000002000f778 0x8 1207895071
- .text 0x000000002000f780 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- 0x000000002000f780 strncpy
- .text 0x000000002000f820 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- 0x000000002000f820 strcat
- .text 0x000000002000f8a0 0x380 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- 0x000000002000f948 pager_output
- 0x000000002000f930 pager_close
- 0x000000002000faf8 pager_file
- 0x000000002000f8a0 pager_open
- .text 0x000000002000fc20 0x310 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- 0x000000002000fc20 getopt
- *fill* 0x000000002000ff30 0x10 1207895071
- .text 0x000000002000ff40 0x4a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- 0x00000000200102a8 unsetenv
- 0x00000000200103d0 env_nounset
- 0x00000000200101a0 getenv
- 0x0000000020010248 putenv
- 0x00000000200103c8 env_noset
- 0x00000000200101e0 setenv
- 0x000000002000ff40 env_getenv
- 0x000000002000ffc0 env_setenv
- .text 0x00000000200103e0 0x260 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- 0x00000000200103e0 strtol
- .text 0x0000000020010640 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- 0x0000000020010640 strchr
- .text 0x00000000200106a0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- 0x00000000200106a0 strerror
- .text 0x0000000020010740 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- 0x0000000020010740 strdup
- .text 0x00000000200107e0 0x340 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- 0x0000000020010a10 fgetstr
- 0x00000000200107e0 ngets
- .text 0x0000000020010b20 0x8e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- 0x0000000020010b20 calloc
- .text 0x0000000020011400 0x150 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- 0x0000000020011400 read
- *fill* 0x0000000020011550 0x10 1207895071
- .text 0x0000000020011560 0x220 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- 0x00000000200115a8 open
- .text 0x0000000020011780 0x130 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- 0x0000000020011780 close
- .text 0x00000000200118b0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- 0x00000000200118b0 fstat
- .text 0x0000000020011950 0xa8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- 0x0000000020011998 null_write
- 0x00000000200119d8 null_stat
- 0x0000000020011970 null_close
- 0x0000000020011978 null_read
- 0x0000000020011950 null_open
- 0x00000000200119b8 null_seek
- *fill* 0x00000000200119f8 0x8 1207895071
- .text 0x0000000020011a00 0xc00 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- 0x0000000020011cb0 inflate
- 0x0000000020012590 inflateSyncPoint
- 0x0000000020011c80 inflateInit_
- 0x0000000020011a00 inflateReset
- 0x00000000200123f8 inflateSync
- 0x00000000200122f0 inflateSetDictionary
- 0x0000000020011a80 inflateEnd
- 0x0000000020011b10 inflateInit2_
- .text 0x0000000020012600 0x1400 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- 0x0000000020013908 inflate_blocks_free
- 0x00000000200127f0 inflate_blocks
- 0x0000000020012600 inflate_blocks_reset
- 0x00000000200139f0 inflate_blocks_sync_point
- 0x0000000020013990 inflate_set_dictionary
- 0x00000000200126d0 inflate_blocks_new
- .text 0x0000000020013a00 0x240 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- 0x0000000020013a00 adler32
- .text 0x0000000020013c40 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- 0x0000000020013c40 strrchr
- .text 0x0000000020013ca0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- 0x0000000020013ca0 strcmp
- .text 0x0000000020013d40 0x70 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- 0x0000000020013d40 twiddle
- .text 0x0000000020013db0 0x98 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- 0x0000000020013db0 zlibVersion
- 0x0000000020013e18 zcfree
- 0x0000000020013dc0 zError
- 0x0000000020013de0 zcalloc
- *fill* 0x0000000020013e48 0x18 1207895071
- .text 0x0000000020013e60 0xd40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- 0x00000000200148b8 inflate_trees_fixed
- 0x0000000020014598 inflate_trees_bits
- 0x00000000200146c0 inflate_trees_dynamic
- .text 0x0000000020014ba0 0xc40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- 0x0000000020014ba0 inflate_codes_new
- 0x0000000020014c48 inflate_codes
- 0x00000000200157a0 inflate_codes_free
- .text 0x00000000200157e0 0x1e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- 0x00000000200157e0 setheap
- 0x0000000020015808 malloc
- 0x0000000020015998 sbrk
- 0x0000000020015900 free
- .text 0x00000000200159c0 0x540 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- 0x00000000200159c0 inflate_fast
- .text 0x0000000020015f00 0x1e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- 0x0000000020015f00 inflate_flush
- .text 0x00000000200160e0 0x25c /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcopy.o)
- 0x00000000200160e0 bcopy
- .text 0x000000002001633c 0xb0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bzero.o)
- 0x000000002001633c bzero
- *fill* 0x00000000200163ec 0x14 1207895071
- .text 0x0000000020016400 0x11c0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- 0x0000000020016400 printf
- 0x0000000020016480 vprintf
- 0x00000000200164c0 sprintf
- .text 0x00000000200175c0 0xe4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remqu.o)
- 0x00000000200175c0 __remqu
- .text 0x00000000200176a4 0xdc /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divqu.o)
- 0x00000000200176a4 __divqu
- .text 0x0000000020017780 0x40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- 0x0000000020017780 strlen
- .text 0x00000000200177c0 0x650 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- .text 0x0000000020017e10 0x8e0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- 0x0000000020018478 alpha_fmtdev
- 0x0000000020017e10 alpha_getdev
- 0x0000000020018628 alpha_setcurrdev
- .text 0x00000000200186f0 0x138 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(alpha_module.o)
- 0x00000000200186f0 alpha_boot
- 0x00000000200187f8 alpha_autoload
- .text 0x0000000020018828 0x68 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(time.o)
- 0x0000000020018828 time
- .text 0x0000000020018890 0xb0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o)
- 0x0000000020018890 delay
- .text 0x0000000020018940 0x120 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(reboot.o)
- 0x0000000020018940 reboot
- 0x00000000200189c8 exit
- .text 0x0000000020018a60 0xdd0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .text 0x0000000020019830 0x120 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o)
- 0x0000000020019830 OSFpal
- .text 0x0000000020019950 0x1c8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- 0x0000000020019950 getsecs
- .text 0x0000000020019b18 0xcc /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(pal.o)
- 0x0000000020019b20 alpha_mb
- 0x0000000020019b94 alpha_pal_tbi
- 0x0000000020019bcc alpha_pal_wrmces
- 0x0000000020019bd4 alpha_pal_wrval
- 0x0000000020019bc4 alpha_pal_wrvptptr
- 0x0000000020019b40 alpha_pal_imb
- 0x0000000020019bb4 alpha_pal_wripir
- 0x0000000020019bbc alpha_pal_wrusp
- 0x0000000020019b7c alpha_pal_rdval
- 0x0000000020019bdc alpha_pal_swpctx
- 0x0000000020019b48 alpha_pal_cflush
- 0x0000000020019b8c _alpha_pal_swpipl
- 0x0000000020019b18 alpha_rpcc
- 0x0000000020019b30 alpha_amask
- 0x0000000020019b58 alpha_pal_halt
- 0x0000000020019ba4 alpha_pal_wrent
- 0x0000000020019b74 alpha_pal_rdusp
- 0x0000000020019b6c alpha_pal_rdps
- 0x0000000020019b38 alpha_implver
- 0x0000000020019b64 alpha_pal_rdmces
- 0x0000000020019b84 alpha_pal_swpipl
- 0x0000000020019b9c alpha_pal_whami
- 0x0000000020019b28 alpha_wmb
- 0x0000000020019b50 alpha_pal_draina
- 0x0000000020019bac alpha_pal_wrfen
- *fill* 0x0000000020019be4 0xc 1207895071
- .text 0x0000000020019bf0 0xc0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_swpal.o)
- 0x0000000020019bf0 switch_palcode
- .text 0x0000000020019cb0 0x4e8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- 0x0000000020019cb0 init_prom_calls
- 0x000000002001a020 prom_getenv
- 0x0000000020019dd8 prom_putchar
- 0x0000000020019e80 prom_getchar
- 0x000000002001a100 prom_open
- *fill* 0x000000002001a198 0x8 1207895071
- .text 0x000000002001a1a0 0x70 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_disp.o)
- 0x000000002001a1a0 prom_dispatch
- .text 0x000000002001a210 0xe0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- 0x000000002001a210 lseek
- .text 0x000000002001a2f0 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- 0x000000002001a2f0 nodev
- 0x000000002001a300 noioctl
- 0x000000002001a2f8 nullsys
- *fill* 0x000000002001a308 0x18 1207895071
- .text 0x000000002001a320 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- 0x000000002001a320 closeall
- .text 0x000000002001a3a0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- 0x000000002001a3a0 strncmp
- .text 0x000000002001a440 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
- 0x000000002001a440 strcpy
- *(.gnu.warning)
- *(.gnu.linkonce.t*)
- 0x000000002001a4c0 _etext=.
- 0x000000002001a4c0 PROVIDE (etext, .)
-
-.fini
- *(.fini)
-
-.rodata 0x000000002001a4c0 0x17c0
- *(.rodata)
- .rodata 0x000000002001a4c0 0x128 main.o
- .rodata 0x000000002001a5e8 0x188 boot.o
- .rodata 0x000000002001a770 0x168 commands.o
- .rodata 0x000000002001a8d8 0x30 console.o
- .rodata 0x000000002001a908 0xa0 interp.o
- .rodata 0x000000002001a9a8 0xa8 ls.o
- .rodata 0x000000002001aa50 0x18 misc.o
- .rodata 0x000000002001aa68 0xb8 module.o
- .rodata 0x000000002001ab20 0x28 panic.o
- .rodata 0x000000002001ab48 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- .rodata 0x000000002001ab50 0xa8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .rodata 0x000000002001abf8 0x48 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .rodata 0x000000002001ac40 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .rodata 0x000000002001ac48 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .rodata 0x000000002001ac50 0x2a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .rodata 0x000000002001aef0 0xc0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .rodata 0x000000002001afb0 0xb8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .rodata 0x000000002001b068 0xf8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .rodata 0x000000002001b160 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .rodata 0x000000002001b168 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .rodata 0x000000002001b170 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .rodata 0x000000002001b210 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- 0x000000002001b210 inflate_copyright
- .rodata 0x000000002001b528 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .rodata 0x000000002001b588 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .rodata 0x000000002001b5e8 0x38 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .rodata 0x000000002001b620 0x170 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .rodata 0x000000002001b790 0x130 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- 0x000000002001b898 hex2ascii_data
- 0x000000002001b790 bcd2bin_data
- 0x000000002001b830 bin2bcd_data
- .rodata 0x000000002001b8c0 0x120 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- .rodata 0x000000002001b9e0 0x40 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- .rodata 0x000000002001ba20 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o)
- .rodata 0x000000002001ba28 0x198 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .rodata 0x000000002001bbc0 0x98 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o)
- .rodata 0x000000002001bc58 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- .rodata 0x000000002001bc60 0x20 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- *(.gnu.linkonce.r*)
-
-.rodata1
- *(.rodata1)
-
-.reginfo
- *(.reginfo)
- 0x000000002001bc80 .=.
-
-.data 0x000000002001bc80 0x698
- *(.data)
- .data 0x000000002001bc80 0x48 main.o
- .data 0x000000002001bcc8 0x48 conf.o
- 0x000000002001bcf0 module_formats
- 0x000000002001bcd8 file_system
- 0x000000002001bd00 consoles
- 0x000000002001bcc8 devsw
- .data 0x000000002001bd10 0x40 boot.o
- .data 0x000000002001bd50 0x90 commands.o
- .data 0x000000002001bde0 0x18 interp.o
- .data 0x000000002001bdf8 0x28 ls.o
- .data 0x000000002001be20 0x40 module.o
- 0x000000002001be28 loaded_modules
- .data 0x000000002001be60 0x68 vers.o
- 0x000000002001be80 bootprog_rev
- 0x000000002001be88 bootprog_date
- 0x000000002001bea8 bootprog_maker
- 0x000000002001be60 bootprog_name
- .data 0x000000002001bec8 0x38 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- 0x000000002001bec8 ufs_fsops
- .data 0x000000002001bf00 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .data 0x000000002001bf18 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- 0x000000002001bf18 opterr
- 0x000000002001bf1c optind
- .data 0x000000002001bf28 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- 0x000000002001bf28 environ
- .data 0x000000002001bf30 0x1d0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .data 0x000000002001c100 0x40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- 0x000000002001c100 zipfs_fsops
- .data 0x000000002001c140 0x50 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- 0x000000002001c140 z_errmsg
- .data 0x000000002001c190 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- *fill* 0x000000002001c194 0x4
- .data 0x000000002001c198 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- 0x000000002001c198 freelist
- .data 0x000000002001c1a0 0x44 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- 0x000000002001c1a0 inflate_mask
- *fill* 0x000000002001c1e4 0x4
- .data 0x000000002001c1e8 0x90 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- 0x000000002001c1f0 rootpath
- 0x000000002001c270 netmask
- 0x000000002001c1e8 bcea
- .data 0x000000002001c278 0x40 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- 0x000000002001c278 srmdisk
- .data 0x000000002001c2b8 0x18 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- 0x000000002001c2b8 alpha_elf
- .data 0x000000002001c2d0 0x48 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- 0x000000002001c2d0 promconsole
- *(.gnu.linkonce.d*)
-
-.set.Xcommand_set
- 0x000000002001c318 0x88
- .set.Xcommand_set
- 0x000000002001c318 0x8 setdef0.o
- 0x000000002001c318 Xcommand_set
- .set.Xcommand_set
- 0x000000002001c320 0x18 main.o
- .set.Xcommand_set
- 0x000000002001c338 0x10 boot.o
- .set.Xcommand_set
- 0x000000002001c348 0x30 commands.o
- .set.Xcommand_set
- 0x000000002001c378 0x8 interp.o
- .set.Xcommand_set
- 0x000000002001c380 0x8 ls.o
- .set.Xcommand_set
- 0x000000002001c388 0x10 module.o
- .set.Xcommand_set
- 0x000000002001c398 0x8 setdef1.o
-
-.data1
- *(.data1)
-
-.ctors
- *(.ctors)
-
-.dtors
- *(.dtors)
-
-.plt
- *(.plt)
-
-.got 0x000000002001c3a0 0xaa8
- *(.got.plt)
- *(.got)
- .got 0x000000002001c3a0 0xaa8 start.o
-
-.dynamic
- *(.dynamic)
-
-.sdata
- *(.sdata)
- 0x000000002001ce48 _edata=.
- 0x000000002001ce48 PROVIDE (edata, .)
- 0x000000002001ce48 __bss_start=.
-
-.sbss
- *(.sbss)
- *(.scommon)
-
-.bss 0x000000002001ce50 0x2b50
- *(.dynbss)
- *(.bss)
- .bss 0x000000002001ce50 0xb0 interp.o
- .bss 0x000000002001cf00 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .bss 0x000000002001cf04 0x20 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- *fill* 0x000000002001cf24 0x4
- .bss 0x000000002001cf28 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .bss 0x000000002001cf30 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- *fill* 0x000000002001cf34 0x4
- .bss 0x000000002001cf38 0x1a98 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .bss 0x000000002001e9d0 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .bss 0x000000002001e9e8 0x17 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- *fill* 0x000000002001e9ff 0x1
- .bss 0x000000002001ea00 0x934 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- .bss 0x000000002001f334 0x80 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- *fill* 0x000000002001f3b4 0x4
- .bss 0x000000002001f3b8 0x100 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .bss 0x000000002001f4b8 0x18 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- *(COMMON)
- COMMON 0x000000002001f4d0 0x30 main.o
- 0x000000002001f4d0 archsw
- 0x000000002001f4e8 currdev
- COMMON 0x000000002001f500 0x110 commands.o
- 0x000000002001f500 command_errmsg
- 0x000000002001f510 command_errbuf
- COMMON 0x000000002001f610 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- 0x000000002001f610 optarg
- 0x000000002001f618 optreset
- 0x000000002001f61c optopt
- COMMON 0x000000002001f620 0x180 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- 0x000000002001f620 files
- COMMON 0x000000002001f7a0 0x1c4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- 0x000000002001f7a0 domainname
- 0x000000002001f820 nameip
- 0x000000002001f824 hostnamelen
- 0x000000002001f828 errno
- 0x000000002001f82c swapip
- 0x000000002001f830 rootip
- 0x000000002001f834 myip
- 0x000000002001f840 hostname
- 0x000000002001f8c0 bootfile
- 0x000000002001f940 gateip
- 0x000000002001f950 ifname
- 0x000000002001f960 domainnamelen
- *fill* 0x000000002001f964 0x4
- COMMON 0x000000002001f968 0x20 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- 0x000000002001f968 ffp_save
- 0x000000002001f970 ssym
- 0x000000002001f978 ptbr_save
- 0x000000002001f980 esym
- COMMON 0x000000002001f988 0x4 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- 0x000000002001f988 console
- *fill* 0x000000002001f98c 0x4
- COMMON 0x000000002001f990 0x10 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_disp.o)
- 0x000000002001f990 prom_dispatch_v
- 0x000000002001f9a0 _end=.
- 0x000000002001f9a0 PROVIDE (end, .)
-
-.stab
- *(.stab)
-
-.stabstr
- *(.stabstr)
-
-.stab.excl
- *(.stab.excl)
-
-.stab.exclstr
- *(.stab.exclstr)
-
-.stab.index
- *(.stab.index)
-
-.stab.indexstr
- *(.stab.indexstr)
-
-.comment 0x0000000000000000 0x4ec
- *(.comment)
- .comment 0x0000000000000000 0x14 setdef0.o
- .comment 0x0000000000000014 0x14 main.o
- .comment 0x0000000000000028 0x14 conf.o
- .comment 0x000000000000003c 0x14 boot.o
- .comment 0x0000000000000050 0x14 commands.o
- .comment 0x0000000000000064 0x14 console.o
- .comment 0x0000000000000078 0x14 devopen.o
- .comment 0x000000000000008c 0x14 interp.o
- .comment 0x00000000000000a0 0x14 ls.o
- .comment 0x00000000000000b4 0x14 misc.o
- .comment 0x00000000000000c8 0x14 module.o
- .comment 0x00000000000000dc 0x14 panic.o
- .comment 0x00000000000000f0 0x14 setdef1.o
- .comment 0x0000000000000104 0x14 vers.o
- .comment 0x0000000000000118 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- .comment 0x000000000000012c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- .comment 0x0000000000000140 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- .comment 0x0000000000000154 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- .comment 0x0000000000000168 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .comment 0x000000000000017c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .comment 0x0000000000000190 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .comment 0x00000000000001a4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .comment 0x00000000000001b8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- .comment 0x00000000000001cc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .comment 0x00000000000001e0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- .comment 0x00000000000001f4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- .comment 0x0000000000000208 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .comment 0x000000000000021c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- .comment 0x0000000000000230 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- .comment 0x0000000000000244 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- .comment 0x0000000000000258 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- .comment 0x000000000000026c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- .comment 0x0000000000000280 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .comment 0x0000000000000294 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .comment 0x00000000000002a8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .comment 0x00000000000002bc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- .comment 0x00000000000002d0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- .comment 0x00000000000002e4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .comment 0x00000000000002f8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .comment 0x000000000000030c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .comment 0x0000000000000320 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .comment 0x0000000000000334 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .comment 0x0000000000000348 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .comment 0x000000000000035c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- .comment 0x0000000000000370 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- .comment 0x0000000000000384 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .comment 0x0000000000000398 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- .comment 0x00000000000003ac 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- .comment 0x00000000000003c0 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- .comment 0x00000000000003d4 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- .comment 0x00000000000003e8 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(alpha_module.o)
- .comment 0x00000000000003fc 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(time.o)
- .comment 0x0000000000000410 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o)
- .comment 0x0000000000000424 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(reboot.o)
- .comment 0x0000000000000438 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .comment 0x000000000000044c 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o)
- .comment 0x0000000000000460 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- .comment 0x0000000000000474 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- .comment 0x0000000000000488 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- .comment 0x000000000000049c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- .comment 0x00000000000004b0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- .comment 0x00000000000004c4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- .comment 0x00000000000004d8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
-
-.debug
- *(.debug)
-
-.line
- *(.line)
-
-.debug_srcinfo
- *(.debug_srcinfo)
-
-.debug_sfnames
- *(.debug_sfnames)
-
-.debug_aranges
- *(.debug_aranges)
-
-.debug_pubnames
- *(.debug_pubnames)
-
-.debug_info
- *(.debug_info)
-
-.debug_abbrev
- *(.debug_abbrev)
-
-.debug_line
- *(.debug_line)
-
-.debug_frame
- *(.debug_frame)
-
-.debug_str
- *(.debug_str)
-
-.debug_loc
- *(.debug_loc)
-
-.debug_macinfo
- *(.debug_macinfo)
-
-.debug_weaknames
- *(.debug_weaknames)
-
-.debug_funcnames
- *(.debug_funcnames)
-
-.debug_typenames
- *(.debug_typenames)
-
-.debug_varnames
- *(.debug_varnames)
-OUTPUT(boot2.sym elf64-alpha)
-
-.mdebug 0x00000000000004f0 0xdb50
- .mdebug 0x00000000000004f0 0x850 start.o
- .mdebug 0x0000000000000d40 0x1e0 setdef0.o
- .mdebug 0x0000000000000f20 0xab8 main.o
- .mdebug 0x00000000000019d8 0x2e8 conf.o
- .mdebug 0x0000000000001cc0 0x8c0 boot.o
- .mdebug 0x0000000000002580 0xb00 commands.o
- .mdebug 0x0000000000003080 0x788 console.o
- .mdebug 0x0000000000003808 0x3d0 devopen.o
- .mdebug 0x0000000000003bd8 0x968 interp.o
- .mdebug 0x0000000000004540 0x540 ls.o
- .mdebug 0x0000000000004a80 0x330 misc.o
- .mdebug 0x0000000000004db0 0x790 module.o
- .mdebug 0x0000000000005540 0x310 panic.o
- .mdebug 0x0000000000005850 0x1b8 setdef1.o
- .mdebug 0x0000000000005a08 0x248 vers.o
- .mdebug 0x0000000000005c50 0xc30 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- .mdebug 0x0000000000006880 0x308 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- .mdebug 0x0000000000006b88 0x778 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__reml.o)
- .mdebug 0x0000000000007300 0x708 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remlu.o)
- .mdebug 0x0000000000007a08 0x778 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divl.o)
- .mdebug 0x0000000000008180 0x708 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divlu.o)
- .mdebug 0x0000000000008888 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- .mdebug 0x0000000000008b10 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- .mdebug 0x0000000000008d98 0x7a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .mdebug 0x0000000000009538 0x3d0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .mdebug 0x0000000000009908 0xa30 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .mdebug 0x000000000000a338 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .mdebug 0x000000000000a650 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- .mdebug 0x000000000000a8d8 0x350 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .mdebug 0x000000000000ac28 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- .mdebug 0x000000000000af40 0x3e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- .mdebug 0x000000000000b320 0xc28 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .mdebug 0x000000000000bf48 0x308 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- .mdebug 0x000000000000c250 0x430 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- .mdebug 0x000000000000c680 0x310 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- .mdebug 0x000000000000c990 0x2f0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- .mdebug 0x000000000000cc80 0x720 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- .mdebug 0x000000000000d3a0 0xac8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .mdebug 0x000000000000de68 0x9a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .mdebug 0x000000000000e808 0x2c0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .mdebug 0x000000000000eac8 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- .mdebug 0x000000000000ed50 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- .mdebug 0x000000000000efd8 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .mdebug 0x000000000000f2f0 0x590 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .mdebug 0x000000000000f880 0x830 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .mdebug 0x00000000000100b0 0x538 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .mdebug 0x00000000000105e8 0x618 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .mdebug 0x0000000000010c00 0x2f8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .mdebug 0x0000000000010ef8 0x320 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- .mdebug 0x0000000000011218 0xbc0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcopy.o)
- .mdebug 0x0000000000011dd8 0x3a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- .mdebug 0x0000000000012178 0x828 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bzero.o)
- .mdebug 0x00000000000129a0 0x6e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .mdebug 0x0000000000013080 0x708 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remqu.o)
- .mdebug 0x0000000000013788 0x700 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divqu.o)
- .mdebug 0x0000000000013e88 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- .mdebug 0x0000000000014110 0x228 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- .mdebug 0x0000000000014338 0x6d8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- .mdebug 0x0000000000014a10 0x740 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- .mdebug 0x0000000000015150 0x408 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(alpha_module.o)
- .mdebug 0x0000000000015558 0x2d0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(time.o)
- .mdebug 0x0000000000015828 0x2d8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o)
- .mdebug 0x0000000000015b00 0x3a0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(reboot.o)
- .mdebug 0x0000000000015ea0 0x770 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .mdebug 0x0000000000016610 0x320 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o)
- .mdebug 0x0000000000016930 0x3b8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- .mdebug 0x0000000000016ce8 0x18b8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(pal.o)
- .mdebug 0x00000000000185a0 0xae0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_swpal.o)
- .mdebug 0x0000000000019080 0x9b8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- .mdebug 0x0000000000019a38 0xaa0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom_disp.o)
- .mdebug 0x000000000001a4d8 0x2f0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- .mdebug 0x000000000001a7c8 0x418 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- .mdebug 0x000000000001abe0 0x2f8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- .mdebug 0x000000000001aed8 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- .mdebug 0x000000000001b160 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
-
-.note 0x000000000001b3e8 0x4ec
- .note 0x000000000001b3e8 0x14 setdef0.o
- .note 0x000000000001b3fc 0x14 main.o
- .note 0x000000000001b410 0x14 conf.o
- .note 0x000000000001b424 0x14 boot.o
- .note 0x000000000001b438 0x14 commands.o
- .note 0x000000000001b44c 0x14 console.o
- .note 0x000000000001b460 0x14 devopen.o
- .note 0x000000000001b474 0x14 interp.o
- .note 0x000000000001b488 0x14 ls.o
- .note 0x000000000001b49c 0x14 misc.o
- .note 0x000000000001b4b0 0x14 module.o
- .note 0x000000000001b4c4 0x14 panic.o
- .note 0x000000000001b4d8 0x14 setdef1.o
- .note 0x000000000001b4ec 0x14 vers.o
- .note 0x000000000001b500 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ufs.o)
- .note 0x000000000001b514 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- .note 0x000000000001b528 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- .note 0x000000000001b53c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- .note 0x000000000001b550 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .note 0x000000000001b564 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .note 0x000000000001b578 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .note 0x000000000001b58c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .note 0x000000000001b5a0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- .note 0x000000000001b5b4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .note 0x000000000001b5c8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- .note 0x000000000001b5dc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- .note 0x000000000001b5f0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .note 0x000000000001b604 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- .note 0x000000000001b618 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- .note 0x000000000001b62c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- .note 0x000000000001b640 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- .note 0x000000000001b654 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- .note 0x000000000001b668 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .note 0x000000000001b67c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .note 0x000000000001b690 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .note 0x000000000001b6a4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- .note 0x000000000001b6b8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- .note 0x000000000001b6cc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .note 0x000000000001b6e0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .note 0x000000000001b6f4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .note 0x000000000001b708 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .note 0x000000000001b71c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .note 0x000000000001b730 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .note 0x000000000001b744 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- .note 0x000000000001b758 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- .note 0x000000000001b76c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .note 0x000000000001b780 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- .note 0x000000000001b794 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- .note 0x000000000001b7a8 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(srmdisk.o)
- .note 0x000000000001b7bc 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(devicename.o)
- .note 0x000000000001b7d0 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(alpha_module.o)
- .note 0x000000000001b7e4 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(time.o)
- .note 0x000000000001b7f8 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(delay.o)
- .note 0x000000000001b80c 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(reboot.o)
- .note 0x000000000001b820 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .note 0x000000000001b834 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(OSFpal.o)
- .note 0x000000000001b848 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(getsecs.o)
- .note 0x000000000001b85c 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/boot2/../libalpha/obj/libalpha.a(prom.o)
- .note 0x000000000001b870 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- .note 0x000000000001b884 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- .note 0x000000000001b898 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- .note 0x000000000001b8ac 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- .note 0x000000000001b8c0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
diff --git a/sys/boot/alpha/boot2/conf.c b/sys/boot/alpha/boot2/conf.c
index 6a708f1..e4f439b 100644
--- a/sys/boot/alpha/boot2/conf.c
+++ b/sys/boot/alpha/boot2/conf.c
@@ -1,5 +1,5 @@
/*
- * $Id$
+ * $Id: conf.c,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $
* From $NetBSD: conf.c,v 1.2 1997/03/22 09:03:29 thorpej Exp $
*/
@@ -64,6 +64,8 @@ struct fs_ops *file_system[] = {
* Sort formats so that those that can detect based on arguments
* rather than reading the file go first.
*/
+extern struct module_format alpha_elf;
+
struct module_format *module_formats[] = {
&alpha_elf,
NULL
diff --git a/sys/boot/alpha/boot2/setdefs.h b/sys/boot/alpha/boot2/setdefs.h
deleted file mode 100644
index 2320078..0000000
--- a/sys/boot/alpha/boot2/setdefs.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* $Id$ */
-DEFINE_SET(Xcommand_set, 15);
diff --git a/sys/boot/alpha/boot2/vers.c b/sys/boot/alpha/boot2/vers.c
deleted file mode 100644
index 08eda5c..0000000
--- a/sys/boot/alpha/boot2/vers.c
+++ /dev/null
@@ -1,4 +0,0 @@
-char bootprog_name[] = "FreeBSD/alpha SRM disk boot";
-char bootprog_rev[] = "0.1";
-char bootprog_date[] = "Mon Aug 17 10:38:19 BST 1998";
-char bootprog_maker[] = "dfr@salmon.nlsystems.com";
diff --git a/sys/boot/alpha/common/main.c b/sys/boot/alpha/common/main.c
index 6c0b10f..d7f6709 100644
--- a/sys/boot/alpha/common/main.c
+++ b/sys/boot/alpha/common/main.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: main.c,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $
+ * $Id: main.c,v 1.2 1998/08/22 10:31:00 dfr Exp $
*/
@@ -116,8 +116,9 @@ main(void)
setenv("LINES", "24", 1); /* optional */
archsw.arch_autoload = alpha_autoload;
- archsw.arch_boot = alpha_boot;
archsw.arch_getdev = alpha_getdev;
+ archsw.arch_copyin = alpha_copyin;
+ archsw.arch_readin = alpha_readin;
/*
* SRM firmware takes *ages* to open the disk device. We hold it
diff --git a/sys/boot/alpha/libalpha/Makefile b/sys/boot/alpha/libalpha/Makefile
index 58bf824..92ccbdf 100644
--- a/sys/boot/alpha/libalpha/Makefile
+++ b/sys/boot/alpha/libalpha/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $
+# $Id: Makefile,v 1.2 1998/08/22 10:31:01 dfr Exp $
LIB= alpha
NOPIC= true
@@ -18,7 +18,7 @@ CFLAGS+= -DDISK_DEBUG
SRCS= OSFpal.c elf_freebsd.c prom.c prom_disp.S prom_swpal.S start.S \
pal.S reboot.c delay.c time.c alpha_module.c devicename.c \
- srmdisk.c srmnet.c getsecs.c
+ srmdisk.c srmnet.c getsecs.c alpha_copy.c
all: libalpha.a
diff --git a/sys/boot/alpha/libalpha/alpha_copy.c b/sys/boot/alpha/libalpha/alpha_copy.c
new file mode 100644
index 0000000..9e164de
--- /dev/null
+++ b/sys/boot/alpha/libalpha/alpha_copy.c
@@ -0,0 +1,50 @@
+/*-
+ * Copyright (c) 1998 Michael Smith <msmith@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id$
+ */
+/*
+ * MD primitives supporting placement of module data
+ *
+ * XXX should check load address/size against memory top.
+ */
+#include <stand.h>
+
+#include "libalpha.h"
+
+int
+alpha_copyin(void *src, vm_offset_t dest, size_t len)
+{
+ bcopy(src, dest, len);
+ return(len);
+}
+
+int
+alpha_readin(int fd, vm_offset_t dest, size_t len)
+{
+ return(read(fd, dest, len));
+}
+
+
diff --git a/sys/boot/alpha/libalpha/alpha_module.c b/sys/boot/alpha/libalpha/alpha_module.c
index a08fc85..afa065f 100644
--- a/sys/boot/alpha/libalpha/alpha_module.c
+++ b/sys/boot/alpha/libalpha/alpha_module.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: alpha_module.c,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $
*/
/*
@@ -38,22 +38,6 @@
#include "libalpha.h"
/*
- * Look for a method and having found it, boot the kernel module.
- */
-int
-alpha_boot(void)
-{
- int i;
-
- for (i = 0; module_formats[i] != NULL; i++) {
- if (((loaded_modules->m_flags & MF_FORMATMASK) == module_formats[i]->l_format) &&
- (module_formats[i]->l_exec != NULL)) {
- return((module_formats[i]->l_exec)(loaded_modules));
- }
- }
-}
-
-/*
* Use voodoo to load modules required by current hardware.
*/
int
diff --git a/sys/boot/alpha/libalpha/elf_freebsd.c b/sys/boot/alpha/libalpha/elf_freebsd.c
index 4f618d8..b2e59ae 100644
--- a/sys/boot/alpha/libalpha/elf_freebsd.c
+++ b/sys/boot/alpha/libalpha/elf_freebsd.c
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: elf_freebsd.c,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $ */
/* $NetBSD: loadfile.c,v 1.10 1998/06/25 06:45:46 ross Exp $ */
/*-
@@ -89,18 +89,11 @@
#define _KERNEL
-struct elf_kernel_module
-{
- struct loaded_module m;
- vm_offset_t m_entry; /* module entrypoint */
- struct bootinfo_v1 m_bi; /* legacy bootinfo */
-};
-
static int elf_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result);
static int elf_exec(struct loaded_module *amp);
static int elf_load(int fd, Elf_Ehdr *elf, vm_offset_t dest);
-struct module_format alpha_elf = { MF_ELF, elf_loadmodule, elf_exec };
+struct module_format alpha_elf = { elf_loadmodule, elf_exec };
vm_offset_t ffp_save, ptbr_save;
vm_offset_t ssym, esym;
@@ -108,7 +101,7 @@ vm_offset_t ssym, esym;
static int
elf_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result)
{
- struct elf_kernel_module *mp;
+ struct loaded_module *mp;
Elf_Ehdr hdr;
ssize_t nr;
int fd, rval;
@@ -137,21 +130,23 @@ elf_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result)
/*
* Ok, we think this is for us.
*/
- mp = malloc(sizeof(struct elf_kernel_module));
- mp->m.m_name = strdup(filename); /* XXX should we prune the name? */
- mp->m.m_type = "elf kernel"; /* XXX only if that's what we really are */
- mp->m.m_args = NULL; /* XXX should we put the bootstrap args here and parse later? */
- mp->m.m_flags = MF_ELF; /* we're an elf kernel */
- mp->m_entry = hdr.e_entry;
- if (dest == 0)
- dest = (vm_offset_t) hdr.e_entry;
- if (mod_findmodule(NULL, mp->m.m_type) != NULL) {
+ mp = malloc(sizeof(struct loaded_module));
+ mp->m_name = strdup(filename); /* XXX should we prune the name? */
+ mp->m_type = strdup("elf kernel"); /* XXX only if that's what we really are */
+ mp->m_args = NULL; /* XXX should we put the bootstrap args here and parse later? */
+ mp->m_metadata = NULL;
+ dest = (vm_offset_t) hdr.e_entry;
+ mp->m_addr = dest;
+ if (mod_findmodule(NULL, NULL) != NULL) {
printf("elf_loadmodule: kernel already loaded\n");
rval = EPERM;
goto err;
}
rval = elf_load(fd, &hdr, (vm_offset_t) dest);
+ /* save ELF header as metadata */
+ mod_addmetadata(mp, MODINFOMD_ELFHDR, sizeof(Elf_Ehdr), &hdr);
+
*result = (struct loaded_module *)mp;
err:
@@ -284,10 +279,15 @@ elf_load(int fd, Elf_Ehdr *elf, vm_offset_t dest)
}
static int
-elf_exec(struct loaded_module *amp)
+elf_exec(struct loaded_module *mp)
{
- struct elf_kernel_module *mp = (struct elf_kernel_module *)amp;
- static struct bootinfo_v1 bootinfo_v1;
+ static struct bootinfo_v1 bootinfo_v1;
+ struct module_metadata *md;
+ Elf_Ehdr *hdr;
+
+ if ((md = mod_findmetadata(mp, MODINFOMD_ELFHDR)) == NULL)
+ return(EFTYPE); /* XXX actually EFUCKUP */
+ hdr = (Elf_Ehdr *)&(md->md_data);
/*
* Fill in the bootinfo for the kernel.
@@ -295,7 +295,7 @@ elf_exec(struct loaded_module *amp)
bzero(&bootinfo_v1, sizeof(bootinfo_v1));
bootinfo_v1.ssym = ssym;
bootinfo_v1.esym = esym;
- strncpy(bootinfo_v1.booted_kernel, mp->m.m_name,
+ strncpy(bootinfo_v1.booted_kernel, mp->m_name,
sizeof(bootinfo_v1.booted_kernel));
prom_getenv(PROM_E_BOOTED_OSFLAGS, bootinfo_v1.boot_flags,
sizeof(bootinfo_v1.boot_flags));
@@ -305,10 +305,10 @@ elf_exec(struct loaded_module *amp)
bootinfo_v1.cnputc = NULL;
bootinfo_v1.cnpollc = NULL;
- printf("Entering %s at 0x%lx...\n", mp->m.m_name, mp->m_entry);
+ printf("Entering %s at 0x%lx...\n", mp->m_name, hdr->e_entry);
closeall();
alpha_pal_imb();
- (*(void (*)())mp->m_entry)(ffp_save, ptbr_save,
+ (*(void (*)())hdr->e_entry)(ffp_save, ptbr_save,
BOOTINFO_MAGIC, &bootinfo_v1, 1, 0);
}
diff --git a/sys/boot/alpha/libalpha/libalpha.h b/sys/boot/alpha/libalpha/libalpha.h
index 24b29d2..0308ea2 100644
--- a/sys/boot/alpha/libalpha/libalpha.h
+++ b/sys/boot/alpha/libalpha/libalpha.h
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: libalpha.h,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $ */
/*
* Copyright (c) 1996
@@ -74,34 +74,8 @@ extern struct netif_driver srmnet;
extern void delay(int);
extern void reboot(void);
-/*
- * alpha module loader
- */
-#define MF_FORMATMASK 0xf
-#define MF_AOUT 0 /* not supported */
-#define MF_ELF 1
-
-struct alpha_module
-{
- char *m_name; /* module name */
- char *m_type; /* module type, eg 'kernel', 'pnptable', etc. */
- char *m_args; /* arguments for the module */
- int m_flags; /* 0xffff reserved for arch-specific use */
- struct alpha_module *m_next; /* next module */
- physaddr_t m_addr; /* load address */
- size_t m_size; /* module size */
-};
-
-struct alpha_format
-{
- int l_format;
- /* Load function must return EFTYPE if it can't handle the module supplied */
- int (* l_load)(char *filename, physaddr_t dest, struct alpha_module **result);
- int (* l_exec)(struct alpha_module *amp);
-};
-extern struct alpha_format *formats[]; /* supplied by consumer */
-extern struct alpha_format alpha_elf;
+extern int alpha_copyin(void *src, vm_offset_t dest, size_t len);
+extern int alpha_readin(int fd, vm_offset_t dest, size_t len);
-extern int alpha_boot(void);
-extern int alpha_autoload(void);
-extern struct alpha_module *alpha_findmodule(char *name, char *type);
+extern int alpha_boot(void);
+extern int alpha_autoload(void);
diff --git a/sys/boot/alpha/netboot/conf.c b/sys/boot/alpha/netboot/conf.c
index d54a452..8a0e10b 100644
--- a/sys/boot/alpha/netboot/conf.c
+++ b/sys/boot/alpha/netboot/conf.c
@@ -1,5 +1,5 @@
/*
- * $Id$
+ * $Id: conf.c,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $
* From: $NetBSD: conf.c,v 1.2 1997/03/22 09:03:29 thorpej Exp $
*/
@@ -70,6 +70,8 @@ struct netif_driver *netif_drivers[] = {
* Sort formats so that those that can detect based on arguments
* rather than reading the file go first.
*/
+extern struct module_format alpha_elf;
+
struct module_format *module_formats[] = {
&alpha_elf,
NULL
diff --git a/sys/boot/alpha/netboot/netboot.list b/sys/boot/alpha/netboot/netboot.list
deleted file mode 100644
index 97410e1..0000000
--- a/sys/boot/alpha/netboot/netboot.list
+++ /dev/null
@@ -1,1177 +0,0 @@
-Archive member included because of file (symbol)
-
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- conf.o (nfs_fsops)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- dev_net.o (bp_whoami)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o)
- dev_net.o (rarp_getipaddress)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- dev_net.o (bootp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o) (rpc_port)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- ls.o (stat)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- dev_net.o (noioctl)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- boot.o (strncpy)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- misc.o (strcat)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- commands.o (pager_open)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- ls.o (optind)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- commands.o (environ)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- boot.o (strtol)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- boot.o (strchr)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- commands.o (strerror)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o) (strdup)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- interp.o (ngets)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- conf.o (zipfs_fsops)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- ls.o (read)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o) (files)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- interp.o (close)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- ls.o (fstat)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o) (null_write)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o) (inflateEnd)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o) (inflate_blocks_reset)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o) (adler32)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o) (strrchr)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- console.o (strcmp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o) (twiddle)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o) (zcalloc)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o) (inflate_trees_bits)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o) (inflate_codes_new)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- main.o (setheap)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o) (inflate_fast)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o) (inflate_mask)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o) (sendudp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(in_cksum.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o) (in_cksum)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o) (arpwhohas)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ntohl.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o) (ntohl)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(htonl.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o) (htonl)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o) (sendether)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ntohs.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o) (ntohs)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(htons.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o) (htons)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcopy.o)
- interp.o (bcopy)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcmp.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o) (bcmp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o) (bcea)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o) (netif_get)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bzero.o)
- start.o (bzero)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- main.o (printf)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remqu.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o) (__remqu)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divqu.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o) (__divqu)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- boot.o (strlen)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o) (hex2ascii_data)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- conf.o (srmnet)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- main.o (alpha_getdev)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(alpha_module.o)
- main.o (alpha_boot)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(time.o)
- boot.o (time)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o)
- main.o (delay)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(reboot.o)
- main.o (reboot)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- conf.o (alpha_elf)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o)
- main.o (OSFpal)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o) (getsecs)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(pal.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o) (alpha_rpcc)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_swpal.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o) (switch_palcode)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- conf.o (promconsole)
-/mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_disp.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o) (prom_dispatch_v)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o) (lseek)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o) (closeall)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o) (strncmp)
-/home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
- /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o) (strcpy)
-
-Allocating common symbols
-Common symbol size file
-
-servip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
-domainname 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-nameip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-hostnamelen 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-command_errmsg 0x8 commands.o
-rpc_pmap_list 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
-errno 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-bp_server_addr 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
-ffp_save 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
-swapip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-rootip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-optarg 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
-rpc_xid 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
-myip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-hostname 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-archsw 0x18 main.o
-ssym 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
-console 0x4 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
-command_errbuf 0x100 commands.o
-currdev 0x18 main.o
-dhcp_serverip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
-bootfile 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-ptbr_save 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
-gateip 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-sockets 0x140 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
-files 0x180 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
-bp_server_port 0x2 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
-prom_stats 0x1c /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
-ifname 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-domainnamelen 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
-optreset 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
-rpc_pmap_num 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
-broken_firmware 0x4 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
-optopt 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
-prom_dispatch_v 0x10 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_disp.o)
-esym 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
-
-Memory Configuration
-
-Name Origin Length
-*default* 0x0000000000000000 0xffffffffffffffff
-
-Linker script and memory map
-
-Address of section .text set to 0x20000000
-LOAD start.o
-LOAD setdef0.o
-LOAD main.o
-LOAD conf.o
-LOAD dev_net.o
-LOAD boot.o
-LOAD commands.o
-LOAD console.o
-LOAD devopen.o
-LOAD interp.o
-LOAD ls.o
-LOAD misc.o
-LOAD module.o
-LOAD panic.o
-LOAD setdef1.o
-LOAD vers.o
-LOAD /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a
-LOAD /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a
-LOAD /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a
- 0x00000001200000b0 .=(0x120000000+SIZEOF_HEADERS)
-
-.interp
- *(.interp)
-
-.hash
- *(.hash)
-
-.dynsym
- *(.dynsym)
-
-.dynstr
- *(.dynstr)
-
-.gnu.version
- *(.gnu.version)
-
-.gnu.version_d
- *(.gnu.version_d)
-
-.gnu.version_r
- *(.gnu.version_r)
-
-.rel.text
- *(.rel.text)
- *(.rel.gnu.linkonce.t*)
-
-.rela.text
- *(.rela.text)
- *(.rela.gnu.linkonce.t*)
-
-.rel.data
- *(.rel.data)
- *(.rel.gnu.linkonce.d*)
-
-.rela.data 0x00000001200000b0 0x0
- *(.rela.data)
- *(.rela.gnu.linkonce.d*)
-
-.rela.set.Xcommand_set
- 0x00000001200000b0 0x0
-
-.rel.rodata
- *(.rel.rodata)
- *(.rel.gnu.linkonce.r*)
-
-.rela.rodata
- *(.rela.rodata)
- *(.rela.gnu.linkonce.r*)
-
-.rel.got
- *(.rel.got)
-
-.rela.got
- *(.rela.got)
-
-.rel.ctors
- *(.rel.ctors)
-
-.rela.ctors
- *(.rela.ctors)
-
-.rel.dtors
- *(.rel.dtors)
-
-.rela.dtors
- *(.rela.dtors)
-
-.rel.init
- *(.rel.init)
-
-.rela.init
- *(.rela.init)
-
-.rel.fini
- *(.rel.fini)
-
-.rela.fini
- *(.rela.fini)
-
-.rel.bss
- *(.rel.bss)
-
-.rela.bss
- *(.rela.bss)
-
-.rel.plt
- *(.rel.plt)
-
-.rela.plt
- *(.rela.plt)
-
-.init
- *(.init)
-
-.text 0x0000000020000000 0x12660
- *(.text)
- .text 0x0000000020000000 0x48 start.o
- 0x000000002000003c __main
- 0x0000000020000038 _rtt
- 0x0000000020000040 cpu_number
- 0x0000000020000038 halt
- 0x0000000020000000 start
- *fill* 0x0000000020000048 0x18 1207895071
- .text 0x0000000020000060 0x3e0 main.o
- 0x0000000020000060 memsize
- 0x00000000200000c8 main
- .text 0x0000000020000440 0x400 dev_net.o
- .text 0x0000000020000840 0x580 boot.o
- 0x0000000020000ae8 autoboot
- .text 0x0000000020000dc0 0x3e0 commands.o
- .text 0x00000000200011a0 0x480 console.o
- 0x00000000200013f8 putchar
- 0x00000000200011a0 cons_probe
- 0x0000000020001368 ischar
- 0x00000000200012a8 getchar
- .text 0x0000000020001620 0xf0 devopen.o
- 0x00000000200016d0 devclose
- 0x0000000020001620 devopen
- *fill* 0x0000000020001710 0x10 1207895071
- .text 0x0000000020001720 0x5c0 interp.o
- 0x00000000200019e8 interact
- 0x0000000020001b00 source
- .text 0x0000000020001ce0 0x480 ls.o
- .text 0x0000000020002160 0x140 misc.o
- 0x0000000020002160 unargv
- .text 0x00000000200022a0 0x3a0 module.o
- 0x0000000020002578 mod_findmodule
- 0x00000000200023d0 mod_load
- .text 0x0000000020002640 0xf0 panic.o
- 0x0000000020002640 panic
- *fill* 0x0000000020002730 0x10 1207895071
- .text 0x0000000020002740 0xe20 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- 0x0000000020002740 nfs_getrootfh
- 0x0000000020002c00 nfs_readdata
- 0x0000000020002dd0 nfs_open
- 0x00000000200028d0 nfs_lookupfh
- 0x0000000020002aa0 nfs_readlink
- .text 0x0000000020003560 0x890 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- 0x0000000020003560 bp_whoami
- 0x0000000020003848 bp_getfile
- 0x0000000020003b08 xdr_string_decode
- 0x0000000020003bd0 xdr_inaddr_encode
- 0x0000000020003a60 xdr_string_encode
- 0x0000000020003cb8 xdr_inaddr_decode
- .text 0x0000000020003df0 0x420 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o)
- 0x0000000020003df0 rarp_getipaddress
- *fill* 0x0000000020004210 0x10 1207895071
- .text 0x0000000020004220 0x960 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- 0x0000000020004220 bootp
- .text 0x0000000020004b80 0x660 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- 0x0000000020004f18 rpc_fromaddr
- 0x0000000020004f58 rpc_pmap_getcache
- 0x0000000020004b80 rpc_call
- 0x0000000020004ff8 rpc_pmap_putcache
- .text 0x00000000200051e0 0x90 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- 0x00000000200051e0 stat
- .text 0x0000000020005270 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- 0x0000000020005270 nodev
- 0x0000000020005280 noioctl
- 0x0000000020005278 nullsys
- *fill* 0x0000000020005288 0x18 1207895071
- .text 0x00000000200052a0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- 0x00000000200052a0 strncpy
- .text 0x0000000020005340 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- 0x0000000020005340 strcat
- .text 0x00000000200053c0 0x380 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- 0x0000000020005468 pager_output
- 0x0000000020005450 pager_close
- 0x0000000020005618 pager_file
- 0x00000000200053c0 pager_open
- .text 0x0000000020005740 0x310 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- 0x0000000020005740 getopt
- *fill* 0x0000000020005a50 0x10 1207895071
- .text 0x0000000020005a60 0x4a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- 0x0000000020005dc8 unsetenv
- 0x0000000020005ef0 env_nounset
- 0x0000000020005cc0 getenv
- 0x0000000020005d68 putenv
- 0x0000000020005ee8 env_noset
- 0x0000000020005d00 setenv
- 0x0000000020005a60 env_getenv
- 0x0000000020005ae0 env_setenv
- .text 0x0000000020005f00 0x260 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- 0x0000000020005f00 strtol
- .text 0x0000000020006160 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- 0x0000000020006160 strchr
- .text 0x00000000200061c0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- 0x00000000200061c0 strerror
- .text 0x0000000020006260 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- 0x0000000020006260 strdup
- .text 0x0000000020006300 0x340 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- 0x0000000020006530 fgetstr
- 0x0000000020006300 ngets
- .text 0x0000000020006640 0x8e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- 0x0000000020006640 calloc
- .text 0x0000000020006f20 0x150 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- 0x0000000020006f20 read
- *fill* 0x0000000020007070 0x10 1207895071
- .text 0x0000000020007080 0x220 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- 0x00000000200070c8 open
- .text 0x00000000200072a0 0x130 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- 0x00000000200072a0 close
- .text 0x00000000200073d0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- 0x00000000200073d0 fstat
- .text 0x0000000020007470 0xa8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- 0x00000000200074b8 null_write
- 0x00000000200074f8 null_stat
- 0x0000000020007490 null_close
- 0x0000000020007498 null_read
- 0x0000000020007470 null_open
- 0x00000000200074d8 null_seek
- *fill* 0x0000000020007518 0x8 1207895071
- .text 0x0000000020007520 0xc00 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- 0x00000000200077d0 inflate
- 0x00000000200080b0 inflateSyncPoint
- 0x00000000200077a0 inflateInit_
- 0x0000000020007520 inflateReset
- 0x0000000020007f18 inflateSync
- 0x0000000020007e10 inflateSetDictionary
- 0x00000000200075a0 inflateEnd
- 0x0000000020007630 inflateInit2_
- .text 0x0000000020008120 0x1400 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- 0x0000000020009428 inflate_blocks_free
- 0x0000000020008310 inflate_blocks
- 0x0000000020008120 inflate_blocks_reset
- 0x0000000020009510 inflate_blocks_sync_point
- 0x00000000200094b0 inflate_set_dictionary
- 0x00000000200081f0 inflate_blocks_new
- .text 0x0000000020009520 0x240 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- 0x0000000020009520 adler32
- .text 0x0000000020009760 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- 0x0000000020009760 strrchr
- .text 0x00000000200097c0 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- 0x00000000200097c0 strcmp
- .text 0x0000000020009860 0x70 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- 0x0000000020009860 twiddle
- .text 0x00000000200098d0 0x98 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- 0x00000000200098d0 zlibVersion
- 0x0000000020009938 zcfree
- 0x00000000200098e0 zError
- 0x0000000020009900 zcalloc
- *fill* 0x0000000020009968 0x18 1207895071
- .text 0x0000000020009980 0xd40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- 0x000000002000a3d8 inflate_trees_fixed
- 0x000000002000a0b8 inflate_trees_bits
- 0x000000002000a1e0 inflate_trees_dynamic
- .text 0x000000002000a6c0 0xc40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- 0x000000002000a6c0 inflate_codes_new
- 0x000000002000a768 inflate_codes
- 0x000000002000b2c0 inflate_codes_free
- .text 0x000000002000b300 0x1e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- 0x000000002000b300 setheap
- 0x000000002000b328 malloc
- 0x000000002000b4b8 sbrk
- 0x000000002000b420 free
- .text 0x000000002000b4e0 0x540 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- 0x000000002000b4e0 inflate_fast
- .text 0x000000002000ba20 0x1e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- 0x000000002000ba20 inflate_flush
- .text 0x000000002000bc00 0xe00 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- 0x000000002000c6e0 intoa
- 0x000000002000c8a0 ip_convertaddr
- 0x000000002000c518 inet_addr
- 0x000000002000c358 sendrecv
- 0x000000002000bc00 sendudp
- 0x000000002000c6b0 inet_ntoa
- 0x000000002000bf90 readudp
- .text 0x000000002000ca00 0x120 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(in_cksum.o)
- 0x000000002000ca00 in_cksum
- .text 0x000000002000cb20 0x6c0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- 0x000000002000cfd0 arp_reply
- 0x000000002000cb20 arpwhohas
- .text 0x000000002000d1e0 0x2c /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ntohl.o)
- 0x000000002000d1e0 ntohl
- .text 0x000000002000d20c 0x2c /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(htonl.o)
- 0x000000002000d20c htonl
- *fill* 0x000000002000d238 0x8 1207895071
- .text 0x000000002000d240 0x2e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- 0x000000002000d460 ether_sprintf
- 0x000000002000d240 sendether
- 0x000000002000d358 readether
- .text 0x000000002000d520 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ntohs.o)
- 0x000000002000d520 ntohs
- .text 0x000000002000d534 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(htons.o)
- 0x000000002000d534 htons
- .text 0x000000002000d548 0x25c /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcopy.o)
- 0x000000002000d548 bcopy
- *fill* 0x000000002000d7a4 0x1c 1207895071
- .text 0x000000002000d7c0 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcmp.o)
- 0x000000002000d7c0 bcmp
- .text 0x000000002000d820 0x8c0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- 0x000000002000dbb0 netif_probe
- 0x000000002000df48 netif_open
- 0x000000002000d8e0 netif_match
- 0x000000002000dce8 netif_detach
- 0x000000002000de38 netif_put
- 0x000000002000dc30 netif_attach
- 0x000000002000df08 socktodesc
- 0x000000002000d910 netif_select
- 0x000000002000dd58 netif_get
- 0x000000002000d820 netif_init
- 0x000000002000e070 netif_close
- .text 0x000000002000e0e0 0xb0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bzero.o)
- 0x000000002000e0e0 bzero
- *fill* 0x000000002000e190 0x10 1207895071
- .text 0x000000002000e1a0 0x11c0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- 0x000000002000e1a0 printf
- 0x000000002000e220 vprintf
- 0x000000002000e260 sprintf
- .text 0x000000002000f360 0xe4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remqu.o)
- 0x000000002000f360 __remqu
- .text 0x000000002000f444 0xdc /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divqu.o)
- 0x000000002000f444 __divqu
- .text 0x000000002000f520 0x40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- 0x000000002000f520 strlen
- .text 0x000000002000f560 0xa70 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- 0x000000002000f650 prom_get
- 0x000000002000f560 prom_match
- 0x000000002000f598 prom_probe
- 0x000000002000f810 prom_init
- 0x000000002000f5d0 prom_put
- 0x000000002000ff28 prom_end
- .text 0x000000002000ffd0 0x8e0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- 0x0000000020010638 alpha_fmtdev
- 0x000000002000ffd0 alpha_getdev
- 0x00000000200107e8 alpha_setcurrdev
- .text 0x00000000200108b0 0x138 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(alpha_module.o)
- 0x00000000200108b0 alpha_boot
- 0x00000000200109b8 alpha_autoload
- .text 0x00000000200109e8 0x68 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(time.o)
- 0x00000000200109e8 time
- .text 0x0000000020010a50 0xb0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o)
- 0x0000000020010a50 delay
- .text 0x0000000020010b00 0x120 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(reboot.o)
- 0x0000000020010b00 reboot
- 0x0000000020010b88 exit
- .text 0x0000000020010c20 0xdd0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .text 0x00000000200119f0 0x120 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o)
- 0x00000000200119f0 OSFpal
- .text 0x0000000020011b10 0x1c8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- 0x0000000020011b10 getsecs
- .text 0x0000000020011cd8 0xcc /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(pal.o)
- 0x0000000020011ce0 alpha_mb
- 0x0000000020011d54 alpha_pal_tbi
- 0x0000000020011d8c alpha_pal_wrmces
- 0x0000000020011d94 alpha_pal_wrval
- 0x0000000020011d84 alpha_pal_wrvptptr
- 0x0000000020011d00 alpha_pal_imb
- 0x0000000020011d74 alpha_pal_wripir
- 0x0000000020011d7c alpha_pal_wrusp
- 0x0000000020011d3c alpha_pal_rdval
- 0x0000000020011d9c alpha_pal_swpctx
- 0x0000000020011d08 alpha_pal_cflush
- 0x0000000020011d4c _alpha_pal_swpipl
- 0x0000000020011cd8 alpha_rpcc
- 0x0000000020011cf0 alpha_amask
- 0x0000000020011d18 alpha_pal_halt
- 0x0000000020011d64 alpha_pal_wrent
- 0x0000000020011d34 alpha_pal_rdusp
- 0x0000000020011d2c alpha_pal_rdps
- 0x0000000020011cf8 alpha_implver
- 0x0000000020011d24 alpha_pal_rdmces
- 0x0000000020011d44 alpha_pal_swpipl
- 0x0000000020011d5c alpha_pal_whami
- 0x0000000020011ce8 alpha_wmb
- 0x0000000020011d10 alpha_pal_draina
- 0x0000000020011d6c alpha_pal_wrfen
- *fill* 0x0000000020011da4 0xc 1207895071
- .text 0x0000000020011db0 0xc0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_swpal.o)
- 0x0000000020011db0 switch_palcode
- .text 0x0000000020011e70 0x4e8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- 0x0000000020011e70 init_prom_calls
- 0x00000000200121e0 prom_getenv
- 0x0000000020011f98 prom_putchar
- 0x0000000020012040 prom_getchar
- 0x00000000200122c0 prom_open
- *fill* 0x0000000020012358 0x8 1207895071
- .text 0x0000000020012360 0x70 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_disp.o)
- 0x0000000020012360 prom_dispatch
- .text 0x00000000200123d0 0xe0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- 0x00000000200123d0 lseek
- *fill* 0x00000000200124b0 0x10 1207895071
- .text 0x00000000200124c0 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- 0x00000000200124c0 closeall
- .text 0x0000000020012540 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- 0x0000000020012540 strncmp
- .text 0x00000000200125e0 0x80 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
- 0x00000000200125e0 strcpy
- *(.gnu.warning)
- *(.gnu.linkonce.t*)
- 0x0000000020012660 _etext=.
- 0x0000000020012660 PROVIDE (etext, .)
-
-.fini
- *(.fini)
-
-.rodata 0x0000000020012660 0x1e88
- *(.rodata)
- .rodata 0x0000000020012660 0x128 main.o
- .rodata 0x0000000020012788 0x1f0 dev_net.o
- .rodata 0x0000000020012978 0x188 boot.o
- .rodata 0x0000000020012b00 0x168 commands.o
- .rodata 0x0000000020012c68 0x30 console.o
- .rodata 0x0000000020012c98 0xa0 interp.o
- .rodata 0x0000000020012d38 0xa8 ls.o
- .rodata 0x0000000020012de0 0x18 misc.o
- .rodata 0x0000000020012df8 0xb8 module.o
- .rodata 0x0000000020012eb0 0x28 panic.o
- .rodata 0x0000000020012ed8 0x48 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- .rodata 0x0000000020012f20 0x50 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- .rodata 0x0000000020012f70 0x38 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o)
- .rodata 0x0000000020012fa8 0x70 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- .rodata 0x0000000020013018 0x50 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- .rodata 0x0000000020013068 0xa8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .rodata 0x0000000020013110 0x48 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .rodata 0x0000000020013158 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .rodata 0x0000000020013160 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .rodata 0x0000000020013168 0x2a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .rodata 0x0000000020013408 0xc0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .rodata 0x00000000200134c8 0xb8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .rodata 0x0000000020013580 0xf8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .rodata 0x0000000020013678 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .rodata 0x0000000020013680 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .rodata 0x0000000020013688 0xa0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .rodata 0x0000000020013728 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- 0x0000000020013728 inflate_copyright
- .rodata 0x0000000020013a40 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .rodata 0x0000000020013aa0 0x60 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .rodata 0x0000000020013b00 0x38 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .rodata 0x0000000020013b38 0x70 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- .rodata 0x0000000020013ba8 0x48 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- .rodata 0x0000000020013bf0 0x168 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- .rodata 0x0000000020013d58 0x170 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .rodata 0x0000000020013ec8 0x130 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- 0x0000000020013fd0 hex2ascii_data
- 0x0000000020013ec8 bcd2bin_data
- 0x0000000020013f68 bin2bcd_data
- .rodata 0x0000000020013ff8 0x250 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- .rodata 0x0000000020014248 0x40 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- .rodata 0x0000000020014288 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o)
- .rodata 0x0000000020014290 0x198 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .rodata 0x0000000020014428 0x98 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o)
- .rodata 0x00000000200144c0 0x8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- .rodata 0x00000000200144c8 0x20 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- *(.gnu.linkonce.r*)
-
-.rodata1
- *(.rodata1)
-
-.reginfo
- *(.reginfo)
- 0x00000000200144e8 .=.
-
-.data 0x00000000200144e8 0x810
- *(.data)
- .data 0x00000000200144e8 0x48 main.o
- .data 0x0000000020014530 0x58 conf.o
- 0x0000000020014568 module_formats
- 0x0000000020014558 netif_drivers
- 0x0000000020014540 file_system
- 0x0000000020014578 consoles
- 0x0000000020014530 devsw
- .data 0x0000000020014588 0x48 dev_net.o
- 0x0000000020014590 netdev
- 0x0000000020014588 debug
- 0x00000000200145c8 try_bootp
- .data 0x00000000200145d0 0x40 boot.o
- .data 0x0000000020014610 0x90 commands.o
- .data 0x00000000200146a0 0x18 interp.o
- .data 0x00000000200146b8 0x28 ls.o
- .data 0x00000000200146e0 0x40 module.o
- 0x00000000200146e8 loaded_modules
- .data 0x0000000020014720 0x68 vers.o
- 0x0000000020014740 bootprog_rev
- 0x0000000020014748 bootprog_date
- 0x0000000020014768 bootprog_maker
- 0x0000000020014720 bootprog_name
- .data 0x0000000020014788 0x58 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- 0x00000000200147c0 nfs_stat_types
- 0x0000000020014788 nfs_fsops
- .data 0x00000000200147e0 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- .data 0x00000000200147e8 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- 0x00000000200147e8 rpc_port
- *fill* 0x00000000200147ec 0x4
- .data 0x00000000200147f0 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .data 0x0000000020014808 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- 0x0000000020014808 opterr
- 0x000000002001480c optind
- .data 0x0000000020014818 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- 0x0000000020014818 environ
- .data 0x0000000020014820 0x1d0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .data 0x00000000200149f0 0x40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- 0x00000000200149f0 zipfs_fsops
- .data 0x0000000020014a30 0x50 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- 0x0000000020014a30 z_errmsg
- .data 0x0000000020014a80 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- *fill* 0x0000000020014a84 0x4
- .data 0x0000000020014a88 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- 0x0000000020014a88 freelist
- .data 0x0000000020014a90 0x44 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- 0x0000000020014a90 inflate_mask
- .data 0x0000000020014ad4 0x64 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- 0x0000000020014b34 arp_num
- 0x0000000020014ad4 arp_list
- .data 0x0000000020014b38 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- .data 0x0000000020014b50 0x90 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- 0x0000000020014b58 rootpath
- 0x0000000020014bd8 netmask
- 0x0000000020014b50 bcea
- .data 0x0000000020014be0 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- 0x0000000020014be0 netif_debug
- *fill* 0x0000000020014be4 0x4
- .data 0x0000000020014be8 0xb0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- 0x0000000020014c08 netbbinfo
- 0x0000000020014c90 netfd
- 0x0000000020014be8 prom_ifs
- 0x0000000020014c48 srmnet
- .data 0x0000000020014c98 0x18 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- 0x0000000020014c98 alpha_elf
- .data 0x0000000020014cb0 0x48 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- 0x0000000020014cb0 promconsole
- *(.gnu.linkonce.d*)
-
-.set.Xcommand_set
- 0x0000000020014cf8 0x88
- .set.Xcommand_set
- 0x0000000020014cf8 0x8 setdef0.o
- 0x0000000020014cf8 Xcommand_set
- .set.Xcommand_set
- 0x0000000020014d00 0x18 main.o
- .set.Xcommand_set
- 0x0000000020014d18 0x10 boot.o
- .set.Xcommand_set
- 0x0000000020014d28 0x30 commands.o
- .set.Xcommand_set
- 0x0000000020014d58 0x8 interp.o
- .set.Xcommand_set
- 0x0000000020014d60 0x8 ls.o
- .set.Xcommand_set
- 0x0000000020014d68 0x10 module.o
- .set.Xcommand_set
- 0x0000000020014d78 0x8 setdef1.o
-
-.data1
- *(.data1)
-
-.ctors
- *(.ctors)
-
-.dtors
- *(.dtors)
-
-.plt
- *(.plt)
-
-.got 0x0000000020014d80 0xeb8
- *(.got.plt)
- *(.got)
- .got 0x0000000020014d80 0xeb8 start.o
-
-.dynamic
- *(.dynamic)
-
-.sdata
- *(.sdata)
- 0x0000000020015c38 _edata=.
- 0x0000000020015c38 PROVIDE (edata, .)
- 0x0000000020015c38 __bss_start=.
-
-.sbss
- *(.sbss)
- *(.scommon)
-
-.bss 0x0000000020015c40 0x24f0
- *(.dynbss)
- *(.bss)
- .bss 0x0000000020015c40 0x4 dev_net.o
- *fill* 0x0000000020015c44 0x4
- .bss 0x0000000020015c48 0xb0 interp.o
- .bss 0x0000000020015cf8 0x78 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- .bss 0x0000000020015d70 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- .bss 0x0000000020015d80 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .bss 0x0000000020015d84 0x20 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- *fill* 0x0000000020015da4 0x4
- .bss 0x0000000020015da8 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .bss 0x0000000020015db0 0x4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- *fill* 0x0000000020015db4 0x4
- .bss 0x0000000020015db8 0x1a98 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .bss 0x0000000020017850 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .bss 0x0000000020017868 0x11 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- .bss 0x0000000020017879 0x12 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- *fill* 0x000000002001788b 0x5
- .bss 0x0000000020017890 0x18 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- .bss 0x00000000200178a8 0x17 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .bss 0x00000000200178bf 0x80 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- *fill* 0x000000002001793f 0x1
- .bss 0x0000000020017940 0x100 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .bss 0x0000000020017a40 0x18 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- *(COMMON)
- COMMON 0x0000000020017a58 0x30 main.o
- 0x0000000020017a58 archsw
- 0x0000000020017a70 currdev
- *fill* 0x0000000020017a88 0x8
- COMMON 0x0000000020017a90 0x110 commands.o
- 0x0000000020017a90 command_errmsg
- 0x0000000020017aa0 command_errbuf
- COMMON 0x0000000020017ba0 0x6 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- 0x0000000020017ba0 bp_server_addr
- 0x0000000020017ba4 bp_server_port
- *fill* 0x0000000020017ba6 0x2
- COMMON 0x0000000020017ba8 0x8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- 0x0000000020017ba8 servip
- 0x0000000020017bac dhcp_serverip
- COMMON 0x0000000020017bb0 0x88 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- 0x0000000020017bb0 rpc_pmap_list
- 0x0000000020017c30 rpc_xid
- 0x0000000020017c34 rpc_pmap_num
- COMMON 0x0000000020017c38 0x10 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- 0x0000000020017c38 optarg
- 0x0000000020017c40 optreset
- 0x0000000020017c44 optopt
- COMMON 0x0000000020017c48 0x180 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- 0x0000000020017c48 files
- *fill* 0x0000000020017dc8 0x8
- COMMON 0x0000000020017dd0 0x1c4 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- 0x0000000020017dd0 domainname
- 0x0000000020017e50 nameip
- 0x0000000020017e54 hostnamelen
- 0x0000000020017e58 errno
- 0x0000000020017e5c swapip
- 0x0000000020017e60 rootip
- 0x0000000020017e64 myip
- 0x0000000020017e70 hostname
- 0x0000000020017ef0 bootfile
- 0x0000000020017f70 gateip
- 0x0000000020017f80 ifname
- 0x0000000020017f90 domainnamelen
- *fill* 0x0000000020017f94 0x4
- COMMON 0x0000000020017f98 0x140 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- 0x0000000020017f98 sockets
- COMMON 0x00000000200180d8 0x20 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- 0x00000000200180d8 prom_stats
- 0x00000000200180f4 broken_firmware
- COMMON 0x00000000200180f8 0x20 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- 0x00000000200180f8 ffp_save
- 0x0000000020018100 ssym
- 0x0000000020018108 ptbr_save
- 0x0000000020018110 esym
- COMMON 0x0000000020018118 0x4 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- 0x0000000020018118 console
- *fill* 0x000000002001811c 0x4
- COMMON 0x0000000020018120 0x10 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_disp.o)
- 0x0000000020018120 prom_dispatch_v
- 0x0000000020018130 _end=.
- 0x0000000020018130 PROVIDE (end, .)
-
-.stab
- *(.stab)
-
-.stabstr
- *(.stabstr)
-
-.stab.excl
- *(.stab.excl)
-
-.stab.exclstr
- *(.stab.exclstr)
-
-.stab.index
- *(.stab.index)
-
-.stab.indexstr
- *(.stab.indexstr)
-
-.comment 0x0000000000000000 0x5c8
- *(.comment)
- .comment 0x0000000000000000 0x14 setdef0.o
- .comment 0x0000000000000014 0x14 main.o
- .comment 0x0000000000000028 0x14 conf.o
- .comment 0x000000000000003c 0x14 dev_net.o
- .comment 0x0000000000000050 0x14 boot.o
- .comment 0x0000000000000064 0x14 commands.o
- .comment 0x0000000000000078 0x14 console.o
- .comment 0x000000000000008c 0x14 devopen.o
- .comment 0x00000000000000a0 0x14 interp.o
- .comment 0x00000000000000b4 0x14 ls.o
- .comment 0x00000000000000c8 0x14 misc.o
- .comment 0x00000000000000dc 0x14 module.o
- .comment 0x00000000000000f0 0x14 panic.o
- .comment 0x0000000000000104 0x14 setdef1.o
- .comment 0x0000000000000118 0x14 vers.o
- .comment 0x000000000000012c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- .comment 0x0000000000000140 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- .comment 0x0000000000000154 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o)
- .comment 0x0000000000000168 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- .comment 0x000000000000017c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- .comment 0x0000000000000190 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- .comment 0x00000000000001a4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- .comment 0x00000000000001b8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- .comment 0x00000000000001cc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- .comment 0x00000000000001e0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .comment 0x00000000000001f4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .comment 0x0000000000000208 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .comment 0x000000000000021c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .comment 0x0000000000000230 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- .comment 0x0000000000000244 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .comment 0x0000000000000258 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- .comment 0x000000000000026c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- .comment 0x0000000000000280 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .comment 0x0000000000000294 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- .comment 0x00000000000002a8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- .comment 0x00000000000002bc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- .comment 0x00000000000002d0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- .comment 0x00000000000002e4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- .comment 0x00000000000002f8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .comment 0x000000000000030c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .comment 0x0000000000000320 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .comment 0x0000000000000334 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- .comment 0x0000000000000348 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- .comment 0x000000000000035c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .comment 0x0000000000000370 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .comment 0x0000000000000384 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .comment 0x0000000000000398 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .comment 0x00000000000003ac 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .comment 0x00000000000003c0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .comment 0x00000000000003d4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- .comment 0x00000000000003e8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- .comment 0x00000000000003fc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(in_cksum.o)
- .comment 0x0000000000000410 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- .comment 0x0000000000000424 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- .comment 0x0000000000000438 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcmp.o)
- .comment 0x000000000000044c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- .comment 0x0000000000000460 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- .comment 0x0000000000000474 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .comment 0x0000000000000488 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- .comment 0x000000000000049c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- .comment 0x00000000000004b0 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- .comment 0x00000000000004c4 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- .comment 0x00000000000004d8 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(alpha_module.o)
- .comment 0x00000000000004ec 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(time.o)
- .comment 0x0000000000000500 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o)
- .comment 0x0000000000000514 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(reboot.o)
- .comment 0x0000000000000528 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .comment 0x000000000000053c 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o)
- .comment 0x0000000000000550 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- .comment 0x0000000000000564 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- .comment 0x0000000000000578 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- .comment 0x000000000000058c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- .comment 0x00000000000005a0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- .comment 0x00000000000005b4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
-
-.debug
- *(.debug)
-
-.line
- *(.line)
-
-.debug_srcinfo
- *(.debug_srcinfo)
-
-.debug_sfnames
- *(.debug_sfnames)
-
-.debug_aranges
- *(.debug_aranges)
-
-.debug_pubnames
- *(.debug_pubnames)
-
-.debug_info
- *(.debug_info)
-
-.debug_abbrev
- *(.debug_abbrev)
-
-.debug_line
- *(.debug_line)
-
-.debug_frame
- *(.debug_frame)
-
-.debug_str
- *(.debug_str)
-
-.debug_loc
- *(.debug_loc)
-
-.debug_macinfo
- *(.debug_macinfo)
-
-.debug_weaknames
- *(.debug_weaknames)
-
-.debug_funcnames
- *(.debug_funcnames)
-
-.debug_typenames
- *(.debug_typenames)
-
-.debug_varnames
- *(.debug_varnames)
-OUTPUT(netboot.sym elf64-alpha)
-
-.mdebug 0x00000000000005c8 0x10ef0
- .mdebug 0x00000000000005c8 0x858 start.o
- .mdebug 0x0000000000000e20 0x1e0 setdef0.o
- .mdebug 0x0000000000001000 0xab8 main.o
- .mdebug 0x0000000000001ab8 0x330 conf.o
- .mdebug 0x0000000000001de8 0xa28 dev_net.o
- .mdebug 0x0000000000002810 0x8c0 boot.o
- .mdebug 0x00000000000030d0 0xb00 commands.o
- .mdebug 0x0000000000003bd0 0x788 console.o
- .mdebug 0x0000000000004358 0x3d0 devopen.o
- .mdebug 0x0000000000004728 0x968 interp.o
- .mdebug 0x0000000000005090 0x540 ls.o
- .mdebug 0x00000000000055d0 0x330 misc.o
- .mdebug 0x0000000000005900 0x790 module.o
- .mdebug 0x0000000000006090 0x310 panic.o
- .mdebug 0x00000000000063a0 0x1b8 setdef1.o
- .mdebug 0x0000000000006558 0x248 vers.o
- .mdebug 0x00000000000067a0 0xd00 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- .mdebug 0x00000000000074a0 0xa40 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- .mdebug 0x0000000000007ee0 0x620 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o)
- .mdebug 0x0000000000008500 0x960 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- .mdebug 0x0000000000008e60 0x908 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- .mdebug 0x0000000000009768 0x308 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- .mdebug 0x0000000000009a70 0x418 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- .mdebug 0x0000000000009e88 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- .mdebug 0x000000000000a110 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- .mdebug 0x000000000000a398 0x7a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .mdebug 0x000000000000ab38 0x3d0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .mdebug 0x000000000000af08 0xa30 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .mdebug 0x000000000000b938 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .mdebug 0x000000000000bc50 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- .mdebug 0x000000000000bed8 0x350 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .mdebug 0x000000000000c228 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- .mdebug 0x000000000000c540 0x3e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- .mdebug 0x000000000000c920 0xc28 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .mdebug 0x000000000000d548 0x308 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- .mdebug 0x000000000000d850 0x430 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- .mdebug 0x000000000000dc80 0x310 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- .mdebug 0x000000000000df90 0x2f0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- .mdebug 0x000000000000e280 0x720 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- .mdebug 0x000000000000e9a0 0xac8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .mdebug 0x000000000000f468 0x9a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .mdebug 0x000000000000fe08 0x2c0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .mdebug 0x00000000000100c8 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- .mdebug 0x0000000000010350 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- .mdebug 0x00000000000105d8 0x318 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .mdebug 0x00000000000108f0 0x590 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .mdebug 0x0000000000010e80 0x830 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .mdebug 0x00000000000116b0 0x538 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .mdebug 0x0000000000011be8 0x618 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .mdebug 0x0000000000012200 0x2f8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .mdebug 0x00000000000124f8 0x320 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- .mdebug 0x0000000000012818 0xad8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- .mdebug 0x00000000000132f0 0x290 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(in_cksum.o)
- .mdebug 0x0000000000013580 0x6f0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- .mdebug 0x0000000000013c70 0x888 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ntohl.o)
- .mdebug 0x00000000000144f8 0x888 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(htonl.o)
- .mdebug 0x0000000000014d80 0x5d8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- .mdebug 0x0000000000015358 0x880 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ntohs.o)
- .mdebug 0x0000000000015bd8 0x880 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(htons.o)
- .mdebug 0x0000000000016458 0xbc0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcopy.o)
- .mdebug 0x0000000000017018 0x278 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcmp.o)
- .mdebug 0x0000000000017290 0x3a0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- .mdebug 0x0000000000017630 0xc98 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- .mdebug 0x00000000000182c8 0x828 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bzero.o)
- .mdebug 0x0000000000018af0 0x6e0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .mdebug 0x00000000000191d0 0x708 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__remqu.o)
- .mdebug 0x00000000000198d8 0x700 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(__divqu.o)
- .mdebug 0x0000000000019fd8 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- .mdebug 0x000000000001a260 0x228 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- .mdebug 0x000000000001a488 0x9b0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- .mdebug 0x000000000001ae38 0x740 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- .mdebug 0x000000000001b578 0x408 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(alpha_module.o)
- .mdebug 0x000000000001b980 0x2d0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(time.o)
- .mdebug 0x000000000001bc50 0x2d8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o)
- .mdebug 0x000000000001bf28 0x3a0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(reboot.o)
- .mdebug 0x000000000001c2c8 0x770 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .mdebug 0x000000000001ca38 0x320 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o)
- .mdebug 0x000000000001cd58 0x3b8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- .mdebug 0x000000000001d110 0x18b8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(pal.o)
- .mdebug 0x000000000001e9c8 0xae0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_swpal.o)
- .mdebug 0x000000000001f4a8 0x9b8 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- .mdebug 0x000000000001fe60 0xaa0 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom_disp.o)
- .mdebug 0x0000000000020900 0x2f0 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- .mdebug 0x0000000000020bf0 0x2f8 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- .mdebug 0x0000000000020ee8 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- .mdebug 0x0000000000021170 0x288 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
-
-.note 0x00000000000213f8 0x5c8
- .note 0x00000000000213f8 0x14 setdef0.o
- .note 0x000000000002140c 0x14 main.o
- .note 0x0000000000021420 0x14 conf.o
- .note 0x0000000000021434 0x14 dev_net.o
- .note 0x0000000000021448 0x14 boot.o
- .note 0x000000000002145c 0x14 commands.o
- .note 0x0000000000021470 0x14 console.o
- .note 0x0000000000021484 0x14 devopen.o
- .note 0x0000000000021498 0x14 interp.o
- .note 0x00000000000214ac 0x14 ls.o
- .note 0x00000000000214c0 0x14 misc.o
- .note 0x00000000000214d4 0x14 module.o
- .note 0x00000000000214e8 0x14 panic.o
- .note 0x00000000000214fc 0x14 setdef1.o
- .note 0x0000000000021510 0x14 vers.o
- .note 0x0000000000021524 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nfs.o)
- .note 0x0000000000021538 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootparam.o)
- .note 0x000000000002154c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rarp.o)
- .note 0x0000000000021560 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bootp.o)
- .note 0x0000000000021574 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(rpc.o)
- .note 0x0000000000021588 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(stat.o)
- .note 0x000000000002159c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(dev.o)
- .note 0x00000000000215b0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncpy.o)
- .note 0x00000000000215c4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcat.o)
- .note 0x00000000000215d8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(pager.o)
- .note 0x00000000000215ec 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(getopt.o)
- .note 0x0000000000021600 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(environment.o)
- .note 0x0000000000021614 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strtol.o)
- .note 0x0000000000021628 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strchr.o)
- .note 0x000000000002163c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strerror.o)
- .note 0x0000000000021650 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strdup.o)
- .note 0x0000000000021664 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(gets.o)
- .note 0x0000000000021678 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zipfs.o)
- .note 0x000000000002168c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(read.o)
- .note 0x00000000000216a0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(open.o)
- .note 0x00000000000216b4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(close.o)
- .note 0x00000000000216c8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(fstat.o)
- .note 0x00000000000216dc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(nullfs.o)
- .note 0x00000000000216f0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inflate.o)
- .note 0x0000000000021704 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infblock.o)
- .note 0x0000000000021718 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(adler32.o)
- .note 0x000000000002172c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strrchr.o)
- .note 0x0000000000021740 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcmp.o)
- .note 0x0000000000021754 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(twiddle.o)
- .note 0x0000000000021768 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(zutil.o)
- .note 0x000000000002177c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inftrees.o)
- .note 0x0000000000021790 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infcodes.o)
- .note 0x00000000000217a4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(alloc.o)
- .note 0x00000000000217b8 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(inffast.o)
- .note 0x00000000000217cc 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(infutil.o)
- .note 0x00000000000217e0 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(net.o)
- .note 0x00000000000217f4 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(in_cksum.o)
- .note 0x0000000000021808 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(arp.o)
- .note 0x000000000002181c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(ether.o)
- .note 0x0000000000021830 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcmp.o)
- .note 0x0000000000021844 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(globals.o)
- .note 0x0000000000021858 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(netif.o)
- .note 0x000000000002186c 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(printf.o)
- .note 0x0000000000021880 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strlen.o)
- .note 0x0000000000021894 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(bcd.o)
- .note 0x00000000000218a8 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(srmnet.o)
- .note 0x00000000000218bc 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(devicename.o)
- .note 0x00000000000218d0 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(alpha_module.o)
- .note 0x00000000000218e4 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(time.o)
- .note 0x00000000000218f8 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(delay.o)
- .note 0x000000000002190c 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(reboot.o)
- .note 0x0000000000021920 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(elf_freebsd.o)
- .note 0x0000000000021934 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(OSFpal.o)
- .note 0x0000000000021948 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(getsecs.o)
- .note 0x000000000002195c 0x14 /mnt/herring/b/dfr/FreeBSD/boot/newboot/alpha/netboot/../libalpha/obj/libalpha.a(prom.o)
- .note 0x0000000000021970 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(lseek.o)
- .note 0x0000000000021984 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(closeall.o)
- .note 0x0000000000021998 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strncmp.o)
- .note 0x00000000000219ac 0x14 /home/dfr/FreeBSD/alpha/src/lib/libstand/obj/libstand.a(strcpy.o)
diff --git a/sys/boot/alpha/netboot/setdefs.h b/sys/boot/alpha/netboot/setdefs.h
deleted file mode 100644
index 2320078..0000000
--- a/sys/boot/alpha/netboot/setdefs.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* $Id$ */
-DEFINE_SET(Xcommand_set, 15);
diff --git a/sys/boot/alpha/netboot/vers.c b/sys/boot/alpha/netboot/vers.c
deleted file mode 100644
index 89f3ea9..0000000
--- a/sys/boot/alpha/netboot/vers.c
+++ /dev/null
@@ -1,4 +0,0 @@
-char bootprog_name[] = "FreeBSD/alpha SRM net boot";
-char bootprog_rev[] = "0.1";
-char bootprog_date[] = "Mon Aug 17 10:38:31 BST 1998";
-char bootprog_maker[] = "dfr@salmon.nlsystems.com";
diff --git a/sys/boot/common/Makefile.inc b/sys/boot/common/Makefile.inc
index aed1be6..aa33c80 100644
--- a/sys/boot/common/Makefile.inc
+++ b/sys/boot/common/Makefile.inc
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: Makefile.inc,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
-SRCS+= boot.c commands.c console.c devopen.c interp.c ls.c misc.c module.c
-SRCS+= panic.c
+SRCS+= boot.c commands.c console.c devopen.c interp.c load_aout.c
+SRCS+= ls.c misc.c module.c panic.c
diff --git a/sys/boot/common/boot.c b/sys/boot/common/boot.c
index ad24e2e..029e900 100644
--- a/sys/boot/common/boot.c
+++ b/sys/boot/common/boot.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: boot.c,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
/*
@@ -106,7 +106,9 @@ command_boot(int argc, char *argv[])
/* Hook for platform-specific autoloading of modules */
if (archsw.arch_autoload() != 0)
return(CMD_ERROR);
- archsw.arch_boot();
+
+ /* Call the exec handler from the loader matching the kernel */
+ module_formats[km->m_loader]->l_exec(km);
return(CMD_ERROR);
}
diff --git a/sys/boot/common/bootstrap.h b/sys/boot/common/bootstrap.h
index 12de19c..fd78eb7 100644
--- a/sys/boot/common/bootstrap.h
+++ b/sys/boot/common/bootstrap.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: bootstrap.h,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
#include <sys/types.h>
@@ -85,13 +85,6 @@ extern struct console *consoles[];
extern void cons_probe(void);
/*
- * Module loader.
- */
-#define MF_FORMATMASK 0xf
-#define MF_AOUT 0
-#define MF_ELF 1
-
-/*
* Module metadata header.
*
* Metadata are allocated on our heap, and copied into kernel space
@@ -110,14 +103,16 @@ struct module_metadata
*
* At least one module (the kernel) must be loaded in order to boot.
* The kernel is always loaded first.
+ *
+ * String fields (m_name, m_type) should be dynamically allocated.
*/
struct loaded_module
{
char *m_name; /* module name */
- char *m_type; /* module type, eg 'kernel', 'pnptable', etc. */
+ char *m_type; /* verbose module type, eg 'ELF kernel', 'pnptable', etc. */
char *m_args; /* arguments for the module */
- void *m_metadata; /* metadata that will be placed in the module directory */
- int m_flags; /* 0xffff reserved for arch-specific use */
+ struct module_metadata *m_metadata; /* metadata that will be placed in the module directory */
+ int m_loader; /* index of the loader that read the file */
vm_offset_t m_addr; /* load address */
size_t m_size; /* module size */
struct loaded_module *m_next; /* next module */
@@ -125,16 +120,21 @@ struct loaded_module
struct module_format
{
- int l_format;
/* Load function must return EFTYPE if it can't handle the module supplied */
int (* l_load)(char *filename, vm_offset_t dest, struct loaded_module **result);
+ /* Only a loader that will load a kernel (first module) should have an exec handler */
int (* l_exec)(struct loaded_module *amp);
};
extern struct module_format *module_formats[]; /* supplied by consumer */
extern struct loaded_module *loaded_modules;
extern int mod_load(char *name, int argc, char *argv[]);
extern struct loaded_module *mod_findmodule(char *name, char *type);
+extern void mod_addmetadata(struct loaded_module *mp, int type, size_t size, void *p);
+extern struct module_metadata *mod_findmetadata(struct loaded_module *mp, int type);
+/*
+ * Module information subtypes
+ */
/* XXX these belong in <machine/bootinfo.h> */
#define MODINFO_NAME 0x0000
#define MODINFO_TYPE 0x0001
@@ -142,6 +142,13 @@ extern struct loaded_module *mod_findmodule(char *name, char *type);
#define MODINFO_SIZE 0x0003
#define MODINFO_METADATA 0x8000
+#define MODINFOMD_AOUTEXEC 0x0001 /* a.out exec header */
+#define MODINFOMD_ELFHDR 0x0002 /* ELF header */
+
+/* MI module loaders */
+extern int aout_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result);
+
+/* extern int elf_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result); */
#if defined(__ELF__)
@@ -211,16 +218,21 @@ struct bootblk_command
extern struct linker_set Xcommand_set;
/*
- * functions called down from the generic code
+ * The intention of the architecture switch is to provide a convenient
+ * encapsulation of the interface between the bootstrap MI and MD code.
+ * MD code may selectively populate the switch at runtime based on the
+ * actual configuration of the target system.
*/
struct arch_switch
{
/* Automatically load modules as required by detected hardware */
int (* arch_autoload)();
- /* Boot the loaded kernel (first loaded module) */
- int (* arch_boot)(void);
/* Locate the device for (name), return pointer to tail in (*path) */
int (*arch_getdev)(void **dev, char *name, char **path);
+ /* Copy from local address space to module address space, similar to bcopy() */
+ int (*arch_copyin)(void *src, vm_offset_t dest, size_t len);
+ /* Read from file to module address space, same semantics as read() */
+ int (*arch_readin)(int fd, vm_offset_t dest, size_t len);
};
extern struct arch_switch archsw;
diff --git a/sys/boot/common/load_aout.c b/sys/boot/common/load_aout.c
new file mode 100644
index 0000000..45b6328
--- /dev/null
+++ b/sys/boot/common/load_aout.c
@@ -0,0 +1,202 @@
+/*-
+ * Copyright (c) 1998 Michael Smith <msmith@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: aout_freebsd.c,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
+ */
+
+#include <sys/param.h>
+#include <sys/exec.h>
+#include <sys/imgact_aout.h>
+#include <sys/reboot.h>
+#include <string.h>
+#include <machine/bootinfo.h>
+#include <stand.h>
+
+#include "bootstrap.h"
+
+static int aout_loadimage(int fd, vm_offset_t loadaddr, struct exec *ehdr);
+
+char *aout_kerneltype = "a.out kernel";
+char *aout_moduletype = "a.out module";
+
+/*
+ * Attempt to load the file (file) as an a.out module. It will be stored at
+ * (dest), and a pointer to a module structure describing the loaded object
+ * will be saved in (result).
+ */
+int
+aout_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result)
+{
+ struct loaded_module *mp;
+ struct exec ehdr;
+ int fd;
+ vm_offset_t addr;
+ int err, kernel;
+
+ /*
+ * Open the image, read and validate the a.out header
+ */
+ if (filename == NULL) /* can't handle nameless */
+ return(EFTYPE);
+ if ((fd = open(filename, O_RDONLY)) == -1)
+ return(errno);
+ if (read(fd, &ehdr, sizeof(ehdr)) != sizeof(ehdr))
+ return(EFTYPE); /* could be EIO, but may be small file */
+ if (N_BADMAG(ehdr))
+ return(EFTYPE);
+
+ /*
+ * Check to see what sort of module we are.
+ *
+ * XXX should check N_GETMID()
+ */
+ mp = mod_findmodule(NULL, NULL);
+ if (N_GETFLAG(ehdr) == (EX_DYNAMIC | EX_PIC)) {
+ /* Looks like a kld module */
+ if (mp == NULL) {
+ printf("aout_loadmodule: can't load module before kernel\n");
+ return(EPERM);
+ }
+ if (strcmp(aout_kerneltype, mp->m_type)) {
+ printf("out_loadmodule: can't load module with kernel type '%s'\n", mp->m_type);
+ return(EPERM);
+ }
+ /* Looks OK, got ahead */
+ kernel = 0;
+
+ } else if (N_GETFLAG(ehdr) == 0) {
+ /* Looks like a kernel */
+ if (mp != NULL) {
+ printf("aout_loadmodule: kernel already loaded\n");
+ return(EPERM);
+ }
+ /*
+ * Calculate destination address based on kernel entrypoint
+ * XXX this is i386-freebsd-aout specific
+ */
+ dest = ehdr.a_entry & 0x100000;
+ if (dest == 0) {
+ printf("aout_loadmodule: not a kernel (maybe static binary?)\n");
+ return(EPERM);
+ }
+ kernel = 1;
+ } else {
+ return(EFTYPE);
+ }
+
+ /*
+ * Ok, we think we should handle this.
+ */
+ mp = malloc(sizeof(struct loaded_module));
+ mp->m_name = strdup(filename); /* XXX should we prune the name? */
+ mp->m_type = strdup(kernel ? aout_kerneltype : aout_moduletype);
+ mp->m_args = NULL; /* XXX should we put the bootstrap args here and parse later? */
+ mp->m_metadata = NULL;
+ mp->m_addr = addr = dest;
+ printf("%s at 0x%x\n", filename, addr);
+
+ mp->m_size = aout_loadimage(fd, addr, &ehdr);
+ if (mp->m_size == 0)
+ goto ioerr;
+
+ /* save exec header as metadata */
+ mod_addmetadata(mp, MODINFOMD_AOUTEXEC, sizeof(struct exec), &ehdr);
+
+ /* Load OK, return module pointer */
+ *result = (struct loaded_module *)mp;
+ return(0);
+
+ ioerr:
+ err = EIO;
+ close(fd);
+ free(mp);
+ return(err);
+}
+
+/*
+ * With the file (fd) open on the image, and (ehdr) containing
+ * the exec header, load the image at (addr)
+ *
+ * Fixup the a_bss field in (ehdr) to reflect the padding added to
+ * align the symbol table.
+ */
+static int
+aout_loadimage(int fd, vm_offset_t loadaddr, struct exec *ehdr)
+{
+ u_int pad;
+ vm_offset_t addr;
+ int ss;
+
+ addr = loadaddr;
+ lseek(fd, N_TXTOFF(*ehdr), SEEK_SET);
+
+ /* text segment */
+ printf("text=0x%lx ", ehdr->a_text);
+ if (archsw.arch_readin(fd, addr, ehdr->a_text) != ehdr->a_text)
+ return(0);
+ addr += ehdr->a_text;
+
+ /* data segment */
+ printf("data=0x%lx ", ehdr->a_data);
+ if (archsw.arch_readin(fd, addr, ehdr->a_data) != ehdr->a_data)
+ return(0);
+ addr += ehdr->a_data;
+
+ /* skip the BSS */
+ printf("bss=0x%lx ", ehdr->a_bss);
+ addr += ehdr->a_bss;
+
+ /* pad to a page boundary */
+ pad = (u_int)addr & PAGE_MASK;
+ if (pad != 0) {
+ pad = PAGE_SIZE - pad;
+ addr += pad;
+ ehdr->a_bss += pad;
+ }
+
+ /* symbol table size */
+ archsw.arch_copyin(&ehdr->a_syms, addr, sizeof(ehdr->a_syms));
+ addr += sizeof(ehdr->a_syms);
+
+ /* symbol table */
+ printf("symbols=[0x%x+0x%x+0x%lx", pad, sizeof(ehdr->a_syms), ehdr->a_syms);
+ if (archsw.arch_readin(fd, addr, ehdr->a_syms) != ehdr->a_syms)
+ return(0);
+ addr += ehdr->a_syms;
+
+ /* string table */
+ read(fd, &ss, sizeof(ss));
+ archsw.arch_copyin(&ss, addr, sizeof(ss));
+ addr += sizeof(ss);
+ ss -= sizeof(ss);
+ printf("+0x%x+0x%x]", sizeof(ss), ss);
+ if (archsw.arch_readin(fd, addr, ss) != ss)
+ return(0);
+ printf(" \n");
+ addr += ss;
+
+ return(addr - loadaddr);
+}
+
diff --git a/sys/boot/common/module.c b/sys/boot/common/module.c
index 7f56e71..28c10dc 100644
--- a/sys/boot/common/module.c
+++ b/sys/boot/common/module.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: module.c,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
/*
@@ -38,7 +38,7 @@
#include "bootstrap.h"
-/* Initially determined from kernel load address */
+/* XXX load address should be tweaked by first module loaded (kernel) */
static vm_offset_t loadaddr = 0;
struct loaded_module *loaded_modules = NULL;
@@ -51,6 +51,32 @@ command_load(int argc, char *argv[])
return(mod_load(argv[1], argc - 2, argv + 2));
}
+COMMAND_SET(unload, "unload", "unload all modules", command_unload);
+
+static int
+command_unload(int argc, char *argv[])
+{
+ struct loaded_module *mp;
+ struct module_metadata *md;
+
+ while (loaded_modules != NULL) {
+ mp = loaded_modules;
+ loaded_modules = loaded_modules->m_next;
+ while (mp->m_metadata != NULL) {
+ md = mp->m_metadata;
+ mp->m_metadata = mp->m_metadata->md_next;
+ free(md);
+ }
+ free(mp->m_name);
+ free(mp->m_type);
+ if (mp->m_args != NULL)
+ free(mp->m_args);
+ free(mp);
+ }
+ loadaddr = 0;
+ return(CMD_OK);
+}
+
COMMAND_SET(lsmod, "lsmod", "list loaded modules", command_lsmod);
static int
@@ -61,7 +87,7 @@ command_lsmod(int argc, char *argv[])
pager_open();
for (am = loaded_modules; (am != NULL); am = am->m_next) {
- sprintf(lbuf, " %p: %s (%s, 0x%x)\n",
+ sprintf(lbuf, " %x: %s (%s, 0x%x)\n",
am->m_addr, am->m_name, am->m_type, am->m_size);
pager_output(lbuf);
if (am->m_args != NULL) {
@@ -91,6 +117,9 @@ mod_load(char *name, int argc, char *argv[])
/* Fatal error */
sprintf(command_errbuf, "can't load module '%s': %s", name, strerror(err));
return(CMD_ERROR);
+ } else {
+ /* remember the loader */
+ am->m_loader = i;
}
}
if (am == NULL) {
@@ -127,3 +156,27 @@ mod_findmodule(char *name, char *type)
}
return(mp);
}
+
+void
+mod_addmetadata(struct loaded_module *mp, int type, size_t size, void *p)
+{
+ struct module_metadata *md;
+
+ md = malloc(sizeof(struct module_metadata) + size);
+ md->md_size = size;
+ md->md_type = type;
+ bcopy(p, md->md_data, size);
+ md->md_next = mp->m_metadata;
+ mp->m_metadata = md;
+}
+
+struct module_metadata *
+mod_findmetadata(struct loaded_module *mp, int type)
+{
+ struct module_metadata *md;
+
+ for (md = mp->m_metadata; md != NULL; md = md->md_next)
+ if (md->md_type == type)
+ break;
+ return(md);
+}
diff --git a/sys/boot/i386/libi386/Makefile b/sys/boot/i386/libi386/Makefile
index 5a0f88f..e2cf0c4 100644
--- a/sys/boot/i386/libi386/Makefile
+++ b/sys/boot/i386/libi386/Makefile
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: Makefile,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
#
SUBDIR= crt
LIB= i386
@@ -7,15 +7,12 @@ NOPROFILE=
SRCS= aout_freebsd.c biosdelay.S biosdisk.c biosdisk_support.S biosgetrtc.S \
biosmem.S biosreboot.S bootinfo.c comconsole.c comconsole_support.S \
- devicename.c gatea20.c getsecs.c i386_module.c pread.c startprog.S \
- vidconsole.c vidconsole_support.S
+ devicename.c gatea20.c getsecs.c i386_copy.c i386_module.c \
+ startprog.S vidconsole.c vidconsole_support.S
CFLAGS+= -I${.CURDIR}/../../common
# Make the disk code more talkative
#CFLAGS+= -DDISK_DEBUG
-# Minimise the pread() buffer at the price of slower loads
-#CPPFLAGS+= -DSAVE_MEMORY
-
.include <bsd.lib.mk>
diff --git a/sys/boot/i386/libi386/aout_freebsd.c b/sys/boot/i386/libi386/aout_freebsd.c
index 847073a..be4cea6 100644
--- a/sys/boot/i386/libi386/aout_freebsd.c
+++ b/sys/boot/i386/libi386/aout_freebsd.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: aout_freebsd.c,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
#include <sys/param.h>
@@ -37,154 +37,11 @@
#include "bootstrap.h"
#include "libi386.h"
-struct aout_kernel_module
-{
- struct loaded_module m;
- vm_offset_t m_entry; /* module entrypoint */
- struct bootinfo m_bi; /* legacy bootinfo */
-};
-
-static int aout_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result);
static int aout_exec(struct loaded_module *amp);
-struct module_format i386_aout = { MF_AOUT, aout_loadmodule, aout_exec };
-
-static int aout_loadimage(int fd, vm_offset_t loadaddr, struct exec *ehdr);
-
-/*
- * Attempt to load the file (file) as an a.out module. It will be stored at
- * (dest), and a pointer to a module structure describing the loaded object
- * will be saved in (result).
- */
-static int
-aout_loadmodule(char *filename, vm_offset_t dest, struct loaded_module **result)
-{
- struct aout_kernel_module *mp;
- struct exec ehdr;
- int fd;
- vm_offset_t addr;
- int err;
- u_int pad;
-
- /*
- * Open the image, read and validate the a.out header
- *
- * XXX what do kld modules look like? We only handle kernels here.
- */
- if (filename == NULL) /* can't handle nameless */
- return(EFTYPE);
- if ((fd = open(filename, O_RDONLY)) == -1)
- return(errno);
- if (read(fd, &ehdr, sizeof(ehdr)) != sizeof(ehdr))
- return(EFTYPE); /* could be EIO, but may be small file */
- if (N_BADMAG(ehdr))
- return(EFTYPE);
-
- /*
- * Ok, we think this is for us.
- */
- mp = malloc(sizeof(struct aout_kernel_module));
- mp->m.m_name = strdup(filename); /* XXX should we prune the name? */
- mp->m.m_type = "a.out kernel"; /* XXX only if that's what we really are */
- mp->m.m_args = NULL; /* XXX should we put the bootstrap args here and parse later? */
- mp->m.m_flags = MF_AOUT; /* we're an a.out kernel */
- mp->m_entry = (vm_offset_t)(ehdr.a_entry & 0xffffff);
- if (dest == 0)
- dest = (vm_offset_t)(ehdr.a_entry & 0x100000);
- if (mod_findmodule(NULL, mp->m.m_type) != NULL) {
- printf("aout_loadmodule: kernel already loaded\n");
- err = EPERM;
- goto out;
- }
- printf("%s at 0x%x\n", filename, dest);
- mp->m.m_addr = addr = dest;
-
- mp->m.m_size = aout_loadimage(fd, addr, &ehdr);
- printf("\n");
- if (mp->m.m_size == 0)
- goto ioerr;
-
- /* XXX and if these parts don't exist? */
- mp->m_bi.bi_symtab = mp->m.m_addr + ehdr.a_text + ehdr.a_data + ehdr.a_bss;
- mp->m_bi.bi_esymtab = mp->m_bi.bi_symtab + sizeof(ehdr.a_syms) + ehdr.a_syms;
-
- /* Load OK, return module pointer */
- *result = (struct loaded_module *)mp;
- return(0);
-
- ioerr:
- err = EIO;
- out:
- close(fd);
- free(mp);
- return(err);
-}
-
-/*
- * With the file (fd) open on the image, and (ehdr) containing
- * the exec header, load the image at (addr)
- *
- * Fixup the a_bss field in (ehdr) to reflect the padding added to
- * align the symbol table.
- */
-static int
-aout_loadimage(int fd, vm_offset_t loadaddr, struct exec *ehdr)
-{
- u_int pad;
- vm_offset_t addr;
- int ss;
-
- addr = loadaddr;
- lseek(fd, N_TXTOFF(*ehdr), SEEK_SET);
-
- /* text segment */
- printf("text=0x%x ", ehdr->a_text);
- if (pread(fd, addr, ehdr->a_text) != ehdr->a_text)
- return(0);
- addr += ehdr->a_text;
-
- /* data segment */
- printf("data=0x%x ", ehdr->a_data);
- if (pread(fd, addr, ehdr->a_data) != ehdr->a_data)
- return(0);
- addr += ehdr->a_data;
-
- /* skip the BSS */
- printf("bss=0x%x ", ehdr->a_bss);
- addr += ehdr->a_bss;
-
- /* pad to a page boundary */
- pad = (u_int)addr & PAGE_MASK;
- if (pad != 0) {
- pad = PAGE_SIZE - pad;
- addr += pad;
- ehdr->a_bss += pad;
- }
- /* XXX bi_symtab = addr */
-
- /* symbol table size */
- vpbcopy(&ehdr->a_syms, addr, sizeof(ehdr->a_syms));
- addr += sizeof(ehdr->a_syms);
-
- /* symbol table */
- printf("symbols=[0x%x+0x%x+0x%x", pad, sizeof(ehdr->a_syms), ehdr->a_syms);
- if (pread(fd, addr, ehdr->a_syms) != ehdr->a_syms)
- return(0);
- addr += ehdr->a_syms;
-
- /* string table */
- read(fd, &ss, sizeof(ss));
- vpbcopy(&ss, addr, sizeof(ss));
- addr += sizeof(ss);
- ss -= sizeof(ss);
- printf("+0x%x+0x%x]", sizeof(ss), ss);
- if (pread(fd, addr, ss) != ss)
- return(0);
- /* XXX bi_esymtab = addr */
- addr += ss;
- return(addr - loadaddr);
-}
+struct module_format i386_aout = { aout_loadmodule, aout_exec };
+static struct bootinfo bi;
/*
* There is an a.out kernel and one or more a.out modules loaded.
@@ -192,24 +49,26 @@ aout_loadimage(int fd, vm_offset_t loadaddr, struct exec *ehdr)
* preparations as are required, and do so.
*/
static int
-aout_exec(struct loaded_module *amp)
+aout_exec(struct loaded_module *mp)
{
- struct aout_kernel_module *mp = (struct aout_kernel_module *)amp;
struct loaded_module *xp;
struct i386_devdesc *currdev;
+ struct module_metadata *md;
+ struct exec *ehdr;
u_int32_t argv[6]; /* kernel arguments */
int major, bootdevnr;
- vm_offset_t addr;
+ vm_offset_t addr, entry;
u_int pad;
- if ((amp->m_flags & MF_FORMATMASK) != MF_AOUT)
- return(EFTYPE);
+ if ((md = mod_findmetadata(mp, MODINFOMD_AOUTEXEC)) == NULL)
+ return(EFTYPE); /* XXX actually EFUCKUP */
+ ehdr = (struct exec *)&(md->md_data);
/* Boot from whatever the current device is */
i386_getdev((void **)(&currdev), NULL, NULL);
switch(currdev->d_type) {
case DEVT_DISK:
- major = 0; /* XXX in the short term, have to work out a major number here for old kernels */
+ major = 0; /* XXX work out the best possible major here */
bootdevnr = MAKEBOOTDEV(major,
currdev->d_kind.biosdisk.slice >> 4,
currdev->d_kind.biosdisk.slice & 0xf,
@@ -217,28 +76,34 @@ aout_exec(struct loaded_module *amp)
currdev->d_kind.biosdisk.partition);
break;
default:
- printf("aout_loadmodule: WARNING - don't know how to boot from device type %d\n", currdev->d_type);
+ printf("aout_exec: WARNING - don't know how to boot from device type %d\n", currdev->d_type);
}
free(currdev);
/* Device data is kept in the kernel argv array */
+ argv[0] = bi_getboothowto(mp->m_args);
argv[1] = bootdevnr;
-
- argv[0] = bi_getboothowto(amp->m_args);
-/* argv[2] = vtophys(bootinfo); /* old cyl offset (do we care about this?) */
+ argv[2] = 0;
argv[3] = 0;
argv[4] = 0;
- argv[5] = (u_int32_t)vtophys(&(mp->m_bi));
+ argv[5] = (u_int32_t)vtophys(&bi);
/* legacy bootinfo structure */
- mp->m_bi.bi_version = BOOTINFO_VERSION;
- mp->m_bi.bi_memsizes_valid = 1;
- /* XXX bi_vesa */
- mp->m_bi.bi_basemem = getbasemem();
- mp->m_bi.bi_extmem = getextmem();
+ bi.bi_version = BOOTINFO_VERSION;
+ bi.bi_kernelname = 0; /* XXX char * -> kernel name */
+ bi.bi_nfs_diskless = 0; /* struct nfs_diskless * */
+ bi.bi_n_bios_used = 0; /* XXX would have to hook biosdisk driver for these */
+ /* bi.bi_bios_geom[] */
+ bi.bi_size = sizeof(bi);
+ bi.bi_memsizes_valid = 1;
+ bi.bi_vesa = 0; /* XXX correct value? */
+ bi.bi_basemem = getbasemem();
+ bi.bi_extmem = getextmem();
+ bi.bi_symtab = mp->m_addr + ehdr->a_text + ehdr->a_data + ehdr->a_bss;
+ bi.bi_esymtab = bi.bi_symtab + sizeof(ehdr->a_syms) + ehdr->a_syms;
/* find the last module in the chain */
- for (xp = amp; xp->m_next != NULL; xp = xp->m_next)
+ for (xp = mp; xp->m_next != NULL; xp = xp->m_next)
;
addr = xp->m_addr + xp->m_size;
/* pad to a page boundary */
@@ -247,7 +112,7 @@ aout_exec(struct loaded_module *amp)
pad = PAGE_SIZE - pad;
addr += pad;
}
- /* copy our environment XXX save addr here as env pointer */
+ /* copy our environment XXX save addr here as env pointer, store in bootinfo? */
addr = bi_copyenv(addr);
/* pad to a page boundary */
@@ -256,9 +121,11 @@ aout_exec(struct loaded_module *amp)
pad = PAGE_SIZE - pad;
addr += pad;
}
- /* copy module list and metadata */
+ /* copy module list and metadata XXX save addr here as env pointer, store in bootinfo? */
bi_copymodules(addr);
+ entry = ehdr->a_entry & 0xffffff;
+
#ifdef DEBUG
{
int i;
@@ -266,9 +133,9 @@ aout_exec(struct loaded_module *amp)
printf("argv[%d]=%lx\n", i, argv[i]);
}
- printf("Start @ 0x%lx ...\n", mp->m_entry);
+ printf("Start @ 0x%lx ...\n", entry);
#endif
- startprog(mp->m_entry, 6, argv, (vm_offset_t)0x90000);
+ startprog(entry, 6, argv, (vm_offset_t)0x90000);
panic("exec returned");
}
diff --git a/sys/boot/i386/libi386/i386_copy.c b/sys/boot/i386/libi386/i386_copy.c
new file mode 100644
index 0000000..c6ddf24
--- /dev/null
+++ b/sys/boot/i386/libi386/i386_copy.c
@@ -0,0 +1,46 @@
+/*
+ * mjs copyright
+ */
+/*
+ * MD primitives supporting placement of module data
+ *
+ * XXX should check load address/size against memory top.
+ */
+#include <stand.h>
+
+#include "libi386.h"
+
+#define READIN_BUF 4096
+
+int
+i386_copyin(void *src, vm_offset_t dest, size_t len)
+{
+ vpbcopy(src, dest, len);
+ return(len);
+}
+
+int
+i386_readin(int fd, vm_offset_t dest, size_t len)
+{
+ void *buf;
+ size_t resid, chunk, get, got;
+
+ chunk = min(READIN_BUF, len);
+ buf = malloc(chunk);
+ if (buf == NULL)
+ return(0);
+
+ for (resid = len; resid > 0; resid -= got, dest += got) {
+ get = min(chunk, resid);
+ got = read(fd, buf, get);
+ if (got <= 0)
+ break;
+ vpbcopy(buf, dest, chunk);
+ }
+ free(buf);
+ if (resid != 0)
+ printf("i386_readin: %d bytes short\n", resid);
+ return(len - resid);
+}
+
+
diff --git a/sys/boot/i386/libi386/i386_module.c b/sys/boot/i386/libi386/i386_module.c
index 96eceb9..3d75c76 100644
--- a/sys/boot/i386/libi386/i386_module.c
+++ b/sys/boot/i386/libi386/i386_module.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: i386_module.c,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
/*
@@ -38,22 +38,6 @@
#include "libi386.h"
/*
- * Look for a method and having found it, boot the kernel module.
- */
-int
-i386_boot(void)
-{
- int i;
-
- for (i = 0; module_formats[i] != NULL; i++) {
- if (((loaded_modules->m_flags & MF_FORMATMASK) == module_formats[i]->l_format) &&
- (module_formats[i]->l_exec != NULL)) {
- return((module_formats[i]->l_exec)(loaded_modules));
- }
- }
-}
-
-/*
* Use voodoo to load modules required by current hardware.
*/
int
diff --git a/sys/boot/i386/libi386/libi386.h b/sys/boot/i386/libi386/libi386.h
index 300fb35..8d489f8 100644
--- a/sys/boot/i386/libi386/libi386.h
+++ b/sys/boot/i386/libi386/libi386.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: libi386.h,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
@@ -69,7 +69,12 @@ extern void pvbcopy(vm_offset_t, void*, int);
extern void pbzero(vm_offset_t, int);
extern vm_offset_t vtophys(void*);
+extern int i386_copyin(void *src, vm_offset_t dest, size_t len);
+extern int i386_readin(int fd, vm_offset_t dest, size_t len);
+
+/* XXX pread deprecated */
extern int pread(int, vm_offset_t, int);
+
extern void startprog(vm_offset_t, int, u_int32_t *, vm_offset_t);
extern void delay(int);
@@ -79,7 +84,6 @@ extern int getextmem(void);
extern void reboot(void);
extern void gateA20(void);
-extern int i386_boot(void);
extern int i386_autoload(void);
extern int bi_getboothowto(char *kargs);
diff --git a/sys/boot/i386/loader/main.c b/sys/boot/i386/loader/main.c
index ac8bf82..ded0d5a 100644
--- a/sys/boot/i386/loader/main.c
+++ b/sys/boot/i386/loader/main.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: main.c,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
*/
/*
@@ -100,8 +100,9 @@ main(void)
setenv("LINES", "24", 1); /* optional */
archsw.arch_autoload = i386_autoload;
- archsw.arch_boot = i386_boot;
archsw.arch_getdev = i386_getdev;
+ archsw.arch_copyin = i386_copyin;
+ archsw.arch_readin = i386_readin;
/*
* XXX should these be in the MI source?
*/
diff --git a/sys/boot/ofw/libofw/ofw_copy.c b/sys/boot/ofw/libofw/ofw_copy.c
new file mode 100644
index 0000000..9e164de
--- /dev/null
+++ b/sys/boot/ofw/libofw/ofw_copy.c
@@ -0,0 +1,50 @@
+/*-
+ * Copyright (c) 1998 Michael Smith <msmith@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id$
+ */
+/*
+ * MD primitives supporting placement of module data
+ *
+ * XXX should check load address/size against memory top.
+ */
+#include <stand.h>
+
+#include "libalpha.h"
+
+int
+alpha_copyin(void *src, vm_offset_t dest, size_t len)
+{
+ bcopy(src, dest, len);
+ return(len);
+}
+
+int
+alpha_readin(int fd, vm_offset_t dest, size_t len)
+{
+ return(read(fd, dest, len));
+}
+
+
diff --git a/sys/boot/ofw/libofw/ofw_module.c b/sys/boot/ofw/libofw/ofw_module.c
index a08fc85..afa065f 100644
--- a/sys/boot/ofw/libofw/ofw_module.c
+++ b/sys/boot/ofw/libofw/ofw_module.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: alpha_module.c,v 1.1.1.1 1998/08/21 03:17:42 msmith Exp $
*/
/*
@@ -38,22 +38,6 @@
#include "libalpha.h"
/*
- * Look for a method and having found it, boot the kernel module.
- */
-int
-alpha_boot(void)
-{
- int i;
-
- for (i = 0; module_formats[i] != NULL; i++) {
- if (((loaded_modules->m_flags & MF_FORMATMASK) == module_formats[i]->l_format) &&
- (module_formats[i]->l_exec != NULL)) {
- return((module_formats[i]->l_exec)(loaded_modules));
- }
- }
-}
-
-/*
* Use voodoo to load modules required by current hardware.
*/
int
OpenPOWER on IntegriCloud