diff options
author | José Luis Rivero <yoswink@gentoo.org> | 2007-08-29 16:37:30 +0000 |
---|---|---|
committer | José Luis Rivero <yoswink@gentoo.org> | 2007-08-29 16:37:30 +0000 |
commit | 0fe1538e8a1af8e9e3ee4ec3c0500caaadf23253 (patch) | |
tree | d996be5bc86f5cd81014fa6da3d90650e810cbcb /sys-boot/aboot | |
parent | Removing agriffis from metadata due to his retirement (see #182294 for refere... (diff) | |
download | historical-0fe1538e8a1af8e9e3ee4ec3c0500caaadf23253.tar.gz historical-0fe1538e8a1af8e9e3ee4ec3c0500caaadf23253.tar.bz2 historical-0fe1538e8a1af8e9e3ee4ec3c0500caaadf23253.zip |
New version which can boot kernels >2.6.23. A change in the ELF kernel headers (PT_NOTE) breaks previous versions, see http://lkml.org/lkml/2007/8/14/259 for details.
Package-Manager: portage-2.1.2.11
Diffstat (limited to 'sys-boot/aboot')
-rw-r--r-- | sys-boot/aboot/ChangeLog | 10 | ||||
-rw-r--r-- | sys-boot/aboot/Manifest | 27 | ||||
-rw-r--r-- | sys-boot/aboot/aboot-1.0_pre20040408-r2.ebuild | 73 | ||||
-rw-r--r-- | sys-boot/aboot/files/aboot-pt_note.patch | 308 | ||||
-rw-r--r-- | sys-boot/aboot/files/digest-aboot-1.0_pre20040408-r2 | 6 |
5 files changed, 415 insertions, 9 deletions
diff --git a/sys-boot/aboot/ChangeLog b/sys-boot/aboot/ChangeLog index 2e74098d89e1..026524e9940a 100644 --- a/sys-boot/aboot/ChangeLog +++ b/sys-boot/aboot/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-boot/aboot # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/aboot/ChangeLog,v 1.10 2007/07/15 07:07:59 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-boot/aboot/ChangeLog,v 1.11 2007/08/29 16:37:30 yoswink Exp $ + +*aboot-1.0_pre20040408-r2 (29 Aug 2007) + + 29 Aug 2007; Jose Luis Rivero <yoswink@gentoo.org> + +files/aboot-pt_note.patch, +aboot-1.0_pre20040408-r2.ebuild: + New version which can boot kernels >2.6.23. A change in the ELF kernel + headers (PT_NOTE) breaks previous versions, see + http://lkml.org/lkml/2007/8/14/259 for details. *aboot-1.0_pre20040408-r1 (15 Jul 2007) diff --git a/sys-boot/aboot/Manifest b/sys-boot/aboot/Manifest index f3fee224f1d3..af57d8b6ad43 100644 --- a/sys-boot/aboot/Manifest +++ b/sys-boot/aboot/Manifest @@ -5,6 +5,10 @@ AUX aboot-gcc-3.4.patch 830 RMD160 cd9f8a40a648f596fd710dfc9b2057cd481b90a7 SHA1 MD5 fdda13c08b553b8296ab0f41c3bbee46 files/aboot-gcc-3.4.patch 830 RMD160 cd9f8a40a648f596fd710dfc9b2057cd481b90a7 files/aboot-gcc-3.4.patch 830 SHA256 9757c85226ec5355a849a24a71415604569a7de06036bcfb3e4814fa448b5d18 files/aboot-gcc-3.4.patch 830 +AUX aboot-pt_note.patch 8966 RMD160 80d855199f2e4ca8b89858792a3c5f91ea8868b0 SHA1 05581a21648d550f89422ec7f4c93f77d7c2e259 SHA256 ef8a8e20bf482d0aa2cd4da09c867f021018fde486f6c631d7c236d790d81a2b +MD5 56f8942d891f4bba57df56729339921a files/aboot-pt_note.patch 8966 +RMD160 80d855199f2e4ca8b89858792a3c5f91ea8868b0 files/aboot-pt_note.patch 8966 +SHA256 ef8a8e20bf482d0aa2cd4da09c867f021018fde486f6c631d7c236d790d81a2b files/aboot-pt_note.patch 8966 AUX aboot.conf 295 RMD160 d42e05161680a9d6f4da91b863737d05d3c72e63 SHA1 36760127c59e3d6c804320f931642033bb4a33e6 SHA256 41372b883807cbd871a5c8f17c4787273f2107ba10be127f73ca9e445ce72ebd MD5 254f0c6b0c0862df2ecd486daab0bbf9 files/aboot.conf 295 RMD160 d42e05161680a9d6f4da91b863737d05d3c72e63 files/aboot.conf 295 @@ -20,14 +24,18 @@ EBUILD aboot-1.0_pre20040408-r1.ebuild 2257 RMD160 81441e4ffd9d05b694ba357d4fbc9 MD5 3916be2a9e3236221daa18296f2860f7 aboot-1.0_pre20040408-r1.ebuild 2257 RMD160 81441e4ffd9d05b694ba357d4fbc9f5544815b68 aboot-1.0_pre20040408-r1.ebuild 2257 SHA256 3f583afe7bbd9736a660dbde688f31d1e0b207856ab55051c2598a7fd9b8164e aboot-1.0_pre20040408-r1.ebuild 2257 +EBUILD aboot-1.0_pre20040408-r2.ebuild 2300 RMD160 291d2173fb34e8ac5d86b0d88932ab0481f6cc17 SHA1 1d7b247d6253d0f8110e596658d90f3db1753ead SHA256 709f914e3831dab45a26939e53e5ca20dccae4f4cab5f11304c7f849d2fbe013 +MD5 ac3c5dd1e6838c9576ee562df0275647 aboot-1.0_pre20040408-r2.ebuild 2300 +RMD160 291d2173fb34e8ac5d86b0d88932ab0481f6cc17 aboot-1.0_pre20040408-r2.ebuild 2300 +SHA256 709f914e3831dab45a26939e53e5ca20dccae4f4cab5f11304c7f849d2fbe013 aboot-1.0_pre20040408-r2.ebuild 2300 EBUILD aboot-1.0_pre20040408.ebuild 1930 RMD160 b2d7a474535bb4da258e6c59f3370b7a86a04cb4 SHA1 7d6a84801b5bc1f3494da1a7a010c40c7743899d SHA256 85147485b9a602627d52b29b0cc87ecbeed9829fab0dcce1f83530c06333e10b MD5 18b761437ec9eae073e7fa508f742fe1 aboot-1.0_pre20040408.ebuild 1930 RMD160 b2d7a474535bb4da258e6c59f3370b7a86a04cb4 aboot-1.0_pre20040408.ebuild 1930 SHA256 85147485b9a602627d52b29b0cc87ecbeed9829fab0dcce1f83530c06333e10b aboot-1.0_pre20040408.ebuild 1930 -MISC ChangeLog 1694 RMD160 e7b9660b6a1e4454f8ac8ea4ff466d824d4f301c SHA1 56fedb5abaf6cdd900a12f81d247a3caec0e7860 SHA256 8f57e996d03ac830163e6c373db98bdc8d3555e52e6d2ee63e63bff482432a7e -MD5 4e6b036d9bf3755d79eef27df557f49e ChangeLog 1694 -RMD160 e7b9660b6a1e4454f8ac8ea4ff466d824d4f301c ChangeLog 1694 -SHA256 8f57e996d03ac830163e6c373db98bdc8d3555e52e6d2ee63e63bff482432a7e ChangeLog 1694 +MISC ChangeLog 2027 RMD160 ca6efe16ca1f25c37cc4a863b28c2f74101e57d2 SHA1 0c2ea6b619cf3e5dc78874a6232ba68784157f18 SHA256 40220a6566da4119198a98e7d5187c77c1c387f9f9d4dd4362eb01e34f8f4b2b +MD5 504aa433eb5d7d76897acb88afac3a7e ChangeLog 2027 +RMD160 ca6efe16ca1f25c37cc4a863b28c2f74101e57d2 ChangeLog 2027 +SHA256 40220a6566da4119198a98e7d5187c77c1c387f9f9d4dd4362eb01e34f8f4b2b ChangeLog 2027 MISC metadata.xml 158 RMD160 e1feed743ecd0f7a4a2abedbef6a662b46969096 SHA1 8a107bbabbd7c2200a345c2e16e8e567d6cefe74 SHA256 6d4f913890738e4843f53f9de89e64faa5eb7d52cbe4c1040693f8ec56d19a31 MD5 0ed40e134501a252bb21c5c5808d8028 metadata.xml 158 RMD160 e1feed743ecd0f7a4a2abedbef6a662b46969096 metadata.xml 158 @@ -41,10 +49,13 @@ SHA256 a44955094113e9cd8d0adc750bc9bfe99c507fc668881dba3baf505675aab813 files/di MD5 0fa2adcc3a262f92c5962d909371850b files/digest-aboot-1.0_pre20040408-r1 554 RMD160 27be91377795e87640a40d16d25229e2d2a119f3 files/digest-aboot-1.0_pre20040408-r1 554 SHA256 2e953bb4d818f4b2b998986872f78d4a485866ffa2fdb89f59c0d752d8f7be48 files/digest-aboot-1.0_pre20040408-r1 554 +MD5 0fa2adcc3a262f92c5962d909371850b files/digest-aboot-1.0_pre20040408-r2 554 +RMD160 27be91377795e87640a40d16d25229e2d2a119f3 files/digest-aboot-1.0_pre20040408-r2 554 +SHA256 2e953bb4d818f4b2b998986872f78d4a485866ffa2fdb89f59c0d752d8f7be48 files/digest-aboot-1.0_pre20040408-r2 554 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.5 (GNU/Linux) +Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFGmcf2p/wUKkr7RBoRApuYAJ9wiK17p4Q0RFIn/FWf6kuNVKNDmACg4VK+ -mod+j7ZlLa03H2YdoyKizNw= -=AX+E +iD8DBQFG1abx3og80iZgVQgRAhvcAJ998/e0OJmiO0WhfvVNNOJMh/G4GwCfeE9E +QFuwbakp52EkCYPQt7SA6eI= +=Cs3v -----END PGP SIGNATURE----- diff --git a/sys-boot/aboot/aboot-1.0_pre20040408-r2.ebuild b/sys-boot/aboot/aboot-1.0_pre20040408-r2.ebuild new file mode 100644 index 000000000000..c7289a202cc6 --- /dev/null +++ b/sys-boot/aboot/aboot-1.0_pre20040408-r2.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/aboot/aboot-1.0_pre20040408-r2.ebuild,v 1.1 2007/08/29 16:37:30 yoswink Exp $ + +inherit eutils + +KERN_VER="2.6.22" + +DESCRIPTION="Alpha Linux boot loader for SRM" +HOMEPAGE="http://aboot.sourceforge.net/" +SRC_URI="http://aboot.sourceforge.net/tarballs/${P}.tar.bz2 + mirror://gentoo/gentoo-headers-base-${KERN_VER}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~alpha" +IUSE="" + +DEPEND="" +PROVIDE="virtual/bootloader" + +src_unpack() { + unpack ${A} + # setup local copies of kernel headers since we rely so + # heavily on linux internals. + mv gentoo-headers-base-${KERN_VER}/include/{linux,asm-generic,asm-alpha} "${S}"/include/ || die + cd "${S}"/include + ln -s asm-alpha asm || die + touch linux/config.h || die + cd "${S}" + sed -i '1i#define bool int' cons.c + sed -i "s:/usr/man:/usr/share/man:" Makefile || die + epatch "${FILESDIR}/aboot-gcc-3.4.patch" + epatch "${FILESDIR}/aboot-pt_note.patch" +} + +src_install() { + dodir /boot /sbin /usr/share/man/man5 + make \ + root="${D}" \ + bindir="${D}"/sbin \ + bootdir="${D}"/boot \ + mandir="${D}"/usr/share/man \ + install + + dodoc ChangeLog INSTALL README TODO aboot.conf + + insinto /etc + newins "${FILESDIR}"/aboot.conf aboot.conf.example +} + +pkg_postinst() { + einfo "To make aboot install a new bootloader on your harddisk follow" + einfo "these steps:" + einfo "" + einfo " - edit the file /etc/aboot.conf" + einfo " - cd /boot" + einfo " - swriteboot -c2 /dev/sda bootlx" + einfo " This will install a new bootsector on /dev/sda and aboot will" + einfo " use the second partition on this device to lookup kernel and " + einfo " initrd (as described in the aboot.conf file)" + einfo "" + einfo "IMPORTANT :" + einfo "" + einfo "The partition table of your boot device has to contain " + einfo "a BSD-DISKLABEL and the first 12 megabytes of your boot device" + einfo "must not be part of a partition as aboot will write its bootloader" + einfo "in there and not as with most x86 bootloaders into the " + einfo "master boot sector. If your partition table does not reflect this" + einfo "you are going to destroy your installation !" + einfo "Also note that aboot currently only supports ext2/3 partitions" + einfo "to boot from." +} diff --git a/sys-boot/aboot/files/aboot-pt_note.patch b/sys-boot/aboot/files/aboot-pt_note.patch new file mode 100644 index 000000000000..d28527ad5b0c --- /dev/null +++ b/sys-boot/aboot/files/aboot-pt_note.patch @@ -0,0 +1,308 @@ +Recent build changes have added a PT_NOTE entry to the kernel's +ELF header. A perfectly valid change, but Alpha's aboot loader +is none too bright about examining these headers. + +The following patch to aboot-1.0_pre20040408.tar.bz2 makes it +so that only PT_LOAD entries are considered for loading, as well +as several other changes required to get the damned thing to +build again. + +--- aboot-1.0_pre20040408/Makefile ++++ aboot-1.0_pre20040408/Makefile +@@ -32,15 +32,15 @@ export + # + LOADADDR = 20000000 + +-ABOOT_LDFLAGS = -static -N -Taboot.lds ++ABOOT_LDFLAGS = -static -N -Taboot.lds --relax + + CC = gcc + TOP = $(shell pwd) + ifeq ($(TESTING),) +-CPPFLAGS = $(CFGDEFS) -I$(TOP)/include +-CFLAGS = $(CPPFLAGS) -D__KERNEL__ -Os -Wall -fno-builtin -mno-fp-regs -ffixed-8 ++CPPFLAGS = $(CFGDEFS) -I$(TOP)/include -I$(KSRC)/include ++CFLAGS = $(CPPFLAGS) -D__KERNEL__ -Os -Wall -fno-builtin -mno-fp-regs + else +-CPPFLAGS = -DTESTING $(CFGDEFS) -I$(TOP)/include ++CPPFLAGS = -DTESTING $(CFGDEFS) -I$(TOP)/include -I$(KSRC)/include + CFLAGS = $(CPPFLAGS) -O -g3 -Wall -D__KERNEL__ -ffixed-8 + endif + ASFLAGS = $(CPPFLAGS) + +--- aboot-1.0_pre20040408/aboot.c ++++ aboot-1.0_pre20040408/aboot.c +@@ -19,7 +19,6 @@ + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include <linux/elf.h> + #include <linux/kernel.h> + #include <linux/version.h> + +@@ -27,6 +26,7 @@ + #include <asm/hwrpb.h> + #include <asm/system.h> + ++#include <elf.h> + #include <alloca.h> + #include <errno.h> + +@@ -37,16 +37,6 @@ + #include "utils.h" + #include "string.h" + +-#ifndef elf_check_arch +-# define aboot_elf_check_arch(e) 1 +-#else +-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +-# define aboot_elf_check_arch(e) elf_check_arch(e) +-# else +-# define aboot_elf_check_arch(e) elf_check_arch(e->e_machine) +-# endif +-#endif +- + struct bootfs * bfs = 0; /* filesystem to boot from */ + char * dest_addr = 0; + jmp_buf jump_buffer; +@@ -83,77 +73,89 @@ static unsigned long entry_addr = START_ADDR; + long + first_block (const char *buf, long blocksize) + { +- struct elfhdr *elf; +- struct elf_phdr *phdrs; ++ Elf64_Ehdr *elf; ++ Elf64_Phdr *phdrs; ++ int i, j; + +- elf = (struct elfhdr *) buf; ++ elf = (Elf64_Ehdr *) buf; + +- if (elf->e_ident[0] == 0x7f +- && strncmp(elf->e_ident + 1, "ELF", 3) == 0) +- { +- int i; +- /* looks like an ELF binary: */ +- if (elf->e_type != ET_EXEC) { +- printf("aboot: not an executable ELF file\n"); +- return -1; +- } +- if (!aboot_elf_check_arch(elf)) { +- printf("aboot: ELF executable not for this machine\n"); +- return -1; +- } +- if (elf->e_phoff + elf->e_phnum * sizeof(*phdrs) > (unsigned) blocksize) { +- printf("aboot: " +- "ELF program headers not in first block (%ld)\n", +- (long) elf->e_phoff); ++ if (elf->e_ident[0] != 0x7f ++ || elf->e_ident[1] != 'E' ++ || elf->e_ident[2] != 'L' ++ || elf->e_ident[3] != 'F') { ++ /* Fail silently, it might be a compressed file */ ++ return -1; ++ } ++ if (elf->e_ident[EI_CLASS] != ELFCLASS64 ++ || elf->e_ident[EI_DATA] != ELFDATA2LSB ++ || elf->e_machine != EM_ALPHA) { ++ printf("aboot: ELF executable not for this machine\n"); ++ return -1; ++ } ++ ++ /* Looks like an ELF binary. */ ++ if (elf->e_type != ET_EXEC) { ++ printf("aboot: not an executable ELF file\n"); ++ return -1; ++ } ++ ++ if (elf->e_phoff + elf->e_phnum * sizeof(*phdrs) ++ > (unsigned) blocksize) { ++ printf("aboot: ELF program headers not in first block (%ld)\n", ++ (long) elf->e_phoff); ++ return -1; ++ } ++ ++ phdrs = (struct elf_phdr *) (buf + elf->e_phoff); ++ chunks = malloc(sizeof(struct segment) * elf->e_phnum); ++ start_addr = phdrs[0].p_vaddr; /* assume they are sorted */ ++ entry_addr = elf->e_entry; ++ ++ for (i = j = 0; i < elf->e_phnum; ++i) { ++ int status; ++ ++ if (phdrs[i].p_type != PT_LOAD) ++ continue; ++ ++ chunks[j].addr = phdrs[i].p_vaddr; ++ chunks[j].offset = phdrs[i].p_offset; ++ chunks[j].size = phdrs[i].p_filesz; ++ printf("aboot: PHDR %d vaddr %#lx offset %#lx size %#lx\n", ++ i, chunks[j].addr, chunks[j].offset, chunks[j].size); ++ ++ status = check_memory(chunks[j].addr, chunks[j].size); ++ if (status) { ++ printf("aboot: Can't load kernel.\n" ++ " Memory at %lx - %lx (PHDR %i) " ++ "is %s\n", ++ chunks[j].addr, ++ chunks[j].addr + chunks[j].size - 1, ++ i, ++ (status == -ENOMEM) ? ++ "Not Found" : ++ "Busy (Reserved)"); + return -1; + } +- phdrs = (struct elf_phdr *) (buf + elf->e_phoff); +- chunks = malloc(sizeof(struct segment) * elf->e_phnum); +- nchunks = elf->e_phnum; +- start_addr = phdrs[0].p_vaddr; /* assume they are sorted */ +- entry_addr = elf->e_entry; +-#ifdef DEBUG +- printf("aboot: %d program headers, start address %#lx, entry %#lx\n", +- nchunks, start_addr, entry_addr); +-#endif +- for (i = 0; i < elf->e_phnum; ++i) { +- int status; +- +- chunks[i].addr = phdrs[i].p_vaddr; +- chunks[i].offset = phdrs[i].p_offset; +- chunks[i].size = phdrs[i].p_filesz; +-#ifdef DEBUG +- printf("aboot: segment %d vaddr %#lx offset %#lx size %#lx\n", +- i, chunks[i].addr, chunks[i].offset, chunks[i].size); +-#endif +- +-#ifndef TESTING +- status = check_memory(chunks[i].addr, chunks[i].size); +- if (status) { ++ ++ if (phdrs[i].p_memsz > phdrs[i].p_filesz) { ++ if (bss_size > 0) { + printf("aboot: Can't load kernel.\n" +- " Memory at %lx - %lx (chunk %i) " +- "is %s\n", +- chunks[i].addr, +- chunks[i].addr + chunks[i].size - 1, +- i, +- (status == -ENOMEM) ? +- "Not Found" : +- "Busy (Reserved)"); ++ " Multiple BSS segments" ++ " (PHDR %d)\n", i); + return -1; + } +-#endif ++ ++ bss_start = (char *) (phdrs[i].p_vaddr + ++ phdrs[i].p_filesz); ++ bss_size = phdrs[i].p_memsz - phdrs[i].p_filesz; ++ + } +- bss_start = (char *) (phdrs[elf->e_phnum - 1].p_vaddr + +- phdrs[elf->e_phnum - 1].p_filesz); +- bss_size = (phdrs[elf->e_phnum - 1].p_memsz - +- phdrs[elf->e_phnum - 1].p_filesz); +-#ifdef DEBUG +- printf("aboot: bss at 0x%p, size %#lx\n", bss_start, bss_size); +-#endif +- } else { +- /* Fail silently, it might be a compressed file */ +- return -1; ++ ++ j++; + } ++ ++ nchunks = j; ++ printf("aboot: bss at 0x%p, size %#lx\n", bss_start, bss_size); + + return 0; + } + +--- aboot-1.0_pre20040408/aboot.lds ++++ aboot-1.0_pre20040408/aboot.lds +@@ -1,22 +1,25 @@ + OUTPUT_FORMAT("elf64-alpha") + ENTRY(__start) ++PHDRS { kernel PT_LOAD; } + SECTIONS + { + . = 0x20000000; +- .text : { *(.text) } ++ .text : { *(.text) } :kernel + _etext = .; + PROVIDE (etext = .); +- .rodata : { *(.rodata) } +- .data : { *(.data) CONSTRUCTORS } +- .got : { *(.got) } +- .sdata : { *(.sdata) } ++ .rodata : { *(.rodata*) } :kernel ++ .data : { *(.data*) } :kernel ++ .got : { *(.got) } :kernel ++ .sdata : { *(.sdata) } :kernel + _edata = .; + PROVIDE (edata = .); +- .sbss : { *(.sbss) *(.scommon) } +- .bss : { *(.bss) *(COMMON) } ++ .sbss : { *(.sbss) *(.scommon) } :kernel ++ .bss : { *(.bss) *(COMMON) } :kernel + _end = . ; + PROVIDE (end = .); + ++ /DISCARD/ : { *(.eh_frame) } ++ + .mdebug 0 : { *(.mdebug) } + .note 0 : { *(.note) } + .comment 0 : { *(.comment) } + +--- aboot-1.0_pre20040408/cons.c ++++ aboot-1.0_pre20040408/cons.c +@@ -82,7 +81,7 @@ cons_getenv(long index, char *envval, long maxlen) + * allocated on the stack (which guaranteed to by 8 byte + * aligned). + */ +- char * tmp = alloca(maxlen); ++ char tmp[maxlen]; + long len; + + len = dispatch(CCB_GET_ENV, index, tmp, maxlen - 1); + +--- aboot-1.0_pre20040408/disk.c ++++ aboot-1.0_pre20040408/disk.c +@@ -113,7 +113,7 @@ int + load_uncompressed (int fd) + { + long nread, nblocks; +- unsigned char *buf; ++ char *buf; + int i; + + buf = malloc(bfs->blocksize); +@@ -131,7 +131,7 @@ load_uncompressed (int fd) + + for(i = 0; i < 16; i++) { + for (j = 0; j < 16; j++) +- printf("%02X ", buf[j+16*i]); ++ printf("%02X ", (unsigned char) buf[j+16*i]); + for(j = 0; j < 16; j++) { + c = buf[j+16*i]; + printf("%c", (c >= ' ') ? c : ' '); + +--- aboot-1.0_pre20040408/head.S ++++ aboot-1.0_pre20040408/head.S +@@ -19,8 +19,7 @@ __start: + .quad 0,0,0,0,0,0,0,0 + 1: br $27,2f + 2: ldgp $29,0($27) +- lda $27,main_ +- jsr $26,($27),main_ ++ bsr $26,main_ !samegp + call_pal PAL_halt + .end __start + +@@ -170,4 +169,4 @@ run_kernel: + mov $16,$27 + mov $17,$30 + jmp $31,($27) +- .end run_kernel +\ No newline at end of file ++ .end run_kernel diff --git a/sys-boot/aboot/files/digest-aboot-1.0_pre20040408-r2 b/sys-boot/aboot/files/digest-aboot-1.0_pre20040408-r2 new file mode 100644 index 000000000000..3b19fa8cb398 --- /dev/null +++ b/sys-boot/aboot/files/digest-aboot-1.0_pre20040408-r2 @@ -0,0 +1,6 @@ +MD5 ac1214102d8304f326655e3e36d89847 aboot-1.0_pre20040408.tar.bz2 115062 +RMD160 7ba6619e6cee1d570b5df806a1dbd23b2918303b aboot-1.0_pre20040408.tar.bz2 115062 +SHA256 a8ae8f2bf549c1cc79ea66a0a11c8db5c0257ce0d94b97418eb1c658723b12d2 aboot-1.0_pre20040408.tar.bz2 115062 +MD5 9ff186f91c21c4cf02d73b9fd22ef28d gentoo-headers-base-2.6.22.tar.bz2 4700338 +RMD160 0742adecc4cf093a2df13c61c3d11e7566f08a9d gentoo-headers-base-2.6.22.tar.bz2 4700338 +SHA256 da57d0d8d12a59b05f0d3851e6d2f67c413baece046f4ec03831aa70df88710a gentoo-headers-base-2.6.22.tar.bz2 4700338 |