diff options
author | msmith <msmith@FreeBSD.org> | 1998-08-31 21:10:43 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1998-08-31 21:10:43 +0000 |
commit | 815f3686d0275b1e63d326042e37d5244e051121 (patch) | |
tree | a32c9c92f2b120f904fc9aa7d0755d8b8a74f6b0 /sys | |
parent | c3fa37d604772f443b31aa7d26c331bd64c2675d (diff) | |
download | FreeBSD-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')
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 |