-./0arch-timestamps0 1120448537 1120953071
+./0arch-timestamps0 1120953079 1122611350
./BUGS 1109049412 1000991730
./COPYING 1109049412 1000991730
-./ChangeLog 1120952850 1120953067
+./ChangeLog 1122611216 1122611345
./Config 1109049412 1002101497
./INSTALL 1109049412 1000991730
./Makefile 1109049412 1089576723
./doc/examples/simpleboot.chrp 1109049412 1068017750
./doc/examples/yaboot.conf.multi-boot 1109049412 1006348765
./doc/examples/yaboot.conf.rs6000 1109049412 1006348765
-./doc/examples 1120953070 1068017750
+./doc/examples 1122611349 1068017750
./doc/yaboot-howto.de.sgml 1109049413 1096186109
./doc/yaboot-howto.sgml 1109049413 1096186082
-./doc 1120953070 1096186109
+./doc 1122611349 1096186109
./etc/yaboot.conf 1109049413 1006348765
-./etc 1120953070 1007269243
+./etc 1122611349 1007269243
./first/ofboot 1118285749 1065311880
-./first 1120953070 1071492158
+./first 1122611349 1071492158
./include/asm/elf.h 1109049413 1000991730
./include/asm/ppc_asm.tmpl 1109049413 1000991730
./include/asm/processor.h 1109049413 1000991730
-./include/asm 1120953071 1007269243
+./include/asm 1122611349 1007269243
./include/bootinfo.h 1109049413 1007200690
./include/byteorder.h 1109049413 1000991730
./include/cfg.h 1109049413 1007200690
./include/debug.h 1109049413 1007200690
./include/errors.h 1109049413 1007200690
./include/et/com_err.h 1109049413 1000991731
-./include/et 1120953071 1007269243
+./include/et 1122611349 1007269243
./include/ext2fs/bitops.h 1109049413 1003927524
./include/ext2fs/ext2_err.h 1109049413 1003927524
./include/ext2fs/ext2_io.h 1109049413 1003927524
./include/ext2fs/ext2fs.h 1109049413 1003927524
-./include/ext2fs 1120953071 1007269243
+./include/ext2fs 1122611350 1007269243
./include/file.h 1109049413 1007200690
./include/fs.h 1109049413 1007200690
./include/linux/elf.h 1109049413 1000991731
./include/linux/iso_fs.h 1109049413 1000991731
./include/linux/stat.h 1109049413 1000991731
./include/linux/types.h 1109049413 1000991731
-./include/linux 1120953071 1007269243
+./include/linux 1122611350 1007269243
./include/mac-part.h 1109049413 1007200690
./include/md5.h 1109049413 1000991730
./include/prom.h 1109049413 1007200690
./include/reiserfs/reiserfs.h 1109049413 1025684115
-./include/reiserfs 1120953071 1025684115
+./include/reiserfs 1122611350 1025684115
./include/setjm2.h 1109049413 1000991730
./include/setjmp.h 1109049413 1000991730
./include/stdlib.h 1109049413 1000991730
./include/swab.h 1109049413 1000991730
./include/types.h 1109049413 1000991730
./include/xfs/xfs.h 1109049413 1002101334
-./include/xfs 1120953071 1007269244
+./include/xfs 1122611350 1007269244
./include/yaboot.h 1109049413 1007200690
./include/amiga-part.h 1116558586 1116558522
-./include/fdisk-part.h 1120952841 1120952841
-./include/partition.h 1120952841 1120952841
-./include 1120953071 1120952841
+./include/fdisk-part.h 1120953080 1120952841
+./include/partition.h 1120953080 1120952841
+./include 1122611349 1120952841
./lib/ctype.c 1109049413 1000991731
./lib/libext2fs.a 1109049413 1003927524
-./lib/malloc.c 1109049413 1007200690
+./lib/malloc.c 1122610545 1007200690
./lib/nosys.c 1109049413 1000991731
./lib/string.S 1109049413 1007200690
./lib/strtol.c 1109049413 1000991731
./lib/vsprintf.c 1109049413 1000991731
./lib/strstr.c 1119929028 1116476589
-./lib 1120953071 1116476589
+./lib 1122610543 1116476589
./man/bootstrap.8 1116558691 1000991731
./man/mkofboot.8 1116558691 1006348765
./man/ofpath.8 1116558691 1000991731
./man/yaboot.conf.5 1116558691 1004256691
./man/yabootconfig.8 1116558691 1027929577
./man/ybin.8 1116558691 1006348765
-./man/yaboot.8 1116558691 1090699543
-./man 1120953071 1116476667
+./man/yaboot.8 1121662318 1090699543
+./man 1122611350 1116476667
./man.patch 1116558699 1006348761
./second/cache.S 1120952570 1007200690
./second/cfg.c 1120952570 1007200690
./second/cmdline.c 1120952570 1032059589
./second/crt0.S 1120952570 1000991731
-./second/file.c 1120952570 1044868693
./second/fs.c 1120952570 1032059574
./second/fs_ext2.c 1120952570 1032059564
./second/fs_iso.c 1120952570 1007200690
./second/md5.c 1120952570 1032059532
./second/prom.c 1120952570 1067937197
./second/setjmp.S 1120952570 1000991732
-./second/yaboot.c 1120952570 1032059504
-./second/fs_of.c 1120952841 1120952841
-./second/partition.c 1120952841 1120952841
-./second 1120953071 1120952841
+./second/fs_of.c 1120953080 1120952841
+./second/file.c 1122611207 1122611207
+./second/partition.c 1122611207 1122611207
+./second/yaboot.c 1122611207 1122611207
+./second 1122611350 1122611207
./util/elfextract.c 1109049413 1007303237
./util/addnote.c 1109049413 1107321884
-./util 1120953071 1107321884
-./ybin/mkofboot 1120953071 1073219938
+./util 1122611350 1107321884
+./ybin/mkofboot 1122611350 1073219938
./ybin/ofpath 1120448537 1120448442
./ybin/yabootconfig 1117166139 1089576743
./ybin/ybin 1120448039 1120447943
-./ybin 1120953071 1120448442
-. 1120953070 1120953067
+./ybin 1122611350 1120448442
+. 1122611349 1122611345
if (opened)
file.fs->close(&file);
- if (result != 1 && conf_file)
+ if (conf_file)
free(conf_file);
return result;
/* Read the rest of the Elf header... */
if ((*(file->fs->read))(file, size, &e->e_version) < size) {
prom_printf("\nCan't read Elf32 image header\n");
- return 0;
+ goto bail;
}
DEBUG_F("Elf32 header:\n");
if (e->e_phnum > MAX_HEADERS) {
prom_printf ("Can only load kernels with one program header\n");
- return 0;
+ goto bail;
}
ph = (Elf32_Phdr *)malloc(sizeof(Elf32_Phdr) * e->e_phnum);
if (!ph) {
prom_printf ("Malloc error\n");
- return 0;
+ goto bail;
}
/* Now, we read the section header */
if ((*(file->fs->seek))(file, e->e_phoff) != FILE_ERR_OK) {
prom_printf ("seek error\n");
- return 0;
+ goto bail;
}
if ((*(file->fs->read))(file, sizeof(Elf32_Phdr) * e->e_phnum, ph) !=
sizeof(Elf32_Phdr) * e->e_phnum) {
prom_printf ("read error\n");
- return 0;
+ goto bail;
}
/* Scan through the program header
if (loadinfo->memsize == 0) {
prom_printf("Can't find a loadable segment !\n");
- return 0;
+ goto bail;
}
/* leave some room (1Mb) for boot infos */
}
if (loadinfo->base == (void *)-1) {
prom_printf("Claim error, can't allocate kernel memory\n");
- return 0;
+ goto bail;
}
DEBUG_F("After ELF parsing, load base: %p, mem_sz: 0x%08lx\n",
if ((*(file->fs->seek))(file, p->p_offset) != FILE_ERR_OK) {
prom_printf ("Seek error\n");
prom_release(loadinfo->base, loadinfo->memsize);
- return 0;
+ goto bail;
}
offset = p->p_vaddr - loadinfo->load_loc;
if ((*(file->fs->read))(file, p->p_filesz, loadinfo->base+offset) != p->p_filesz) {
prom_printf ("Read failed\n");
prom_release(loadinfo->base, loadinfo->memsize);
- return 0;
+ goto bail;
}
}
/* Return success at loading the Elf32 kernel */
return 1;
+
+bail:
+ if (ph)
+ free(ph);
+ return 0;
}
static int
/* Read the rest of the Elf header... */
if ((*(file->fs->read))(file, size, &e->e_version) < size) {
prom_printf("\nCan't read Elf64 image header\n");
- return 0;
+ goto bail;
}
DEBUG_F("Elf64 header:\n");
if (e->e_phnum > MAX_HEADERS) {
prom_printf ("Can only load kernels with one program header\n");
- return 0;
+ goto bail;
}
ph = (Elf64_Phdr *)malloc(sizeof(Elf64_Phdr) * e->e_phnum);
if (!ph) {
prom_printf ("Malloc error\n");
- return 0;
+ goto bail;
}
/* Now, we read the section header */
if ((*(file->fs->seek))(file, e->e_phoff) != FILE_ERR_OK) {
prom_printf ("Seek error\n");
- return 0;
+ goto bail;
}
if ((*(file->fs->read))(file, sizeof(Elf64_Phdr) * e->e_phnum, ph) !=
sizeof(Elf64_Phdr) * e->e_phnum) {
prom_printf ("Read error\n");
- return 0;
+ goto bail;
}
/* Scan through the program header
if (loadinfo->memsize == 0) {
prom_printf("Can't find a loadable segment !\n");
- return 0;
+ goto bail;
}
/* leave some room (1Mb) for boot infos */
}
if (loadinfo->base == (void *)-1) {
prom_printf("Claim error, can't allocate kernel memory\n");
- return 0;
+ goto bail;
}
DEBUG_F("After ELF parsing, load base: %p, mem_sz: 0x%08lx\n",
if ((*(file->fs->seek))(file, p->p_offset) != FILE_ERR_OK) {
prom_printf ("Seek error\n");
prom_release(loadinfo->base, loadinfo->memsize);
- return 0;
+ goto bail;
}
offset = p->p_vaddr - loadinfo->load_loc;
if ((*(file->fs->read))(file, p->p_filesz, loadinfo->base+offset) != p->p_filesz) {
prom_printf ("Read failed\n");
prom_release(loadinfo->base, loadinfo->memsize);
- return 0;
+ goto bail;
}
}
/* Return success at loading the Elf64 kernel */
return 1;
+
+bail:
+ if (ph)
+ free(ph);
+ return 0;
}
static int
if ((ptype != NULL) && (strcmp(ptype, "Apple_Bootstrap")))
prom_printf("\nWARNING: Bootstrap partition type is wrong: \"%s\"\n"
" type should be: \"Apple_Bootstrap\"\n\n", ptype);
+ if (ptype)
+ free(ptype);
}
}
yaboot_text_ui();
-
+
prom_printf("Bye.\n");
return 0;
}