--- mac-fdisk-0.1.orig/fdisklabel.h.old 1997-01-14 20:34:13.000000000 +0000 +++ mac-fdisk-0.1.orig/fdisklabel.h 2018-06-01 06:13:09.065722112 +0000 @@ -35,27 +35,23 @@ #define BSD_MAXPARTITIONS 8 #define BSD_LINUX_BOOTDIR "/usr/ucb/mdec" -#if defined (i386) +/* Thanks, util-linux! */ +#if defined (i386) || defined (__sparc__) || defined (__arm__) || defined (__mips__) || defined (__s390__) || defined (__sh__) || defined(__x86_64__) #define BSD_LABELSECTOR 1 #define BSD_LABELOFFSET 0 -#define BSD_BBSIZE 8192 /* size of boot area, with label */ -#define BSD_SBSIZE 8192 /* max size of fs superblock */ -#elif defined (__alpha__) -#error LABELSECTOR, LABELOFFSET, BBSIZE & SBSIZE are undefined for __alpha__ -#define BSD_LABELSECTOR 0 -#define BSD_LABELOFFSET 0 -#define BSD_BBSIZE 0 -#define BSD_SBSIZE 0 -#elif defined (__powerpc__) -/* LABELSECTOR, LABELOFFSET, BBSIZE & SBSIZE are undefined for __powerpc__ */ +#elif defined (__alpha__) || defined (__powerpc__) || defined (__ia64__) || defined (__hppa__) #define BSD_LABELSECTOR 0 +#define BSD_LABELOFFSET 64 +#elif defined (__s390__) || defined (__s390x__) +#define BSD_LABELSECTOR 1 #define BSD_LABELOFFSET 0 -#define BSD_BBSIZE 0 -#define BSD_SBSIZE 0 #else #error unknown architecture #endif +#define BSD_BBSIZE 8192 /* size of boot area, with label */ +#define BSD_SBSIZE 8192 /* max size of fs superblock */ + struct disklabel { u_long d_magic; /* the magic number */ short d_type; /* drive type */ --- mac-fdisk-0.1.orig/fdisklabel.c.old 2018-06-01 06:19:35.113347714 +0000 +++ mac-fdisk-0.1.orig/fdisklabel.c 2018-06-01 06:20:36.734576024 +0000 @@ -82,10 +82,8 @@ static struct disklabel bsd_dlabel; static char buffer[BSD_BBSIZE]; -#if defined (i386) static struct partition *bsd_part; static int bsd_part_index; -#endif void bmenu (void) @@ -373,10 +371,11 @@ while (1) if ((c = tolower (read_char ("Do you want to create a disklabel? (y/n) "))) == 'y') { -#if defined (i386) - if (bsd_initlabel (bsd_part, &bsd_dlabel, bsd_part_index) == 1) -#elif defined (__alpha__) || defined (__powerpc__) || defined (__mc68000__) +#if defined (__alpha__) || defined (__powerpc__) || defined (__hppa__) || \ + defined (__s390__) || defined (__s390x__) || defined(__mc68000__) if (bsd_initlabel (NULL, &bsd_dlabel, 0) == 1) +#else + if (bsd_initlabel (bsd_part, &bsd_dlabel, bsd_part_index) == 1) #endif { bsd_print_disklabel (1);