FreeBSD Bugzilla – Attachment 111677 Details for
Bug 152978
[maintainer update] sysutils/grub2-1.98
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 2.35 KB, created by
Rick Richard
on 2010-12-10 06:40:08 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Rick Richard
Created:
2010-12-10 06:40:08 UTC
Size:
2.35 KB
patch
obsolete
>diff -ruN grub2.orig/Makefile grub2/Makefile >--- grub2.orig/Makefile 2010-10-12 08:48:46.000000000 -0700 >+++ grub2/Makefile 2010-12-09 21:56:58.823684162 -0800 >@@ -7,6 +7,7 @@ > > PORTNAME= grub2 > PORTVERSION= 1.98 >+PORTREVISION= 1 > CATEGORIES= sysutils > MASTER_SITES= ftp://alpha.gnu.org/gnu/grub/ > DISTNAME= grub-${PORTVERSION} >diff -ruN grub2.orig/files/patch-bsd-partmap grub2/files/patch-bsd-partmap >--- grub2.orig/files/patch-bsd-partmap 1969-12-31 16:00:00.000000000 -0800 >+++ grub2/files/patch-bsd-partmap 2010-12-09 21:56:58.823684162 -0800 >@@ -0,0 +1,47 @@ >+--- include/grub/msdos_partition.h 2010-03-06 20:51:37.000000000 +0000 >++++ include/grub/msdos_partition.h 2010-11-17 18:22:29.000000000 +0000 >+@@ -57,6 +57,7 @@ >+ #define GRUB_PC_PARTITION_BSD_LABEL_SECTOR 1 >+ #define GRUB_PC_PARTITION_BSD_LABEL_MAGIC 0x82564557 >+ #define GRUB_PC_PARTITION_BSD_MAX_ENTRIES 8 >++#define GRUB_PC_PARTITION_BSD_RAW_PART 2 >+ >+ /* BSD partition types. */ >+ #define GRUB_PC_PARTITION_BSD_TYPE_UNUSED 0 >+--- partmap/msdos.c 2010-03-06 20:51:37.000000000 +0000 >++++ partmap/msdos.c 2010-11-17 18:26:26.000000000 +0000 >+@@ -176,6 +176,8 @@ >+ /* Check if this is a BSD partition. */ >+ if (grub_msdos_partition_is_bsd (e->type)) >+ { >++ grub_uint32_t slice_offset = 0, raw_offset = 0; >++ >+ /* Check if the BSD label is within the DOS partition. */ >+ if (p.len <= GRUB_PC_PARTITION_BSD_LABEL_SECTOR) >+ { >+@@ -200,6 +202,15 @@ >+ label.magic, p.index); >+ continue; >+ } >++ >++ /* Compensate for relative addressing in FreeBSD. */ >++ if (e->type == GRUB_PC_PARTITION_TYPE_FREEBSD >++ && GRUB_PC_PARTITION_BSD_RAW_PART < grub_cpu_to_le16 (label.num_partitions)) >++ { >++ slice_offset = p.start; >++ raw_offset = grub_le_to_cpu32 (label.entries[GRUB_PC_PARTITION_BSD_RAW_PART].offset); >++ } >++ >+ for (pcdata.bsd_part = 0; >+ pcdata.bsd_part < grub_cpu_to_le16 (label.num_partitions); >+ pcdata.bsd_part++) >+@@ -207,7 +218,9 @@ >+ struct grub_msdos_partition_bsd_entry *be >+ = label.entries + pcdata.bsd_part; >+ >++ if (grub_le_to_cpu32 (be->offset) < raw_offset) >++ continue; >+- p.start = grub_le_to_cpu32 (be->offset); >++ p.start = grub_le_to_cpu32 (be->offset) - raw_offset + slice_offset; >+ p.len = grub_le_to_cpu32 (be->size); >+ pcdata.bsd_type = be->fs_type;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 152978
: 111677
Working