summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeemant Kulleen <seemant@gentoo.org>2005-07-28 17:53:38 +0000
committerSeemant Kulleen <seemant@gentoo.org>2005-07-28 17:53:38 +0000
commit5e07a4e7169e5453db689b7105510cc56bce0e5a (patch)
tree2817fb706400788b2b731268490f22ae8fdc3bd0
parentppc stable, #100540 (diff)
downloadhistorical-5e07a4e7169e5453db689b7105510cc56bce0e5a.tar.gz
historical-5e07a4e7169e5453db689b7105510cc56bce0e5a.tar.bz2
historical-5e07a4e7169e5453db689b7105510cc56bce0e5a.zip
patches, configs, splash screens are all now on mirrors and being tracked in gentoo/src/patchsets/grub
Package-Manager: portage-2.0.51.22-r2
-rw-r--r--sys-boot/grub/ChangeLog16
-rw-r--r--sys-boot/grub/Manifest32
-rw-r--r--sys-boot/grub/files/digest-grub-0.92-r13
-rw-r--r--sys-boot/grub/files/digest-grub-0.94-r13
-rw-r--r--sys-boot/grub/files/digest-grub-0.96-r13
-rw-r--r--sys-boot/grub/files/digest-grub-0.96-r23
-rw-r--r--sys-boot/grub/files/grub-0.93-gcc3.3.diff17
-rw-r--r--sys-boot/grub/files/grub-0.94-gcc3.4.patch14
-rw-r--r--sys-boot/grub/files/grub-0.94-grub.conf.patch176
-rw-r--r--sys-boot/grub/files/grub-0.95.20040823-warnings.patch50
-rw-r--r--sys-boot/grub/files/grub-0.96-PIC.patch68
-rw-r--r--sys-boot/grub/files/grub-0.96-bounced-checks.patch19
-rw-r--r--sys-boot/grub/files/grub-0.96-gcc2.patch19
-rw-r--r--sys-boot/grub/files/grub-0.96-gcc4.patch225
-rw-r--r--sys-boot/grub/files/grub-0.96-i2o-raid.patch61
-rw-r--r--sys-boot/grub/files/grub-0.96-netboot-pic.patch15
-rw-r--r--sys-boot/grub/files/grub-0.96-nxstack.patch616
-rw-r--r--sys-boot/grub/files/grub-0.96-r1-gcc4.patch191
-rw-r--r--sys-boot/grub/files/grub-0.96-xfs-writable-string.patch17
-rw-r--r--sys-boot/grub/files/splash.xpm.gzbin33856 -> 0 bytes
-rw-r--r--sys-boot/grub/grub-0.92-r1.ebuild29
-rw-r--r--sys-boot/grub/grub-0.94-r1.ebuild26
-rw-r--r--sys-boot/grub/grub-0.96-r1.ebuild40
-rw-r--r--sys-boot/grub/grub-0.96-r2.ebuild49
24 files changed, 95 insertions, 1597 deletions
diff --git a/sys-boot/grub/ChangeLog b/sys-boot/grub/ChangeLog
index 0f87e0210dde..e52f1bbdbfbb 100644
--- a/sys-boot/grub/ChangeLog
+++ b/sys-boot/grub/ChangeLog
@@ -1,6 +1,20 @@
# ChangeLog for sys-boot/grub
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.47 2005/07/28 14:52:47 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.48 2005/07/28 17:53:38 seemant Exp $
+
+ 28 Jul 2005; Seemant Kulleen <seemant@gentoo.org>
+ -files/grub-0.93-gcc3.3.diff, -files/grub-0.94-gcc3.4.patch,
+ -files/grub-0.94-grub.conf.patch,
+ -files/grub-0.95.20040823-warnings.patch, -files/grub-0.96-PIC.patch,
+ -files/grub-0.96-bounced-checks.patch, -files/grub-0.96-gcc2.patch,
+ -files/grub-0.96-gcc4.patch, -files/grub-0.96-i2o-raid.patch,
+ -files/grub-0.96-netboot-pic.patch, -files/grub-0.96-nxstack.patch,
+ -files/grub-0.96-r1-gcc4.patch,
+ -files/grub-0.96-xfs-writable-string.patch, -files/splash.xpm.gz,
+ grub-0.92-r1.ebuild, grub-0.94-r1.ebuild, grub-0.96-r1.ebuild,
+ grub-0.96-r2.ebuild:
+ patches, configs, splash screens are all now on mirrors and being tracked in
+ gentoo/src/patchsets/grub
28 Jul 2005; Seemant Kulleen <seemant@gentoo.org> +grub-0.92-r1.ebuild,
+grub-0.94-r1.ebuild:
diff --git a/sys-boot/grub/Manifest b/sys-boot/grub/Manifest
index 218a4ac06b0e..3ea85a7e38cd 100644
--- a/sys-boot/grub/Manifest
+++ b/sys-boot/grub/Manifest
@@ -1,24 +1,10 @@
-MD5 b2099e2597371412a5d1a6e5748825ca ChangeLog 14321
+MD5 0e84b55904d11af17fa2e02be90806e1 ChangeLog 15046
MD5 b0eacbb6edb031d87f33ed0b08f5916d metadata.xml 226
-MD5 265cdebdd7e789aa0f65ece937b6f3d9 grub-0.96-r1.ebuild 5102
-MD5 81ff3c533676c996778973eb2d0bbe9a grub-0.96-r2.ebuild 5240
-MD5 b165e525893777a4509f5425e4059d50 grub-0.92-r1.ebuild 2533
-MD5 d9f0e36ffad22b3ea5ea6eebf2eedd3f grub-0.94-r1.ebuild 3604
-MD5 8d898cd9d1928916596cc3f9883eac67 files/grub-0.93-gcc3.3.diff 639
-MD5 e9e73f57d9f9d5c550792980b2635f94 files/grub-0.94-gcc3.4.patch 479
-MD5 7357395b0d223c0bbf0675a9af31f9c3 files/grub-0.94-grub.conf.patch 7574
-MD5 9c1ec8bfdc5f20ce965c2d2167a43162 files/grub-0.95.20040823-warnings.patch 2529
-MD5 cdd6c89d48982ecd544c0b4774755afd files/splash.xpm.gz 33856
-MD5 2170f54e53dea24426369c0154d46fc0 files/digest-grub-0.96-r1 140
-MD5 904c3dec402e5c7f0e62ab970dcdf5b2 files/grub-0.96-PIC.patch 1925
-MD5 3f3995353a0995c56d996d2218570160 files/grub-0.96-i2o-raid.patch 1597
-MD5 8082c035a4ba98d0935b6b045827fb2c files/grub-0.96-nxstack.patch 18920
-MD5 e5978f58eb732289c47b1e0093db4e73 files/grub-0.96-bounced-checks.patch 505
-MD5 7c2804e6a538b2dbcbb851b9614424fd files/grub-0.96-gcc4.patch 6871
-MD5 3f141147f2ded9c02b300eaf8361f3d5 files/grub-0.96-r1-gcc4.patch 5568
-MD5 2170f54e53dea24426369c0154d46fc0 files/digest-grub-0.96-r2 140
-MD5 5c12894c0a8cfd4a46a67e631dd45804 files/grub-0.96-netboot-pic.patch 446
-MD5 fb0f1b7cf2bf8055ee45f1e44c793cb7 files/grub-0.96-xfs-writable-string.patch 519
-MD5 3c201afcdacfff41b196d3d56ef07866 files/grub-0.96-gcc2.patch 573
-MD5 16039704cf1e6b6f46b4413532af082c files/digest-grub-0.92-r1 133
-MD5 0b52e1b3a6a9f3c9b86742580eabf28d files/digest-grub-0.94-r1 131
+MD5 c8d30bf5c47b6d9cb935d2adb12a9ac9 grub-0.92-r1.ebuild 2629
+MD5 52b747f4b18ebbbf107c529237382dc8 grub-0.94-r1.ebuild 3640
+MD5 49ae7636425891125ae6cb623a4d6570 grub-0.96-r1.ebuild 4699
+MD5 91baddb979a9c56345bb897b3b085a11 grub-0.96-r2.ebuild 4555
+MD5 5695c7ea410b6913901208938e05b1ad files/digest-grub-0.92-r1 190
+MD5 c5c746f1feb71d47fb2f5481590b83df files/digest-grub-0.94-r1 190
+MD5 a098fd63c2d2748ecbbfe53aae07ed79 files/digest-grub-0.96-r1 193
+MD5 97d88870847fafcf5fe4162f6d273e74 files/digest-grub-0.96-r2 193
diff --git a/sys-boot/grub/files/digest-grub-0.92-r1 b/sys-boot/grub/files/digest-grub-0.92-r1
index cbaef07bdcd0..2c054d890ed3 100644
--- a/sys-boot/grub/files/digest-grub-0.92-r1
+++ b/sys-boot/grub/files/digest-grub-0.92-r1
@@ -1,2 +1,3 @@
MD5 50f2786e7bf96b1115ee82b9c101a816 grub-0.92.tar.gz 877112
-MD5 3acebcea3c38fc2a6b4413e22e480086 grub-0.92-gentoo-0.1.tar.bz2 21404
+MD5 a74911d3f1a25d06b3243df70bf6e892 grub-0.92-gentoo-0.2.tar.bz2 21727
+MD5 cdd6c89d48982ecd544c0b4774755afd splash.xpm.gz 33856
diff --git a/sys-boot/grub/files/digest-grub-0.94-r1 b/sys-boot/grub/files/digest-grub-0.94-r1
index 6e16be87c678..c7ccf3202ad6 100644
--- a/sys-boot/grub/files/digest-grub-0.94-r1
+++ b/sys-boot/grub/files/digest-grub-0.94-r1
@@ -1,2 +1,3 @@
MD5 299672a99cf59656e653d8ffd7851b56 grub-0.94.tar.gz 923518
-MD5 be1a9091b936e179990372201a3fdff6 grub-0.94-splash.patch.bz2 40177
+MD5 636201ec318c19987d59c762abcf78f6 grub-0.94-gentoo-0.1.tar.bz2 40585
+MD5 cdd6c89d48982ecd544c0b4774755afd splash.xpm.gz 33856
diff --git a/sys-boot/grub/files/digest-grub-0.96-r1 b/sys-boot/grub/files/digest-grub-0.96-r1
index b43ad3d90a05..b2a6452b028a 100644
--- a/sys-boot/grub/files/digest-grub-0.96-r1
+++ b/sys-boot/grub/files/digest-grub-0.96-r1
@@ -1,2 +1,3 @@
MD5 47c228c88f848873288ad1cd04cc93f0 grub-0.96.tar.gz 985761
-MD5 7d0c1f5a474a8877a6f38edc4599030a grub-0.95.20040823-splash.patch.bz2 40226
+MD5 46235df4ac250f586a07076cd6e907b9 grub-0.96-r1-gentoo-0.1.tar.bz2 47051
+MD5 cdd6c89d48982ecd544c0b4774755afd splash.xpm.gz 33856
diff --git a/sys-boot/grub/files/digest-grub-0.96-r2 b/sys-boot/grub/files/digest-grub-0.96-r2
index b43ad3d90a05..57e9fd83cfd2 100644
--- a/sys-boot/grub/files/digest-grub-0.96-r2
+++ b/sys-boot/grub/files/digest-grub-0.96-r2
@@ -1,2 +1,3 @@
MD5 47c228c88f848873288ad1cd04cc93f0 grub-0.96.tar.gz 985761
-MD5 7d0c1f5a474a8877a6f38edc4599030a grub-0.95.20040823-splash.patch.bz2 40226
+MD5 6a7a342fecc62e2d54fa3764b91efa7d grub-0.96-r2-gentoo-0.1.tar.bz2 47639
+MD5 cdd6c89d48982ecd544c0b4774755afd splash.xpm.gz 33856
diff --git a/sys-boot/grub/files/grub-0.93-gcc3.3.diff b/sys-boot/grub/files/grub-0.93-gcc3.3.diff
deleted file mode 100644
index a32eb8093d46..000000000000
--- a/sys-boot/grub/files/grub-0.93-gcc3.3.diff
+++ /dev/null
@@ -1,17 +0,0 @@
-Submitter: Jim Gifford (patches at jg555 dot com)
-Origin: Grub CVS
-Date: 08-16-2003
-Description: Fixes GCC 3.3 Compile Errors
-
-diff -Naur grub-0.93.orig/stage2/fsys_reiserfs.c grub-0.93/stage2/fsys_reiserfs.c
---- grub-0.93.orig/stage2/fsys_reiserfs.c 2002-11-29 17:46:01.000000000 +0000
-+++ grub-0.93/stage2/fsys_reiserfs.c 2003-08-16 21:15:34.000000000 +0000
-@@ -112,7 +112,7 @@
- /* offset in the log of where to start replay after a crash */
- __u32 j_first_unflushed_offset;
- /* mount id to detect very old transactions */
-- __u32 long j_mount_id;
-+ __u32 j_mount_id;
- };
-
- /* magic string to find desc blocks in the journal */
diff --git a/sys-boot/grub/files/grub-0.94-gcc3.4.patch b/sys-boot/grub/files/grub-0.94-gcc3.4.patch
deleted file mode 100644
index 223f6544c184..000000000000
--- a/sys-boot/grub/files/grub-0.94-gcc3.4.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ur grub-0.94.orig/stage2/char_io.c grub-0.94/stage2/char_io.c
---- grub-0.94.orig/stage2/char_io.c 2003-07-09 11:45:52.000000000 +0000
-+++ grub-0.94/stage2/char_io.c 2004-05-04 16:08:41.983029992 +0000
-@@ -1265,3 +1265,10 @@
- return dest;
- }
- #endif /* ! STAGE1_5 */
-+
-+#ifndef GRUB_UTIL
-+# undef memcpy
-+/* GCC emits references to memcpy() for struct copies etc. */
-+void *memcpy (void *dest, const void *src, int n) __attribute__ ((alias ("grub_memmove")));
-+#endif
-+
diff --git a/sys-boot/grub/files/grub-0.94-grub.conf.patch b/sys-boot/grub/files/grub-0.94-grub.conf.patch
deleted file mode 100644
index 12d82f26b3b4..000000000000
--- a/sys-boot/grub/files/grub-0.94-grub.conf.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff -Nur grub-0.94/docs/Makefile.am grub-0.94-new/docs/Makefile.am
---- grub-0.94/docs/Makefile.am 2003-07-09 12:45:35.000000000 +0100
-+++ grub-0.94-new/docs/Makefile.am 2004-08-22 18:06:12.234375720 +0100
-@@ -19,7 +19,7 @@
- boot.o: multiboot.h
- endif
-
--EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
-+EXTRA_DIST = grub.conf $(man_MANS) $(noinst_SCRIPTS) \
- $(EXAMPLES) $(multiboot_TEXINFOS)
- CLEANFILES = $(noinst_PROGRAMS)
-
-diff -Nur grub-0.94/docs/Makefile.in grub-0.94-new/docs/Makefile.in
---- grub-0.94/docs/Makefile.in 2003-10-19 18:28:23.000000000 +0100
-+++ grub-0.94-new/docs/Makefile.in 2004-08-22 18:06:12.244374200 +0100
-@@ -159,7 +159,7 @@
-
- @BUILD_EXAMPLE_KERNEL_TRUE@kernel_LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
-
--EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
-+EXTRA_DIST = grub.conf $(man_MANS) $(noinst_SCRIPTS) \
- $(EXAMPLES) $(multiboot_TEXINFOS)
-
- CLEANFILES = $(noinst_PROGRAMS)
-diff -Nur grub-0.94/docs/grub.8 grub-0.94-new/docs/grub.8
---- grub-0.94/docs/grub.8 2004-01-18 19:19:41.000000000 +0000
-+++ grub-0.94-new/docs/grub.8 2004-08-22 18:06:12.247373744 +0100
-@@ -15,7 +15,7 @@
- specify stage2 boot_drive [default=0x0]
- .TP
- \fB\-\-config\-file\fR=\fIFILE\fR
--specify stage2 config_file [default=/boot/grub/menu.lst]
-+specify stage2 config_file [default=/boot/grub/grub.conf]
- .TP
- \fB\-\-device\-map\fR=\fIFILE\fR
- use the device map file FILE
-diff -Nur grub-0.94/docs/grub.info grub-0.94-new/docs/grub.info
---- grub-0.94/docs/grub.info 2004-01-25 15:41:23.000000000 +0000
-+++ grub-0.94-new/docs/grub.info 2004-08-22 18:06:12.180383928 +0100
-@@ -921,7 +921,7 @@
- (*note Menu interface::) from which you can select an item (using arrow
- keys) that will do everything to boot an OS.
-
-- To enable the menu, you need a configuration file, `menu.lst' under
-+ To enable the menu, you need a configuration file, `grub.conf' under
- the boot directory. We'll analyze an example file.
-
- The file first contains some general settings, the menu interface
-@@ -1147,7 +1147,7 @@
- foo:ht=1:ha=63655d0334a7:ip=145.71.35.127:\
- :bf=/nbgrub:\
- :tc=.allhost:\
-- :T150="(nd)/tftpboot/menu.lst.foo":
-+ :T150="(nd)/tftpboot/grub.conf.foo":
-
- Note that you should specify the drive name `(nd)' in the name of
- the configuration file. This is because you might change the root drive
-@@ -1458,7 +1458,7 @@
-
- An absolute file name resembles a Unix absolute file name, using `/'
- for the directory separator (not `\' as in DOS). One example is
--`(hd0,0)/boot/grub/menu.lst'. This means the file `/boot/grub/menu.lst'
-+`(hd0,0)/boot/grub/grub.conf'. This means the file `/boot/grub/grub.conf'
- in the first partition of the first hard disk. If you omit the device
- name in an absolute file name, GRUB uses GRUB's "root device"
- implicitly. So if you set the root device to, say, `(hd1,0)' by the
-@@ -3161,7 +3161,7 @@
- grub shell just ignores this option.
-
- `--config-file=FILE'
-- Read the configuration file FILE instead of `/boot/grub/menu.lst'.
-+ Read the configuration file FILE instead of `/boot/grub/grub.conf'.
- The format is the same as the normal GRUB syntax. See *Note
- Filesystem::, for more information.
-
-diff -Nur grub-0.94/docs/grub.texi grub-0.94-new/docs/grub.texi
---- grub-0.94/docs/grub.texi 2004-01-25 15:39:14.000000000 +0000
-+++ grub-0.94-new/docs/grub.texi 2004-08-22 18:06:12.219378000 +0100
-@@ -1018,7 +1018,7 @@
- keys) that will do everything to boot an OS.
-
- To enable the menu, you need a configuration file,
--@file{menu.lst} under the boot directory. We'll analyze an example
-+@file{grub.conf} under the boot directory. We'll analyze an example
- file.
-
- The file first contains some general settings, the menu interface
-@@ -1291,7 +1291,7 @@
- foo:ht=1:ha=63655d0334a7:ip=145.71.35.127:\
- :bf=/nbgrub:\
- :tc=.allhost:\
-- :T150="(nd)/tftpboot/menu.lst.foo":
-+ :T150="(nd)/tftpboot/grub.conf.foo":
- @end group
- @end example
-
-@@ -1626,8 +1626,8 @@
-
- An absolute file name resembles a Unix absolute file name, using
- @samp{/} for the directory separator (not @samp{\} as in DOS). One
--example is @samp{(hd0,0)/boot/grub/menu.lst}. This means the file
--@file{/boot/grub/menu.lst} in the first partition of the first hard
-+example is @samp{(hd0,0)/boot/grub/grub.conf}. This means the file
-+@file{/boot/grub/grub.conf} in the first partition of the first hard
- disk. If you omit the device name in an absolute file name, GRUB uses
- GRUB's @dfn{root device} implicitly. So if you set the root device to,
- say, @samp{(hd1,0)} by the command @command{root} (@pxref{root}), then
-@@ -3278,7 +3278,7 @@
-
- @item --config-file=@var{file}
- Read the configuration file @var{file} instead of
--@file{/boot/grub/menu.lst}. The format is the same as the normal GRUB
-+@file{/boot/grub/grub.conf}. The format is the same as the normal GRUB
- syntax. See @ref{Filesystem}, for more information.
-
- @item --boot-drive=@var{drive}
-diff -Nur grub-0.94/grub/asmstub.c grub-0.94-new/grub/asmstub.c
---- grub-0.94/grub/asmstub.c 2004-01-11 09:39:22.000000000 +0000
-+++ grub-0.94-new/grub/asmstub.c 2004-08-22 18:06:12.373354592 +0100
-@@ -71,7 +71,7 @@
- unsigned long boot_drive = 0;
- int saved_entryno = 0;
- char version_string[] = VERSION;
--char config_file[128] = "/boot/grub/menu.lst"; /* FIXME: arbitrary */
-+char config_file[128] = "/boot/grub/grub.conf"; /* FIXME: arbitrary */
- unsigned long linux_text_len = 0;
- char *linux_data_tmp_addr = 0;
- char *linux_data_real_addr = 0;
-diff -Nur grub-0.94/stage2/asm.S grub-0.94-new/stage2/asm.S
---- grub-0.94/stage2/asm.S 2004-08-22 18:07:55.258713640 +0100
-+++ grub-0.94-new/stage2/asm.S 2004-08-22 18:06:13.157235424 +0100
-@@ -97,7 +97,7 @@
- .string VERSION
- VARIABLE(config_file)
- #ifndef STAGE1_5
-- .string "/boot/grub/menu.lst"
-+ .string "/boot/grub/grub.conf"
- #else /* STAGE1_5 */
- .long 0xffffffff
- .string "/boot/grub/stage2"
-diff -Nur grub-0.94/stage2/builtins.c grub-0.94-new/stage2/builtins.c
---- grub-0.94/stage2/builtins.c 2004-08-22 18:07:55.263712880 +0100
-+++ grub-0.94-new/stage2/builtins.c 2004-08-22 18:06:13.556174776 +0100
-@@ -3976,7 +3976,7 @@
-
- /* The prefix was determined. */
- grub_sprintf (stage2, "%s%s", prefix, "/stage2");
-- grub_sprintf (config_filename, "%s%s", prefix, "/menu.lst");
-+ grub_sprintf (config_filename, "%s%s", prefix, "/grub.conf");
- *real_config_filename = 0;
-
- /* Check if stage2 exists. */
-diff -Nur grub-0.94/stage2/builtins.c.orig grub-0.94-new/stage2/builtins.c.orig
---- grub-0.94/stage2/builtins.c.orig 2004-08-22 18:07:55.272711512 +0100
-+++ grub-0.94-new/stage2/builtins.c.orig 2004-08-22 18:06:13.505182528 +0100
-@@ -3844,7 +3844,7 @@
-
- /* The prefix was determined. */
- grub_sprintf (stage2, "%s%s", prefix, "/stage2");
-- grub_sprintf (config_filename, "%s%s", prefix, "/menu.lst");
-+ grub_sprintf (config_filename, "%s%s", prefix, "/grub.conf");
- *real_config_filename = 0;
-
- /* Check if stage2 exists. */
-diff -Nur grub-0.94/util/grub-image.in grub-0.94-new/util/grub-image.in
---- grub-0.94/util/grub-image.in 2003-07-09 12:45:51.000000000 +0100
-+++ grub-0.94-new/util/grub-image.in 2004-08-22 18:06:12.393351552 +0100
-@@ -64,7 +64,7 @@
- mkdir -p $bootdir/boot/grub
- cp -p $stage1dir/stage1 $stage2dir/*_stage1_5 $stage2dir/stage2 \
- $bootdir/boot/grub
-- test ! -f menu.lst || cp -p menu.lst $bootdir/boot/grub
-+ test ! -f grub.conf || cp -p grub.conf $bootdir/boot/grub
- trap "rm -f $bootdir.tar.gz" 0
- GZIP=-9 tar -zcf $bootdir.tar.gz $bootdir
- trap '' 0
diff --git a/sys-boot/grub/files/grub-0.95.20040823-warnings.patch b/sys-boot/grub/files/grub-0.95.20040823-warnings.patch
deleted file mode 100644
index a049259e4837..000000000000
--- a/sys-boot/grub/files/grub-0.95.20040823-warnings.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Naur grub-0.95.20040823.old/grub/Makefile.am grub-0.95.20040823/grub/Makefile.am
---- grub-0.95.20040823.old/grub/Makefile.am 2004-08-24 00:21:31.000000000 +0100
-+++ grub-0.95.20040823/grub/Makefile.am 2004-11-21 22:05:06.921259824 +0000
-@@ -13,7 +13,7 @@
- $(SERIAL_FLAGS) -I$(top_srcdir)/stage2 \
- -I$(top_srcdir)/stage1 -I$(top_srcdir)/lib
-
--AM_CFLAGS = $(GRUB_CFLAGS) -fwritable-strings
-+AM_CFLAGS = $(GRUB_CFLAGS)
-
- grub_SOURCES = main.c asmstub.c
- grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS)
-diff -Naur grub-0.95.20040823.old/grub/Makefile.in grub-0.95.20040823/grub/Makefile.in
---- grub-0.95.20040823.old/grub/Makefile.in 2004-08-24 00:21:31.000000000 +0100
-+++ grub-0.95.20040823/grub/Makefile.in 2004-11-21 22:05:14.233148248 +0000
-@@ -185,7 +185,7 @@
- $(SERIAL_FLAGS) -I$(top_srcdir)/stage2 \
- -I$(top_srcdir)/stage1 -I$(top_srcdir)/lib
-
--AM_CFLAGS = $(GRUB_CFLAGS) -fwritable-strings
-+AM_CFLAGS = $(GRUB_CFLAGS)
- grub_SOURCES = main.c asmstub.c
- grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS)
- all: all-am
-diff -Naur grub-0.95.20040823.old/stage2/Makefile.am grub-0.95.20040823/stage2/Makefile.am
---- grub-0.95.20040823.old/stage2/Makefile.am 2004-11-21 22:03:48.225223000 +0000
-+++ grub-0.95.20040823/stage2/Makefile.am 2004-11-21 22:05:28.105039400 +0000
-@@ -24,8 +24,7 @@
- -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
- -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \
- -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \
-- -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 \
-- -fwritable-strings
-+ -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1
-
- # Stage 2 and Stage 1.5's.
- pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
-diff -Naur grub-0.95.20040823.old/stage2/Makefile.in grub-0.95.20040823/stage2/Makefile.in
---- grub-0.95.20040823.old/stage2/Makefile.in 2004-08-24 00:21:32.000000000 +0100
-+++ grub-0.95.20040823/stage2/Makefile.in 2004-11-21 22:05:35.523911560 +0000
-@@ -579,8 +579,7 @@
- -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
- -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \
- -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \
-- -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 \
-- -fwritable-strings
-+ -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1
-
- @DISKLESS_SUPPORT_FALSE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
- @DISKLESS_SUPPORT_FALSE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
diff --git a/sys-boot/grub/files/grub-0.96-PIC.patch b/sys-boot/grub/files/grub-0.96-PIC.patch
deleted file mode 100644
index 0f09ec7c756b..000000000000
--- a/sys-boot/grub/files/grub-0.96-PIC.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- grub-0.96/stage2/char_io.c.orig 2005-02-18 09:12:39.163407496 +0100
-+++ grub-0.96/stage2/char_io.c 2005-02-18 09:13:11.431502000 +0100
-@@ -1202,34 +1202,59 @@
- }
- #endif /* ! STAGE1_5 */
-
-+#ifdef GRUB_UTIL
-+# ifdef __PIC__
-+# if defined(HAVE_START_SYMBOL) && defined(HAVE_END_SYMBOL)
-+ extern char start[];
-+ extern char end[];
-+# elif defined(HAVE_USCORE_START_SYMBOL) && defined (HAVE_USCORE_END_SYMBOL)
-+ extern char _start[];
-+ extern char _end[];
-+# endif
-+# endif
-+#endif
- int
- memcheck (int addr, int len)
- {
- #ifdef GRUB_UTIL
-+# ifdef __PIC__
-+# if defined(HAVE_START_SYMBOL) && defined(HAVE_END_SYMBOL)
-+ if (start <= addr && end > addr + len)
-+ return ! errnum;
-+# elif defined(HAVE_USCORE_START_SYMBOL) && defined (HAVE_USCORE_END_SYMBOL)
-+ if (_start <= addr && _end > addr + len)
-+ return ! errnum;
-+# endif
-+# else /* __PIC__ */
- static int start_addr (void)
- {
- int ret;
--# if defined(HAVE_START_SYMBOL)
-+# if defined(HAVE_START_SYMBOL)
- asm volatile ("movl $start, %0" : "=a" (ret));
--# elif defined(HAVE_USCORE_START_SYMBOL)
-+# elif defined(HAVE_USCORE_START_SYMBOL)
- asm volatile ("movl $_start, %0" : "=a" (ret));
--# endif
-+# else
-+ erk! /* function would return undefined data in this case - barf */
-+# endif
- return ret;
- }
-
- static int end_addr (void)
- {
- int ret;
--# if defined(HAVE_END_SYMBOL)
-+# if defined(HAVE_END_SYMBOL)
- asm volatile ("movl $end, %0" : "=a" (ret));
--# elif defined(HAVE_USCORE_END_SYMBOL)
-+# elif defined(HAVE_USCORE_END_SYMBOL)
- asm volatile ("movl $_end, %0" : "=a" (ret));
--# endif
-+# else
-+ erk! /* function would return undefined data in this case - barf */
-+# endif
- return ret;
- }
-
- if (start_addr () <= addr && end_addr () > addr + len)
- return ! errnum;
-+# endif /* __PIC__ */
- #endif /* GRUB_UTIL */
-
- if ((addr < RAW_ADDR (0x1000))
diff --git a/sys-boot/grub/files/grub-0.96-bounced-checks.patch b/sys-boot/grub/files/grub-0.96-bounced-checks.patch
deleted file mode 100644
index 6ad2c82ee0f4..000000000000
--- a/sys-boot/grub/files/grub-0.96-bounced-checks.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Remove tests that the grub maintainers say can be ignored.
-
-http://lists.gnu.org/archive/html/bug-grub/2004-05/msg00076.html
-
---- grub-0.96/stage2/size_test
-+++ grub-0.96/stage2/size_test
-@@ -36,9 +36,9 @@
- }
-
- # The bootloader area of a FFS partition is 14 sectors.
--check ffs_stage1_5 7168
--
--check ufs2_stage1_5 7168
-+#check ffs_stage1_5 7168
-+#
-+#check ufs2_stage1_5 7168
-
- # Stage 1.5 can be installed in the sectors immediately after MBR in the
- # first cylinder, so the size is (63 - 1) sectors.
diff --git a/sys-boot/grub/files/grub-0.96-gcc2.patch b/sys-boot/grub/files/grub-0.96-gcc2.patch
deleted file mode 100644
index 5600fb62b46d..000000000000
--- a/sys-boot/grub/files/grub-0.96-gcc2.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- grub-0.96/stage2/builtins.c 2005-07-24 15:46:56 +0200
-+++ grub-0.96.az/stage2/builtins.c 2005-07-24 15:47:40 +0200
-@@ -2012,14 +2012,14 @@
- int is_open = 0;
- /* If LBA is forced? */
- int is_force_lba = 0;
--
-- *stage2_first_buffer = old_sect + SECTOR_SIZE;
- #ifdef GRUB_UTIL
- /* If the Stage 2 is in a partition mounted by an OS, this will store
- the filename under the OS. */
- char *stage2_os_file = 0;
- #endif /* GRUB_UTIL */
-
-+ *stage2_first_buffer = old_sect + SECTOR_SIZE;
-+
- /* First, check the GNU-style long option. */
- while (1)
- {
diff --git a/sys-boot/grub/files/grub-0.96-gcc4.patch b/sys-boot/grub/files/grub-0.96-gcc4.patch
deleted file mode 100644
index 3201316fdc31..000000000000
--- a/sys-boot/grub/files/grub-0.96-gcc4.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-diff --exclude=.deps -ur grub-0.96-orig/grub/asmstub.c grub-0.96/grub/asmstub.c
---- grub-0.96-orig/grub/asmstub.c 2005-03-12 18:16:47.000000000 -0500
-+++ grub-0.96/grub/asmstub.c 2005-03-12 18:23:40.000000000 -0500
-@@ -90,7 +90,7 @@
- static jmp_buf env_for_exit;
-
- /* The current color for console. */
--static int console_current_color = A_NORMAL;
-+int console_current_color = A_NORMAL;
-
- /* The file descriptor for a serial device. */
- static int serial_fd = -1;
-@@ -113,31 +113,33 @@
- char *scratch, *simstack;
- int i;
-
-+ auto void doit (void);
-+
- /* We need a nested function so that we get a clean stack frame,
- regardless of how the code is optimized. */
-- static volatile void doit ()
-- {
-- /* Make sure our stack lives in the simulated memory area. */
-- asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n"
-- : "=&r" (realstack) : "r" (simstack));
--
-- /* Do a setjmp here for the stop command. */
-- if (! setjmp (env_for_exit))
-- {
-- /* Actually enter the generic stage2 code. */
-- status = 0;
-- init_bios_info ();
-- }
-- else
-- {
-- /* If ERRNUM is non-zero, then set STATUS to non-zero. */
-- if (errnum)
-- status = 1;
-- }
--
-- /* Replace our stack before we use any local variables. */
-- asm volatile ("movl %0, %%esp\n" : : "r" (realstack));
-- }
-+ auto void doit (void)
-+ {
-+ /* Make sure our stack lives in the simulated memory area. */
-+ asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n"
-+ : "=&r" (realstack) : "r" (simstack));
-+
-+ /* Do a setjmp here for the stop command. */
-+ if (! setjmp (env_for_exit))
-+ {
-+ /* Actually enter the generic stage2 code. */
-+ status = 0;
-+ init_bios_info ();
-+ }
-+ else
-+ {
-+ /* If ERRNUM is non-zero, then set STATUS to non-zero. */
-+ if (errnum)
-+ status = 1;
-+ }
-+
-+ /* Replace our stack before we use any local variables. */
-+ asm volatile ("movl %0, %%esp\n" : : "r" (realstack));
-+ }
-
- assert (grub_scratch_mem == 0);
- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15);
-diff --exclude=.deps -ur grub-0.96-orig/lib/device.c grub-0.96/lib/device.c
---- grub-0.96-orig/lib/device.c 2005-03-12 18:16:47.000000000 -0500
-+++ grub-0.96/lib/device.c 2005-03-12 18:21:48.000000000 -0500
-@@ -493,12 +493,15 @@
- static int
- read_device_map (FILE *fp, char **map, const char *map_file)
- {
-- static void show_error (int no, const char *msg)
-+ auto void show_error (int no, const char *msg);
-+ auto void show_warning (int no, const char *msg, ...);
-+
-+ auto void show_error (int no, const char *msg)
- {
- fprintf (stderr, "%s:%d: error: %s\n", map_file, no, msg);
- }
-
-- static void show_warning (int no, const char *msg, ...)
-+ auto void show_warning (int no, const char *msg, ...)
- {
- va_list ap;
-
-diff --exclude=.deps -ur grub-0.96-orig/stage2/builtins.c grub-0.96/stage2/builtins.c
---- grub-0.96-orig/stage2/builtins.c 2005-03-12 18:16:47.000000000 -0500
-+++ grub-0.96/stage2/builtins.c 2005-03-12 18:17:34.000000000 -0500
-@@ -141,9 +141,11 @@
- int num_entries = 0;
- int last_length = 0;
-
-+ auto void disk_read_blocklist_func (int sector, int offset, int length);
-+
- /* Collect contiguous blocks into one entry as many as possible,
- and print the blocklist notation on the screen. */
-- static void disk_read_blocklist_func (int sector, int offset, int length)
-+ auto void disk_read_blocklist_func (int sector, int offset, int length)
- {
- if (num_sectors > 0)
- {
-@@ -589,8 +591,10 @@
- "white"
- };
-
-+ auto int color_number (char *str);
-+
- /* Convert the color name STR into the magical number. */
-- static int color_number (char *str)
-+ auto int color_number (char *str)
- {
- char *ptr;
- int i;
-@@ -1906,8 +1910,11 @@
- char *stage2_os_file = 0;
- #endif /* GRUB_UTIL */
-
-+ auto void disk_read_savesect_func (int sector, int offset, int length);
-+ auto void disk_read_blocklist_func (int sector, int offset, int length);
-+
- /* Save the first sector of Stage2 in STAGE2_SECT. */
-- static void disk_read_savesect_func (int sector, int offset, int length)
-+ auto void disk_read_savesect_func (int sector, int offset, int length)
- {
- if (debug)
- printf ("[%d]", sector);
-@@ -1923,7 +1930,7 @@
-
- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and
- INSTALLSECT. */
-- static void disk_read_blocklist_func (int sector, int offset, int length)
-+ auto void disk_read_blocklist_func (int sector, int offset, int length)
- {
- if (debug)
- printf("[%d]", sector);
-@@ -3742,7 +3749,10 @@
- int to_code, from_code;
- int map_in_interrupt = 0;
-
-- static int find_key_code (char *key)
-+ auto int find_key_code (char *key);
-+ auto int find_ascii_code (char *key);
-+
-+ auto int find_key_code (char *key)
- {
- int i;
-
-@@ -3759,7 +3769,7 @@
- return 0;
- }
-
-- static int find_ascii_code (char *key)
-+ auto int find_ascii_code (char *key)
- {
- int i;
-
-diff --exclude=.deps -ur grub-0.96-orig/stage2/char_io.c grub-0.96/stage2/char_io.c
---- grub-0.96-orig/stage2/char_io.c 2005-03-12 18:16:47.000000000 -0500
-+++ grub-0.96/stage2/char_io.c 2005-03-12 18:20:23.000000000 -0500
-@@ -1206,7 +1206,10 @@
- memcheck (int addr, int len)
- {
- #ifdef GRUB_UTIL
-- static int start_addr (void)
-+ auto int start_addr (void);
-+ auto int end_addr (void);
-+
-+ auto int start_addr (void)
- {
- int ret;
- # if defined(HAVE_START_SYMBOL)
-@@ -1217,7 +1220,7 @@
- return ret;
- }
-
-- static int end_addr (void)
-+ auto int end_addr (void)
- {
- int ret;
- # if defined(HAVE_END_SYMBOL)
-diff --exclude=.deps -ur grub-0.96-orig/stage2/smp-imps.h grub-0.96/stage2/smp-imps.h
---- grub-0.96-orig/stage2/smp-imps.h 2005-03-12 18:16:47.000000000 -0500
-+++ grub-0.96/stage2/smp-imps.h 2005-03-12 18:19:12.000000000 -0500
-@@ -183,36 +183,6 @@
- */
-
- /*
-- * "imps_any_new_apics" is non-zero if any of the APICS (local or I/O)
-- * are *not* an 82489DX. This is useful to determine if more than 15
-- * CPUs can be supported (true if zero).
-- */
--extern int imps_any_new_apics;
--
--/*
-- * "imps_enabled" is non-zero if the probe sequence found IMPS
-- * information and was successful.
-- */
--extern int imps_enabled;
--
--/*
-- * This contains the local APIC hardware address.
-- */
--extern unsigned imps_lapic_addr;
--
--/*
-- * This represents the number of CPUs found.
-- */
--extern int imps_num_cpus;
--
--/*
-- * These map from virtual cpu numbers to APIC id's and back.
-- */
--extern unsigned char imps_cpu_apic_map[IMPS_MAX_CPUS];
--extern unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
--
--
--/*
- * This is the primary function for probing for Intel MPS 1.1/1.4
- * compatible hardware and BIOS information. While probing the CPUs
- * information returned from the BIOS, this also starts up each CPU
diff --git a/sys-boot/grub/files/grub-0.96-i2o-raid.patch b/sys-boot/grub/files/grub-0.96-i2o-raid.patch
deleted file mode 100644
index 5beec6f81198..000000000000
--- a/sys-boot/grub/files/grub-0.96-i2o-raid.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff -ru grub-0.96-orig/lib/device.c grub-0.96/lib/device.c
---- grub-0.96-orig/lib/device.c 2005-02-16 22:33:09.669384408 -0600
-+++ grub-0.96/lib/device.c 2005-02-17 00:47:05.127596672 -0600
-@@ -407,6 +407,12 @@
- {
- sprintf (name, "/dev/ataraid/d%c", unit + '0');
- }
-+
-+static void
-+get_i2o_disk_name (char *name, int unit)
-+{
-+ sprintf (name, "/dev/i2o/hd%c", unit + 'a');
-+}
- #endif
-
- /* Check if DEVICE can be read. If an error occurs, return zero,
-@@ -798,6 +804,26 @@
- }
- }
- }
-+
-+ /* I2O disks. */
-+ for (i = 0; i < 8; i++)
-+ {
-+ char name[16];
-+
-+ get_i2o_disk_name (name, i);
-+ if (check_device (name))
-+ {
-+ (*map)[num_hd + 0x80] = strdup (name);
-+ assert ((*map)[num_hd + 0x80]);
-+
-+ /* If the device map file is opened, write the map. */
-+ if (fp)
-+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
-+
-+ num_hd++;
-+ }
-+ }
-+
- #endif /* __linux__ */
-
- /* OK, close the device map file if opened. */
-@@ -858,8 +884,15 @@
- if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
- strcpy (dev + strlen(dev) - 5, "/part");
- }
-- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
--
-+ sprintf (dev + strlen(dev), "%s%d",
-+ /* Compaq smart and others */
-+ (strncmp(dev, "/dev/ida/", 9) == 0 ||
-+ strncmp(dev, "/dev/ataraid/", 13) == 0 ||
-+ strncmp(dev, "/dev/cciss/", 11) == 0 ||
-+ strncmp(dev, "/dev/rd/", 8) == 0 ||
-+ strncmp(dev, "/dev/i2o/", 9) == 0) ? "p" : "",
-+ ((partition >> 16) & 0xFF) + 1);
-+
- /* Open the partition. */
- fd = open (dev, O_RDWR);
- if (fd < 0)
diff --git a/sys-boot/grub/files/grub-0.96-netboot-pic.patch b/sys-boot/grub/files/grub-0.96-netboot-pic.patch
deleted file mode 100644
index 5cac692bb201..000000000000
--- a/sys-boot/grub/files/grub-0.96-netboot-pic.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Patch by the PaX Team to fix PIC/PIE problems.
-
-http://bugs.gentoo.org/show_bug.cgi?id=85566
-
---- netboot/main.c
-+++ netboot/main.c
-@@ -701,7 +701,7 @@
- "adcw %%ax,%0\n\t" /* add carry of previous iteration */
- "loop 1b\n\t"
- "adcw $0,%0" /* add carry of last iteration */
-- : "=b" (*sum), "=S"(start), "=c"(len)
-+ : "=r" (*sum), "=S"(start), "=c"(len)
- : "0"(*sum), "1"(start), "2"(len)
- : "ax", "cc"
- );
diff --git a/sys-boot/grub/files/grub-0.96-nxstack.patch b/sys-boot/grub/files/grub-0.96-nxstack.patch
deleted file mode 100644
index 5d305cefcd53..000000000000
--- a/sys-boot/grub/files/grub-0.96-nxstack.patch
+++ /dev/null
@@ -1,616 +0,0 @@
-diff -ur grub-0.96-orig/grub/asmstub.c grub-0.96/grub/asmstub.c
---- grub-0.96-orig/grub/asmstub.c 2004-03-12 11:01:49.000000000 -0600
-+++ grub-0.96/grub/asmstub.c 2005-03-10 02:47:00.133431480 -0600
-@@ -42,6 +42,7 @@
- #include <sys/time.h>
- #include <termios.h>
- #include <signal.h>
-+#include <sys/mman.h>
-
- #ifdef __linux__
- # include <sys/ioctl.h> /* ioctl */
-@@ -79,7 +80,7 @@
- struct apm_info apm_bios_info;
-
- /* Emulation requirements. */
--char *grub_scratch_mem = 0;
-+void *grub_scratch_mem = 0;
-
- struct geometry *disks = 0;
-
-@@ -103,14 +104,62 @@
- static unsigned int serial_speed;
- #endif /* SIMULATE_SLOWNESS_OF_SERIAL */
-
-+/* This allocates page-aligned storage of the specified size, which must be
-+ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE)
-+ */
-+#ifdef __linux__
-+static void *
-+grub_mmap_alloc(size_t len)
-+{
-+ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE;
-+
-+#ifdef MAP_32BIT
-+ mmap_flags |= MAP_32BIT;
-+#endif
-+ /* Mark the simulated stack executable, as GCC uses stack trampolines
-+ * to implement nested functions. */
-+ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0);
-+}
-+#else /* !defined(__linux__) */
-+static void *
-+grub_mmap_alloc(size_t len)
-+{
-+ int fd = 0, offset = 0, ret = 0;
-+ void *pa = MAP_FAILED;
-+ char template[] = "/tmp/grub_mmap_alloc_XXXXXX";
-+ errno_t e;
-+
-+ fd = mkstemp(template);
-+ if (fd < 0)
-+ return pa;
-+
-+ unlink(template);
-+
-+ ret = ftruncate(fd, len);
-+ if (ret < 0)
-+ return pa;
-+
-+ /* Mark the simulated stack executable, as GCC uses stack trampolines
-+ * to implement nested functions. */
-+ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC,
-+ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset);
-+
-+ e = errno;
-+ close(fd);
-+ errno = e;
-+ return pa;
-+}
-+#endif /* defined(__linux__) */
-+
- /* The main entry point into this mess. */
- int
- grub_stage2 (void)
- {
- /* These need to be static, because they survive our stack transitions. */
- static int status = 0;
-- static char *realstack;
-- char *scratch, *simstack;
-+ static void *realstack;
-+ void *simstack_alloc_base, *simstack;
-+ size_t simstack_size, page_size;
- int i;
-
- /* We need a nested function so that we get a clean stack frame,
-@@ -140,9 +189,35 @@
- }
-
- assert (grub_scratch_mem == 0);
-- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15);
-- assert (scratch);
-- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4);
-+
-+ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and
-+ * make sure the memory is aligned to a multiple of the system's
-+ * page size */
-+ page_size = sysconf (_SC_PAGESIZE);
-+ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15);
-+ if (simstack_size % page_size)
-+ {
-+ /* If we're not on a page_size boundary, round up to the next one */
-+ simstack_size &= ~(page_size-1);
-+ simstack_size += page_size;
-+ }
-+
-+ /* Add one for a PROT_NONE boundary page at each end. */
-+ simstack_size += 2 * page_size;
-+
-+ simstack_alloc_base = grub_mmap_alloc(simstack_size);
-+ assert (simstack_alloc_base != MAP_FAILED);
-+
-+ /* mark pages above and below our simstack area as innaccessable.
-+ * If the implementation we're using doesn't support that, then the
-+ * new protection modes are undefined. It's safe to just ignore
-+ * them, though. It'd be nice if we knew that we'd get a SEGV for
-+ * touching the area, but that's all. it'd be nice to have. */
-+ mprotect (simstack_alloc_base, page_size, PROT_NONE);
-+ mprotect ((void *)((unsigned long)simstack_alloc_base +
-+ simstack_size - page_size), page_size, PROT_NONE);
-+
-+ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size);
-
- /* FIXME: simulate the memory holes using mprot, if available. */
-
-@@ -215,7 +290,7 @@
- device_map = 0;
- free (disks);
- disks = 0;
-- free (scratch);
-+ munmap(simstack_alloc_base, simstack_size);
- grub_scratch_mem = 0;
-
- if (serial_device)
-Only in grub-0.96/stage2: .builtins.c.swp
-diff -ur grub-0.96-orig/stage2/builtins.c grub-0.96/stage2/builtins.c
---- grub-0.96-orig/stage2/builtins.c 2005-03-10 02:28:24.704002000 -0600
-+++ grub-0.96/stage2/builtins.c 2005-03-10 03:48:32.665081344 -0600
-@@ -131,61 +131,98 @@
- }
-
-
-+/* blocklist_read_helper nee disk_read_blocklist_func was a nested
-+ * function, to which pointers were taken and exposed globally. Even
-+ * in the GNU-C nested functions extension, they have local linkage,
-+ * and aren't guaranteed to be accessable *at all* outside of their
-+ * containing scope.
-+ *
-+ * Above and beyond all of that, the variables within blocklist_func_context
-+ * are originally local variables, with local (not even static) linkage,
-+ * from within blocklist_func. These were each referenced by
-+ * disk_read_blocklist_func, which is only called from other functions
-+ * through a globally scoped pointer.
-+ *
-+ * The documentation in GCC actually uses the words "all hell will break
-+ * loose" to describe this scenario.
-+ *
-+ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn
-+ * about it (possibly because of the scoping madness?)
-+ */
-+
-+static struct {
-+ int start_sector;
-+ int num_sectors;
-+ int num_entries;
-+ int last_length;
-+} blocklist_func_context = {
-+ .start_sector = 0,
-+ .num_sectors = 0,
-+ .num_entries = 0,
-+ .last_length = 0
-+};
-+
-+/* Collect contiguous blocks into one entry as many as possible,
-+ and print the blocklist notation on the screen. */
-+static void
-+blocklist_read_helper (int sector, int offset, int length)
-+{
-+ int *start_sector = &blocklist_func_context.start_sector;
-+ int *num_sectors = &blocklist_func_context.num_sectors;
-+ int *num_entries = &blocklist_func_context.num_entries;
-+ int *last_length = &blocklist_func_context.last_length;
-+
-+ if (*num_sectors > 0)
-+ {
-+ if (*start_sector + *num_sectors == sector
-+ && offset == 0 && *last_length == SECTOR_SIZE)
-+ {
-+ *num_sectors++;
-+ *last_length = length;
-+ return;
-+ }
-+ else
-+ {
-+ if (*last_length == SECTOR_SIZE)
-+ grub_printf ("%s%d+%d", *num_entries ? "," : "",
-+ *start_sector - part_start, *num_sectors);
-+ else if (*num_sectors > 1)
-+ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "",
-+ *start_sector - part_start, *num_sectors-1,
-+ *start_sector + *num_sectors-1 - part_start,
-+ *last_length);
-+ else
-+ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "",
-+ *start_sector - part_start, *last_length);
-+ *num_entries++;
-+ *num_sectors = 0;
-+ }
-+ }
-+
-+ if (offset > 0)
-+ {
-+ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "",
-+ sector-part_start, offset, offset+length);
-+ *num_entries++;
-+ }
-+ else
-+ {
-+ *start_sector = sector;
-+ *num_sectors = 1;
-+ *last_length = length;
-+ }
-+}
-+
- /* blocklist */
- static int
- blocklist_func (char *arg, int flags)
- {
- char *dummy = (char *) RAW_ADDR (0x100000);
-- int start_sector;
-- int num_sectors = 0;
-- int num_entries = 0;
-- int last_length = 0;
--
-- /* Collect contiguous blocks into one entry as many as possible,
-- and print the blocklist notation on the screen. */
-- static void disk_read_blocklist_func (int sector, int offset, int length)
-- {
-- if (num_sectors > 0)
-- {
-- if (start_sector + num_sectors == sector
-- && offset == 0 && last_length == SECTOR_SIZE)
-- {
-- num_sectors++;
-- last_length = length;
-- return;
-- }
-- else
-- {
-- if (last_length == SECTOR_SIZE)
-- grub_printf ("%s%d+%d", num_entries ? "," : "",
-- start_sector - part_start, num_sectors);
-- else if (num_sectors > 1)
-- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "",
-- start_sector - part_start, num_sectors-1,
-- start_sector + num_sectors-1 - part_start,
-- last_length);
-- else
-- grub_printf ("%s%d[0-%d]", num_entries ? "," : "",
-- start_sector - part_start, last_length);
-- num_entries++;
-- num_sectors = 0;
-- }
-- }
--
-- if (offset > 0)
-- {
-- grub_printf("%s%d[%d-%d]", num_entries ? "," : "",
-- sector-part_start, offset, offset+length);
-- num_entries++;
-- }
-- else
-- {
-- start_sector = sector;
-- num_sectors = 1;
-- last_length = length;
-- }
-- }
-
-+ int *start_sector = &blocklist_func_context.start_sector;
-+ int *num_sectors = &blocklist_func_context.num_sectors;
-+ int *num_entries = &blocklist_func_context.num_entries;
-+
- /* Open the file. */
- if (! grub_open (arg))
- return 1;
-@@ -204,15 +241,15 @@
- grub_printf (")");
-
- /* Read in the whole file to DUMMY. */
-- disk_read_hook = disk_read_blocklist_func;
-+ disk_read_hook = blocklist_read_helper;
- if (! grub_read (dummy, -1))
- goto fail;
-
- /* The last entry may not be printed yet. Don't check if it is a
- * full sector, since it doesn't matter if we read too much. */
-- if (num_sectors > 0)
-- grub_printf ("%s%d+%d", num_entries ? "," : "",
-- start_sector - part_start, num_sectors);
-+ if (*num_sectors > 0)
-+ grub_printf ("%s%d+%d", *num_entries ? "," : "",
-+ *start_sector - part_start, *num_sectors);
-
- grub_printf ("\n");
-
-@@ -1868,6 +1905,77 @@
-
-
- /* install */
-+static struct {
-+ int saved_sector;
-+ int installaddr;
-+ int installlist;
-+ char *stage2_first_buffer;
-+} install_func_context = {
-+ .saved_sector = 0,
-+ .installaddr = 0,
-+ .installlist = 0,
-+ .stage2_first_buffer = NULL,
-+};
-+
-+/* Save the first sector of Stage2 in STAGE2_SECT. */
-+/* Formerly disk_read_savesect_func with local scope inside install_func */
-+static void
-+install_savesect_helper(int sector, int offset, int length)
-+{
-+ if (debug)
-+ printf ("[%d]", sector);
-+
-+ /* ReiserFS has files which sometimes contain data not aligned
-+ on sector boundaries. Returning an error is better than
-+ silently failing. */
-+ if (offset != 0 || length != SECTOR_SIZE)
-+ errnum = ERR_UNALIGNED;
-+
-+ install_func_context.saved_sector = sector;
-+}
-+
-+/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */
-+/* Formerly disk_read_blocklist_func with local scope inside install_func */
-+static void
-+install_blocklist_helper (int sector, int offset, int length)
-+{
-+ int *installaddr = &install_func_context.installaddr;
-+ int *installlist = &install_func_context.installlist;
-+ char **stage2_first_buffer = &install_func_context.stage2_first_buffer;
-+ /* Was the last sector full? */
-+ static int last_length = SECTOR_SIZE;
-+
-+ if (debug)
-+ printf("[%d]", sector);
-+
-+ if (offset != 0 || last_length != SECTOR_SIZE)
-+ {
-+ /* We found a non-sector-aligned data block. */
-+ errnum = ERR_UNALIGNED;
-+ return;
-+ }
-+
-+ last_length = length;
-+
-+ if (*((unsigned long *) (*installlist - 4))
-+ + *((unsigned short *) *installlist) != sector
-+ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4)
-+ {
-+ *installlist -= 8;
-+
-+ if (*((unsigned long *) (*installlist - 8)))
-+ errnum = ERR_WONT_FIT;
-+ else
-+ {
-+ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4);
-+ *((unsigned long *) (*installlist - 4)) = sector;
-+ }
-+ }
-+
-+ *((unsigned short *) *installlist) += 1;
-+ *installaddr += 512;
-+}
-+
- static int
- install_func (char *arg, int flags)
- {
-@@ -1875,8 +1983,12 @@
- char *stage1_buffer = (char *) RAW_ADDR (0x100000);
- char *stage2_buffer = stage1_buffer + SECTOR_SIZE;
- char *old_sect = stage2_buffer + SECTOR_SIZE;
-- char *stage2_first_buffer = old_sect + SECTOR_SIZE;
-- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE;
-+ /* stage2_first_buffer used to be defined as:
-+ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */
-+ char **stage2_first_buffer = &install_func_context.stage2_first_buffer;
-+ /* and stage2_second_buffer was:
-+ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */
-+ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE;
- /* XXX: Probably SECTOR_SIZE is reasonable. */
- char *config_filename = stage2_second_buffer + SECTOR_SIZE;
- char *dummy = config_filename + SECTOR_SIZE;
-@@ -1885,10 +1997,11 @@
- int src_drive, src_partition, src_part_start;
- int i;
- struct geometry dest_geom, src_geom;
-- int saved_sector;
-+ int *saved_sector = &install_func_context.saved_sector;
- int stage2_first_sector, stage2_second_sector;
- char *ptr;
-- int installaddr, installlist;
-+ int *installaddr = &install_func_context.installaddr;
-+ int *installlist = &install_func_context.installlist;
- /* Point to the location of the name of a configuration file in Stage 2. */
- char *config_file_location;
- /* If FILE is a Stage 1.5? */
-@@ -1897,64 +2010,13 @@
- int is_open = 0;
- /* If LBA is forced? */
- int is_force_lba = 0;
-- /* Was the last sector full? */
-- int last_length = SECTOR_SIZE;
--
-+
-+ *stage2_first_buffer = old_sect + SECTOR_SIZE;
- #ifdef GRUB_UTIL
- /* If the Stage 2 is in a partition mounted by an OS, this will store
- the filename under the OS. */
- char *stage2_os_file = 0;
- #endif /* GRUB_UTIL */
--
-- /* Save the first sector of Stage2 in STAGE2_SECT. */
-- static void disk_read_savesect_func (int sector, int offset, int length)
-- {
-- if (debug)
-- printf ("[%d]", sector);
--
-- /* ReiserFS has files which sometimes contain data not aligned
-- on sector boundaries. Returning an error is better than
-- silently failing. */
-- if (offset != 0 || length != SECTOR_SIZE)
-- errnum = ERR_UNALIGNED;
--
-- saved_sector = sector;
-- }
--
-- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and
-- INSTALLSECT. */
-- static void disk_read_blocklist_func (int sector, int offset, int length)
-- {
-- if (debug)
-- printf("[%d]", sector);
--
-- if (offset != 0 || last_length != SECTOR_SIZE)
-- {
-- /* We found a non-sector-aligned data block. */
-- errnum = ERR_UNALIGNED;
-- return;
-- }
--
-- last_length = length;
--
-- if (*((unsigned long *) (installlist - 4))
-- + *((unsigned short *) installlist) != sector
-- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4)
-- {
-- installlist -= 8;
--
-- if (*((unsigned long *) (installlist - 8)))
-- errnum = ERR_WONT_FIT;
-- else
-- {
-- *((unsigned short *) (installlist + 2)) = (installaddr >> 4);
-- *((unsigned long *) (installlist - 4)) = sector;
-- }
-- }
--
-- *((unsigned short *) installlist) += 1;
-- installaddr += 512;
-- }
-
- /* First, check the GNU-style long option. */
- while (1)
-@@ -1987,10 +2049,10 @@
- addr = skip_to (0, file);
-
- /* Get the installation address. */
-- if (! safe_parse_maxint (&addr, &installaddr))
-+ if (! safe_parse_maxint (&addr, installaddr))
- {
- /* ADDR is not specified. */
-- installaddr = 0;
-+ *installaddr = 0;
- ptr = addr;
- errnum = 0;
- }
-@@ -2084,17 +2146,17 @@
- = (dest_drive & BIOS_FLAG_FIXED_DISK);
-
- /* Read the first sector of Stage 2. */
-- disk_read_hook = disk_read_savesect_func;
-- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE)
-+ disk_read_hook = install_savesect_helper;
-+ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE)
- goto fail;
-
-- stage2_first_sector = saved_sector;
-+ stage2_first_sector = *saved_sector;
-
- /* Read the second sector of Stage 2. */
- if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE)
- goto fail;
-
-- stage2_second_sector = saved_sector;
-+ stage2_second_sector = *saved_sector;
-
- /* Check for the version of Stage 2. */
- if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS))
-@@ -2110,27 +2172,27 @@
-
- /* If INSTALLADDR is not specified explicitly in the command-line,
- determine it by the Stage 2 id. */
-- if (! installaddr)
-+ if (! *installaddr)
- {
- if (! is_stage1_5)
- /* Stage 2. */
-- installaddr = 0x8000;
-+ *installaddr = 0x8000;
- else
- /* Stage 1.5. */
-- installaddr = 0x2000;
-+ *installaddr = 0x2000;
- }
-
- *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR))
- = stage2_first_sector;
- *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS))
-- = installaddr;
-+ = *installaddr;
- *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT))
-- = installaddr >> 4;
-+ = *installaddr >> 4;
-
-- i = (int) stage2_first_buffer + SECTOR_SIZE - 4;
-+ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4;
- while (*((unsigned long *) i))
- {
-- if (i < (int) stage2_first_buffer
-+ if (i < (int) *stage2_first_buffer
- || (*((int *) (i - 4)) & 0x80000000)
- || *((unsigned short *) i) >= 0xA00
- || *((short *) (i + 2)) == 0)
-@@ -2144,13 +2206,13 @@
- i -= 8;
- }
-
-- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4;
-- installaddr += SECTOR_SIZE;
-+ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4;
-+ *installaddr += SECTOR_SIZE;
-
- /* Read the whole of Stage2 except for the first sector. */
- grub_seek (SECTOR_SIZE);
-
-- disk_read_hook = disk_read_blocklist_func;
-+ disk_read_hook = install_blocklist_helper;
- if (! grub_read (dummy, -1))
- goto fail;
-
-@@ -2233,7 +2295,7 @@
- /* Skip the first sector. */
- grub_seek (SECTOR_SIZE);
-
-- disk_read_hook = disk_read_savesect_func;
-+ disk_read_hook = install_savesect_helper;
- if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE)
- goto fail;
-
-@@ -2303,7 +2365,7 @@
- else
- #endif /* GRUB_UTIL */
- {
-- if (! devwrite (saved_sector - part_start, 1, stage2_buffer))
-+ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer))
- goto fail;
- }
- }
-@@ -2325,7 +2387,7 @@
- goto fail;
- }
-
-- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE)
-+ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE)
- {
- fclose (fp);
- errnum = ERR_WRITE;
-@@ -2352,7 +2414,7 @@
- goto fail;
-
- if (! devwrite (stage2_first_sector - src_part_start, 1,
-- stage2_first_buffer))
-+ *stage2_first_buffer))
- goto fail;
-
- if (! devwrite (stage2_second_sector - src_part_start, 1,
-diff -ur grub-0.96-orig/stage2/shared.h grub-0.96/stage2/shared.h
---- grub-0.96-orig/stage2/shared.h 2005-03-10 02:28:24.754994000 -0600
-+++ grub-0.96/stage2/shared.h 2005-03-10 03:24:03.590414640 -0600
-@@ -36,8 +36,8 @@
-
- /* Maybe redirect memory requests through grub_scratch_mem. */
- #ifdef GRUB_UTIL
--extern char *grub_scratch_mem;
--# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem)
-+extern void *grub_scratch_mem;
-+# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem)
- # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4)
- #else
- # define RAW_ADDR(x) (x)
diff --git a/sys-boot/grub/files/grub-0.96-r1-gcc4.patch b/sys-boot/grub/files/grub-0.96-r1-gcc4.patch
deleted file mode 100644
index 87e5bc950387..000000000000
--- a/sys-boot/grub/files/grub-0.96-r1-gcc4.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-diff -ur --exclude '*.orig' grub-0.96-orig/grub/asmstub.c grub-0.96/grub/asmstub.c
---- grub-0.96-orig/grub/asmstub.c 2005-04-05 20:25:52.000000000 -0400
-+++ grub-0.96/grub/asmstub.c 2005-04-05 20:26:05.000000000 -0400
-@@ -91,7 +91,7 @@
- static jmp_buf env_for_exit;
-
- /* The current color for console. */
--static int console_current_color = A_NORMAL;
-+int console_current_color = A_NORMAL;
-
- /* The file descriptor for a serial device. */
- static int serial_fd = -1;
-@@ -162,31 +162,33 @@
- size_t simstack_size, page_size;
- int i;
-
-+ auto void doit (void);
-+
- /* We need a nested function so that we get a clean stack frame,
- regardless of how the code is optimized. */
-- static volatile void doit ()
-- {
-- /* Make sure our stack lives in the simulated memory area. */
-- asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n"
-- : "=&r" (realstack) : "r" (simstack));
--
-- /* Do a setjmp here for the stop command. */
-- if (! setjmp (env_for_exit))
-- {
-- /* Actually enter the generic stage2 code. */
-- status = 0;
-- init_bios_info ();
-- }
-- else
-- {
-- /* If ERRNUM is non-zero, then set STATUS to non-zero. */
-- if (errnum)
-- status = 1;
-- }
--
-- /* Replace our stack before we use any local variables. */
-- asm volatile ("movl %0, %%esp\n" : : "r" (realstack));
-- }
-+ auto void doit (void)
-+ {
-+ /* Make sure our stack lives in the simulated memory area. */
-+ asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n"
-+ : "=&r" (realstack) : "r" (simstack));
-+
-+ /* Do a setjmp here for the stop command. */
-+ if (! setjmp (env_for_exit))
-+ {
-+ /* Actually enter the generic stage2 code. */
-+ status = 0;
-+ init_bios_info ();
-+ }
-+ else
-+ {
-+ /* If ERRNUM is non-zero, then set STATUS to non-zero. */
-+ if (errnum)
-+ status = 1;
-+ }
-+
-+ /* Replace our stack before we use any local variables. */
-+ asm volatile ("movl %0, %%esp\n" : : "r" (realstack));
-+ }
-
- assert (grub_scratch_mem == 0);
-
-diff -ur --exclude '*.orig' grub-0.96-orig/lib/device.c grub-0.96/lib/device.c
---- grub-0.96-orig/lib/device.c 2005-04-05 20:25:52.000000000 -0400
-+++ grub-0.96/lib/device.c 2005-04-05 20:26:05.000000000 -0400
-@@ -499,12 +499,15 @@
- static int
- read_device_map (FILE *fp, char **map, const char *map_file)
- {
-- static void show_error (int no, const char *msg)
-+ auto void show_error (int no, const char *msg);
-+ auto void show_warning (int no, const char *msg, ...);
-+
-+ auto void show_error (int no, const char *msg)
- {
- fprintf (stderr, "%s:%d: error: %s\n", map_file, no, msg);
- }
-
-- static void show_warning (int no, const char *msg, ...)
-+ auto void show_warning (int no, const char *msg, ...)
- {
- va_list ap;
-
-diff -ur --exclude '*.orig' grub-0.96-orig/stage2/builtins.c grub-0.96/stage2/builtins.c
---- grub-0.96-orig/stage2/builtins.c 2005-04-05 20:25:52.000000000 -0400
-+++ grub-0.96/stage2/builtins.c 2005-04-05 20:26:05.000000000 -0400
-@@ -626,8 +626,10 @@
- "white"
- };
-
-+ auto int color_number (char *str);
-+
- /* Convert the color name STR into the magical number. */
-- static int color_number (char *str)
-+ auto int color_number (char *str)
- {
- char *ptr;
- int i;
-@@ -3804,7 +3806,10 @@
- int to_code, from_code;
- int map_in_interrupt = 0;
-
-- static int find_key_code (char *key)
-+ auto int find_key_code (char *key);
-+ auto int find_ascii_code (char *key);
-+
-+ auto int find_key_code (char *key)
- {
- int i;
-
-@@ -3821,7 +3826,7 @@
- return 0;
- }
-
-- static int find_ascii_code (char *key)
-+ auto int find_ascii_code (char *key)
- {
- int i;
-
-diff -ur --exclude '*.orig' grub-0.96-orig/stage2/char_io.c grub-0.96/stage2/char_io.c
---- grub-0.96-orig/stage2/char_io.c 2005-04-05 20:25:52.000000000 -0400
-+++ grub-0.96/stage2/char_io.c 2005-04-05 20:26:49.000000000 -0400
-@@ -1226,7 +1226,9 @@
- return ! errnum;
- # endif
- # else /* __PIC__ */
-- static int start_addr (void)
-+ auto int start_addr(void);
-+
-+ auto int start_addr (void)
- {
- int ret;
- # if defined(HAVE_START_SYMBOL)
-@@ -1239,7 +1241,9 @@
- return ret;
- }
-
-- static int end_addr (void)
-+ auto int end_addr(void);
-+
-+ auto int end_addr (void)
- {
- int ret;
- # if defined(HAVE_END_SYMBOL)
-diff -ur --exclude '*.orig' grub-0.96-orig/stage2/smp-imps.h grub-0.96/stage2/smp-imps.h
---- grub-0.96-orig/stage2/smp-imps.h 2005-04-05 20:25:52.000000000 -0400
-+++ grub-0.96/stage2/smp-imps.h 2005-04-05 20:26:05.000000000 -0400
-@@ -183,36 +183,6 @@
- */
-
- /*
-- * "imps_any_new_apics" is non-zero if any of the APICS (local or I/O)
-- * are *not* an 82489DX. This is useful to determine if more than 15
-- * CPUs can be supported (true if zero).
-- */
--extern int imps_any_new_apics;
--
--/*
-- * "imps_enabled" is non-zero if the probe sequence found IMPS
-- * information and was successful.
-- */
--extern int imps_enabled;
--
--/*
-- * This contains the local APIC hardware address.
-- */
--extern unsigned imps_lapic_addr;
--
--/*
-- * This represents the number of CPUs found.
-- */
--extern int imps_num_cpus;
--
--/*
-- * These map from virtual cpu numbers to APIC id's and back.
-- */
--extern unsigned char imps_cpu_apic_map[IMPS_MAX_CPUS];
--extern unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
--
--
--/*
- * This is the primary function for probing for Intel MPS 1.1/1.4
- * compatible hardware and BIOS information. While probing the CPUs
- * information returned from the BIOS, this also starts up each CPU
diff --git a/sys-boot/grub/files/grub-0.96-xfs-writable-string.patch b/sys-boot/grub/files/grub-0.96-xfs-writable-string.patch
deleted file mode 100644
index c46362598e83..000000000000
--- a/sys-boot/grub/files/grub-0.96-xfs-writable-string.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: stage2/fsys_xfs.c
-===================================================================
-RCS file: /cvsroot/grub/grub/stage2/fsys_xfs.c,v
-retrieving revision 1.4
-retrieving revision 1.5
-diff -u -b -B -r1.4 -r1.5
---- stage2/fsys_xfs.c 18 Jan 2004 19:47:18 -0000 1.4
-+++ stage2/fsys_xfs.c 8 May 2005 02:18:14 -0000 1.5
-@@ -334,7 +334,7 @@
- {
- int namelen = 1;
- int toread;
-- static char *usual[2] = {".", ".."};
-+ static char usual[2][3] = {".", ".."};
- static xfs_dir2_sf_entry_t *sfe;
- char *name = usual[0];
-
diff --git a/sys-boot/grub/files/splash.xpm.gz b/sys-boot/grub/files/splash.xpm.gz
deleted file mode 100644
index 8abf87065af2..000000000000
--- a/sys-boot/grub/files/splash.xpm.gz
+++ /dev/null
Binary files differ
diff --git a/sys-boot/grub/grub-0.92-r1.ebuild b/sys-boot/grub/grub-0.92-r1.ebuild
index a839872c5bfb..fbfd1d6968c1 100644
--- a/sys-boot/grub/grub-0.92-r1.ebuild
+++ b/sys-boot/grub/grub-0.92-r1.ebuild
@@ -1,15 +1,17 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.92-r1.ebuild,v 1.12 2005/07/28 14:52:47 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.92-r1.ebuild,v 1.13 2005/07/28 17:53:38 seemant Exp $
inherit mount-boot eutils flag-o-matic toolchain-funcs
-PATCHVER=0.1
+PATCHVER=0.2
DESCRIPTION="GNU GRUB boot loader"
HOMEPAGE="http://www.gnu.org/software/grub/"
SRC_URI="ftp://alpha.gnu.org/gnu/grub/${P}.tar.gz
- mirror://gentoo/${P}-gentoo-${PATCHVER}.tar.bz2
- http://dev.gentoo.org/~seemant/extras/${P}-gentoo-${PATCHVER}.tar.bz2"
+ http://dev.gentoo.org/~seemant/distfiles/${P}-gentoo-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~seemant/distfiles/splash.xpm.gz
+ mirror://gentoo/splash.xpm.gz
+ mirror://gentoo/${P}-gentoo-${PATCHVER}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
@@ -19,14 +21,18 @@ IUSE=""
DEPEND=">=sys-libs/ncurses-5.2-r5"
PROVIDE="virtual/bootloader"
+PATCHDIR=${WORKDIR}/gentoo
+
src_unpack() {
- unpack ${A}
- cd ${S}
- EPATCH_SUFFIX="patch" epatch ${WORKDIR}/patch
+ unpack ${A} ; cd ${S}
+
+ EPATCH_SUFFIX="patch"
+
+ epatch ${PATCHDIR}
if [ "`gcc-version`" = "3.3" ]
then
- epatch ${FILESDIR}/grub-0.93-gcc3.3.diff
+ epatch ${PATCHDIR}/gcc-3.3
fi
}
@@ -54,14 +60,15 @@ src_compile() {
}
src_install() {
- make prefix=${D}/usr \
+ make \
+ prefix=${D}/usr \
sbindir=${D}/sbin \
mandir=${D}/usr/share/man \
infodir=${D}/usr/share/info \
install || die "Installation failed."
- dodir /boot/grub
- cp ${FILESDIR}/splash.xpm.gz ${D}/boot/grub
+ insinto /boot/grub
+ doins ${DISTDIR}/splash.xpm.gz
dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO
}
diff --git a/sys-boot/grub/grub-0.94-r1.ebuild b/sys-boot/grub/grub-0.94-r1.ebuild
index 659ebc3659c5..94bec9b10d18 100644
--- a/sys-boot/grub/grub-0.94-r1.ebuild
+++ b/sys-boot/grub/grub-0.94-r1.ebuild
@@ -1,13 +1,17 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.94-r1.ebuild,v 1.21 2005/07/28 14:52:47 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.94-r1.ebuild,v 1.22 2005/07/28 17:53:38 seemant Exp $
inherit mount-boot eutils flag-o-matic toolchain-funcs
+PATCHVER=0.1
DESCRIPTION="GNU GRUB boot loader"
HOMEPAGE="http://www.gnu.org/software/grub/"
SRC_URI="ftp://alpha.gnu.org/gnu/grub/${P}.tar.gz
- mirror://gentoo/${P}-splash.patch.bz2"
+ http://dev.gentoo.org/~seemant/distfiles/${P}-gentoo-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~seemant/distfiles/splash.xpm.gz
+ mirror://gentoo/splash.xpm.gz
+ mirror://gentoo/${P}-gentoo-${PATCHVER}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
@@ -20,6 +24,8 @@ DEPEND="${RDEPEND}
>=sys-devel/autoconf-2.5"
PROVIDE="virtual/bootloader"
+PATCHDIR="${WORKDIR}/gentoo"
+
pkg_setup() {
if use amd64; then
has_m32 || die "your compiler seems to be unable to compile 32bit code. if you are on amd64, make sure you compile gcc with USE=multilib FEATURES=-sandbox"
@@ -30,16 +36,11 @@ pkg_setup() {
}
src_unpack() {
- unpack ${A}
- cd ${S}
+ unpack ${A}; cd ${S}
- epatch ${WORKDIR}/${P}-splash.patch
- epatch ${FILESDIR}/${P}-gcc3.4.patch
+ EPATCH_SUFFIX="patch"
- # This patchset is from SuSE -- hopefully fixes the acl symlink issue
- # And should add some boot prettification
-# epatch ${WORKDIR}/${PF}-gentoo.diff
-# epatch ${FILESDIR}/${P}-test.patch
+ epatch ${PATCHDIR}
}
src_compile() {
@@ -98,11 +99,14 @@ src_install() {
doexe nbgrub pxegrub stage2/stage2 stage2/stage2.netboot
insinto /boot/grub
- doins ${FILESDIR}/splash.xpm.gz
+ doins ${DISTDIR}/splash.xpm.gz
newins docs/menu.lst grub.conf.sample
dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO
newdoc docs/menu.lst grub.conf.sample
+
+ docinto gentoo
+ dodoc ${PATCHDIR}/README*
}
pkg_postinst() {
diff --git a/sys-boot/grub/grub-0.96-r1.ebuild b/sys-boot/grub/grub-0.96-r1.ebuild
index 6a73c8157b20..ab6f3764fd6e 100644
--- a/sys-boot/grub/grub-0.96-r1.ebuild
+++ b/sys-boot/grub/grub-0.96-r1.ebuild
@@ -1,14 +1,18 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.96-r1.ebuild,v 1.12 2005/07/04 11:35:49 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.96-r1.ebuild,v 1.13 2005/07/28 17:53:38 seemant Exp $
inherit mount-boot eutils flag-o-matic toolchain-funcs
+PATCHVER=0.1
DESCRIPTION="GNU GRUB boot loader"
HOMEPAGE="http://www.gnu.org/software/grub/"
SRC_URI="mirror://gentoo/${P}.tar.gz
ftp://alpha.gnu.org/gnu/${PN}/${P}.tar.gz
- mirror://gentoo/${PN}-0.95.20040823-splash.patch.bz2"
+ http://dev.gentoo.org/~seemant/distfiles/${PF}-gentoo-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~seemant/distfiles/splash.xpm.gz
+ mirror://gentoo/splash.xpm.gz
+ mirror://gentoo/${PF}-gentoo-${PATCHVER}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
@@ -21,6 +25,8 @@ DEPEND="${RDEPEND}
>=sys-devel/autoconf-2.5"
PROVIDE="virtual/bootloader"
+PATCHDIR="${WORKDIR}/gentoo"
+
pkg_setup() {
if use amd64; then
if ! has_m32; then
@@ -37,29 +43,10 @@ pkg_setup() {
}
src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${WORKDIR}"/${PN}-0.95.20040823-splash.patch
-
- # PIC patch by psm & kevin f. quinn #80693
- epatch "${FILESDIR}"/${P}-PIC.patch
-
- # disable testing of FFS and UFS2 images that always fail (bug #71811)
- epatch "${FILESDIR}"/${P}-bounced-checks.patch
+ unpack ${A} ; cd "${S}"
- # i2o RAID support #76143
- epatch "${FILESDIR}"/${P}-i2o-raid.patch
-
- # -fwritable-strings is deprecated; testing to see if we need it any more
- epatch "${FILESDIR}"/${PN}-0.95.20040823-warnings.patch
-
- # should fix NX segfaulting on amd64 and x86_64 by Peter Jones
- # http://lists.gnu.org/archive/html/bug-grub/2005-03/msg00011.html
- epatch "${FILESDIR}"/${P}-nxstack.patch
-
- # gcc4 patches; bug #85016
- epatch ${FILESDIR}/${P}-r1-gcc4.patch
+ EPATCH_SUFFIX="patch"
+ epatch ${PATCHDIR}
# a bunch of patches apply to raw autotool files
autoconf || die "autoconf failed"
@@ -130,11 +117,14 @@ src_install() {
use netboot && doexe nbgrub pxegrub stage2/stage2.netboot
insinto /boot/grub
- doins "${FILESDIR}"/splash.xpm.gz
+ doins ${DISTDIR}/splash.xpm.gz
newins docs/menu.lst grub.conf.sample
dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO
newdoc docs/menu.lst grub.conf.sample
+
+ docinto gentoo
+ dodoc ${PATCHDIR}/README.Gentoo.patches
}
pkg_postinst() {
diff --git a/sys-boot/grub/grub-0.96-r2.ebuild b/sys-boot/grub/grub-0.96-r2.ebuild
index 39523f3f45bb..cd91b2789670 100644
--- a/sys-boot/grub/grub-0.96-r2.ebuild
+++ b/sys-boot/grub/grub-0.96-r2.ebuild
@@ -1,14 +1,18 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.96-r2.ebuild,v 1.5 2005/07/24 13:43:10 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.96-r2.ebuild,v 1.6 2005/07/28 17:53:38 seemant Exp $
inherit mount-boot eutils flag-o-matic toolchain-funcs
+PATCHVER=0.1
DESCRIPTION="GNU GRUB boot loader"
HOMEPAGE="http://www.gnu.org/software/grub/"
SRC_URI="mirror://gentoo/${P}.tar.gz
ftp://alpha.gnu.org/gnu/${PN}/${P}.tar.gz
- mirror://gentoo/${PN}-0.95.20040823-splash.patch.bz2"
+ http://dev.gentoo.org/~seemant/distfiles/${PF}-gentoo-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~seemant/distfiles/splash.xpm.gz
+ mirror://gentoo/splash.xpm.gz
+ mirror://gentoo/${PF}-gentoo-${PATCHVER}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
@@ -21,6 +25,8 @@ DEPEND="${RDEPEND}
>=sys-devel/autoconf-2.5"
PROVIDE="virtual/bootloader"
+PATCHDIR="${WORKDIR}/gentoo"
+
pkg_setup() {
if use amd64; then
if ! has_m32; then
@@ -37,38 +43,10 @@ pkg_setup() {
}
src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${WORKDIR}"/${PN}-0.95.20040823-splash.patch
-
- # PIC patch by psm & kevin f. quinn #80693
- epatch "${FILESDIR}"/${P}-PIC.patch
-
- # disable testing of FFS and UFS2 images that always fail (bug #71811)
- epatch "${FILESDIR}"/${P}-bounced-checks.patch
-
- # i2o RAID support #76143
- epatch "${FILESDIR}"/${P}-i2o-raid.patch
-
- # -fwritable-strings is deprecated; testing to see if we need it any more
- epatch "${FILESDIR}"/${PN}-0.95.20040823-warnings.patch
+ unpack ${A} ; cd "${S}"
- # should fix NX segfaulting on amd64 and x86_64 by Peter Jones
- # http://lists.gnu.org/archive/html/bug-grub/2005-03/msg00011.html
- epatch "${FILESDIR}"/${P}-nxstack.patch
-
- # Remove writable-string code from xfs support code (#90845)
- epatch "${FILESDIR}"/${P}-xfs-writable-string.patch
-
- # gcc4 patches; bug #85016
- epatch "${FILESDIR}"/${P}-r1-gcc4.patch
-
- # fix PIC issues in netboot code #85566
- epatch "${FILESDIR}"/${P}-netboot-pic.patch
-
- # fix building with gcc2
- epatch "${FILESDIR}"/${P}-gcc2.patch
+ EPATCH_SUFFIX="patch"
+ epatch ${PATCHDIR}
# a bunch of patches apply to raw autotool files
autoconf || die "autoconf failed"
@@ -139,11 +117,14 @@ src_install() {
use netboot && doexe nbgrub pxegrub stage2/stage2.netboot
insinto /boot/grub
- doins "${FILESDIR}"/splash.xpm.gz
+ doins ${DISTDIR}/splash.xpm.gz
newins docs/menu.lst grub.conf.sample
dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO
newdoc docs/menu.lst grub.conf.sample
+
+ docinto gentoo
+ dodoc ${PATCHDIR}/README*
}
pkg_postinst() {