summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsrs5694 <srs5694@users.sourceforge.net>2011-06-10 01:16:51 -0400
committersrs5694 <srs5694@users.sourceforge.net>2011-06-10 01:16:51 -0400
commit6aae2a9b70e9f88926baad94c1eea40e0b534f01 (patch)
tree1e6d2e25970f415091b8f6518eb1f6d8e0988847
parent699941e25a1fcf0beec124203747c8ed20842989 (diff)
downloadsgdisk-6aae2a9b70e9f88926baad94c1eea40e0b534f01.tar.gz
Miscellaneous bug fixes.
-rw-r--r--Makefile536
-rw-r--r--NEWS15
-rw-r--r--basicmbr.cc16
-rw-r--r--basicmbr.h2
-rw-r--r--bsd.cc4
-rw-r--r--diskio-unix.cc10
-rw-r--r--diskio-windows.cc10
-rw-r--r--gdisk.84
-rw-r--r--gpt.cc30
-rw-r--r--gpt.h3
-rw-r--r--gpttext.cc12
-rw-r--r--mbr.h2
-rw-r--r--parttypes.cc2
-rw-r--r--support.cc115
-rw-r--r--support.h4
15 files changed, 689 insertions, 76 deletions
diff --git a/Makefile b/Makefile
index 06c576f..66fdc64 100644
--- a/Makefile
+++ b/Makefile
@@ -14,10 +14,10 @@ DEPEND= makedepend $(CXXFLAGS)
all: gdisk sgdisk fixparts
gdisk: $(LIB_OBJS) gdisk.o gpttext.o
- $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -luuid -o gdisk
+ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk
sgdisk: $(LIB_OBJS) sgdisk.o
- $(CXX) $(LIB_OBJS) sgdisk.o $(LDFLAGS) -licuio -luuid -lpopt -o sgdisk
+ $(CXX) $(LIB_OBJS) sgdisk.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk
fixparts: $(MBR_LIB_OBJS) fixparts.o
$(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts
@@ -36,3 +36,535 @@ $(OBJS):
$(CRITICAL_CXX_FLAGS)
# DO NOT DELETE
+
+attributes.o: /usr/include/stdint.h /usr/include/features.h
+attributes.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+attributes.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+attributes.o: /usr/include/bits/wchar.h /usr/include/stdio.h
+attributes.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+attributes.o: /usr/include/libio.h /usr/include/_G_config.h
+attributes.o: /usr/include/wchar.h /usr/include/bits/stdio_lim.h
+attributes.o: /usr/include/bits/sys_errlist.h attributes.h support.h
+attributes.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+attributes.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+attributes.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+attributes.o: /usr/include/sys/types.h /usr/include/time.h
+attributes.o: /usr/include/sys/select.h /usr/include/bits/select.h
+attributes.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+attributes.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+attributes.o: /usr/include/alloca.h
+basicmbr.o: /usr/include/stdio.h /usr/include/features.h
+basicmbr.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+basicmbr.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+basicmbr.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+basicmbr.o: /usr/include/libio.h /usr/include/_G_config.h
+basicmbr.o: /usr/include/wchar.h /usr/include/bits/stdio_lim.h
+basicmbr.o: /usr/include/bits/sys_errlist.h /usr/include/stdlib.h
+basicmbr.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+basicmbr.o: /usr/include/endian.h /usr/include/bits/endian.h
+basicmbr.o: /usr/include/bits/byteswap.h /usr/include/sys/types.h
+basicmbr.o: /usr/include/time.h /usr/include/sys/select.h
+basicmbr.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+basicmbr.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+basicmbr.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
+basicmbr.o: /usr/include/stdint.h /usr/include/bits/wchar.h
+basicmbr.o: /usr/include/fcntl.h /usr/include/bits/fcntl.h
+basicmbr.o: /usr/include/bits/stat.h /usr/include/string.h
+basicmbr.o: /usr/include/xlocale.h /usr/include/sys/stat.h
+basicmbr.o: /usr/include/errno.h /usr/include/bits/errno.h
+basicmbr.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+basicmbr.o: /usr/include/asm-generic/errno.h
+basicmbr.o: /usr/include/asm-generic/errno-base.h mbr.h gptpart.h support.h
+basicmbr.o: parttypes.h /usr/include/unicode/ustream.h
+basicmbr.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+basicmbr.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+basicmbr.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+basicmbr.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+basicmbr.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+basicmbr.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+basicmbr.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+basicmbr.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+basicmbr.o: /usr/include/unicode/std_string.h
+basicmbr.o: /usr/include/unicode/stringpiece.h
+basicmbr.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+basicmbr.o: /usr/include/sys/time.h attributes.h diskio.h
+basicmbr.o: /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h
+basicmbr.o: /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h
+basicmbr.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
+basicmbr.o: /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h
+basicmbr.o: /usr/include/sys/ttydefaults.h basicmbr.h mbrpart.h
+bsd.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h
+bsd.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
+bsd.o: /usr/include/gnu/stubs-64.h /usr/include/bits/types.h
+bsd.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+bsd.o: /usr/include/_G_config.h /usr/include/wchar.h
+bsd.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+bsd.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+bsd.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+bsd.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+bsd.o: /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h
+bsd.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+bsd.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+bsd.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
+bsd.o: /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/fcntl.h
+bsd.o: /usr/include/bits/fcntl.h /usr/include/bits/stat.h
+bsd.o: /usr/include/sys/stat.h /usr/include/errno.h /usr/include/bits/errno.h
+bsd.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+bsd.o: /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h
+bsd.o: support.h bsd.h gptpart.h parttypes.h /usr/include/unicode/ustream.h
+bsd.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+bsd.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+bsd.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+bsd.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+bsd.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+bsd.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+bsd.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+bsd.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+bsd.o: /usr/include/unicode/std_string.h /usr/include/unicode/stringpiece.h
+bsd.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+bsd.o: /usr/include/sys/time.h attributes.h diskio.h /usr/include/sys/ioctl.h
+bsd.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
+bsd.o: /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h
+bsd.o: /usr/include/asm/ioctl.h /usr/include/asm-generic/ioctl.h
+bsd.o: /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h
+crc32.o: /usr/include/stdio.h /usr/include/features.h
+crc32.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+crc32.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+crc32.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+crc32.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
+crc32.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+crc32.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+crc32.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+crc32.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+crc32.o: /usr/include/sys/types.h /usr/include/time.h
+crc32.o: /usr/include/sys/select.h /usr/include/bits/select.h
+crc32.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+crc32.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+crc32.o: /usr/include/alloca.h crc32.h /usr/include/stdint.h
+crc32.o: /usr/include/bits/wchar.h
+diskio.o: /usr/include/sys/ioctl.h /usr/include/features.h
+diskio.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+diskio.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+diskio.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
+diskio.o: /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h
+diskio.o: /usr/include/asm/ioctl.h /usr/include/asm-generic/ioctl.h
+diskio.o: /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h
+diskio.o: /usr/include/stdint.h /usr/include/bits/wchar.h
+diskio.o: /usr/include/errno.h /usr/include/bits/errno.h
+diskio.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+diskio.o: /usr/include/asm-generic/errno.h
+diskio.o: /usr/include/asm-generic/errno-base.h /usr/include/fcntl.h
+diskio.o: /usr/include/bits/fcntl.h /usr/include/sys/types.h
+diskio.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+diskio.o: /usr/include/time.h /usr/include/endian.h
+diskio.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+diskio.o: /usr/include/sys/select.h /usr/include/bits/select.h
+diskio.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+diskio.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+diskio.o: /usr/include/bits/stat.h /usr/include/sys/stat.h support.h
+diskio.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+diskio.o: /usr/include/bits/waitstatus.h /usr/include/alloca.h diskio.h
+diskio-unix.o: /usr/include/sys/ioctl.h /usr/include/features.h
+diskio-unix.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+diskio-unix.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+diskio-unix.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
+diskio-unix.o: /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h
+diskio-unix.o: /usr/include/asm/ioctl.h /usr/include/asm-generic/ioctl.h
+diskio-unix.o: /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h
+diskio-unix.o: /usr/include/string.h /usr/include/xlocale.h
+diskio-unix.o: /usr/include/stdint.h /usr/include/bits/wchar.h
+diskio-unix.o: /usr/include/errno.h /usr/include/bits/errno.h
+diskio-unix.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+diskio-unix.o: /usr/include/asm-generic/errno.h
+diskio-unix.o: /usr/include/asm-generic/errno-base.h /usr/include/fcntl.h
+diskio-unix.o: /usr/include/bits/fcntl.h /usr/include/sys/types.h
+diskio-unix.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+diskio-unix.o: /usr/include/time.h /usr/include/endian.h
+diskio-unix.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+diskio-unix.o: /usr/include/sys/select.h /usr/include/bits/select.h
+diskio-unix.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+diskio-unix.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+diskio-unix.o: /usr/include/bits/stat.h /usr/include/sys/stat.h diskio.h
+diskio-unix.o: support.h /usr/include/stdlib.h /usr/include/bits/waitflags.h
+diskio-unix.o: /usr/include/bits/waitstatus.h /usr/include/alloca.h
+diskio-windows.o: /usr/include/stdio.h /usr/include/features.h
+diskio-windows.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+diskio-windows.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+diskio-windows.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+diskio-windows.o: /usr/include/libio.h /usr/include/_G_config.h
+diskio-windows.o: /usr/include/wchar.h /usr/include/bits/stdio_lim.h
+diskio-windows.o: /usr/include/bits/sys_errlist.h /usr/include/stdint.h
+diskio-windows.o: /usr/include/bits/wchar.h /usr/include/errno.h
+diskio-windows.o: /usr/include/bits/errno.h /usr/include/linux/errno.h
+diskio-windows.o: /usr/include/asm/errno.h /usr/include/asm-generic/errno.h
+diskio-windows.o: /usr/include/asm-generic/errno-base.h /usr/include/fcntl.h
+diskio-windows.o: /usr/include/bits/fcntl.h /usr/include/sys/types.h
+diskio-windows.o: /usr/include/time.h /usr/include/endian.h
+diskio-windows.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+diskio-windows.o: /usr/include/sys/select.h /usr/include/bits/select.h
+diskio-windows.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+diskio-windows.o: /usr/include/sys/sysmacros.h
+diskio-windows.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/stat.h
+diskio-windows.o: /usr/include/sys/stat.h support.h /usr/include/stdlib.h
+diskio-windows.o: /usr/include/bits/waitflags.h
+diskio-windows.o: /usr/include/bits/waitstatus.h /usr/include/alloca.h
+diskio-windows.o: diskio.h /usr/include/sys/ioctl.h
+diskio-windows.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
+diskio-windows.o: /usr/include/asm-generic/ioctls.h
+diskio-windows.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
+diskio-windows.o: /usr/include/asm-generic/ioctl.h
+diskio-windows.o: /usr/include/bits/ioctl-types.h
+diskio-windows.o: /usr/include/sys/ttydefaults.h
+fixparts.o: /usr/include/stdio.h /usr/include/features.h
+fixparts.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+fixparts.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+fixparts.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+fixparts.o: /usr/include/libio.h /usr/include/_G_config.h
+fixparts.o: /usr/include/wchar.h /usr/include/bits/stdio_lim.h
+fixparts.o: /usr/include/bits/sys_errlist.h /usr/include/string.h
+fixparts.o: /usr/include/xlocale.h basicmbr.h /usr/include/stdint.h
+fixparts.o: /usr/include/bits/wchar.h /usr/include/sys/types.h
+fixparts.o: /usr/include/time.h /usr/include/endian.h
+fixparts.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+fixparts.o: /usr/include/sys/select.h /usr/include/bits/select.h
+fixparts.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+fixparts.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+fixparts.o: diskio.h /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h
+fixparts.o: /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h
+fixparts.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
+fixparts.o: /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h
+fixparts.o: /usr/include/sys/ttydefaults.h support.h /usr/include/stdlib.h
+fixparts.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+fixparts.o: /usr/include/alloca.h mbrpart.h
+gdisk.o: /usr/include/stdio.h /usr/include/features.h
+gdisk.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+gdisk.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+gdisk.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+gdisk.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
+gdisk.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+gdisk.o: /usr/include/string.h /usr/include/xlocale.h mbr.h
+gdisk.o: /usr/include/stdint.h /usr/include/bits/wchar.h
+gdisk.o: /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h
+gdisk.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+gdisk.o: /usr/include/sys/select.h /usr/include/bits/select.h
+gdisk.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+gdisk.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+gdisk.o: gptpart.h support.h /usr/include/stdlib.h
+gdisk.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+gdisk.o: /usr/include/alloca.h parttypes.h /usr/include/unicode/ustream.h
+gdisk.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+gdisk.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+gdisk.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+gdisk.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+gdisk.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+gdisk.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+gdisk.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+gdisk.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+gdisk.o: /usr/include/unicode/std_string.h /usr/include/unicode/stringpiece.h
+gdisk.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+gdisk.o: /usr/include/sys/time.h attributes.h diskio.h
+gdisk.o: /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h
+gdisk.o: /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h
+gdisk.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
+gdisk.o: /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h
+gdisk.o: /usr/include/sys/ttydefaults.h basicmbr.h mbrpart.h gpttext.h gpt.h
+gdisk.o: bsd.h
+gpt.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h
+gpt.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
+gpt.o: /usr/include/gnu/stubs-64.h /usr/include/bits/types.h
+gpt.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+gpt.o: /usr/include/_G_config.h /usr/include/wchar.h
+gpt.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+gpt.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+gpt.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+gpt.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+gpt.o: /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h
+gpt.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+gpt.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+gpt.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
+gpt.o: /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/fcntl.h
+gpt.o: /usr/include/bits/fcntl.h /usr/include/bits/stat.h
+gpt.o: /usr/include/string.h /usr/include/xlocale.h /usr/include/math.h
+gpt.o: /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h
+gpt.o: /usr/include/bits/huge_vall.h /usr/include/bits/inf.h
+gpt.o: /usr/include/bits/nan.h /usr/include/bits/mathdef.h
+gpt.o: /usr/include/bits/mathcalls.h /usr/include/sys/stat.h
+gpt.o: /usr/include/errno.h /usr/include/bits/errno.h
+gpt.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+gpt.o: /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h
+gpt.o: crc32.h gpt.h gptpart.h support.h parttypes.h
+gpt.o: /usr/include/unicode/ustream.h /usr/include/unicode/unistr.h
+gpt.o: /usr/include/unicode/utypes.h /usr/include/unicode/umachine.h
+gpt.o: /usr/include/unicode/ptypes.h /usr/include/unicode/platform.h
+gpt.o: /usr/include/inttypes.h /usr/include/unicode/urename.h
+gpt.o: /usr/include/unicode/uvernum.h /usr/include/unicode/utf.h
+gpt.o: /usr/include/unicode/utf8.h /usr/include/unicode/utf16.h
+gpt.o: /usr/include/unicode/utf_old.h /usr/include/unicode/uversion.h
+gpt.o: /usr/include/unicode/uconfig.h /usr/include/unicode/rep.h
+gpt.o: /usr/include/unicode/uobject.h /usr/include/unicode/std_string.h
+gpt.o: /usr/include/unicode/stringpiece.h /usr/include/unicode/bytestream.h
+gpt.o: guid.h /usr/include/uuid/uuid.h /usr/include/sys/time.h attributes.h
+gpt.o: mbr.h diskio.h /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h
+gpt.o: /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h
+gpt.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
+gpt.o: /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h
+gpt.o: /usr/include/sys/ttydefaults.h basicmbr.h mbrpart.h bsd.h
+gptpart.o: /usr/include/unicode/ustdio.h /usr/include/stdio.h
+gptpart.o: /usr/include/features.h /usr/include/sys/cdefs.h
+gptpart.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
+gptpart.o: /usr/include/gnu/stubs-64.h /usr/include/bits/types.h
+gptpart.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+gptpart.o: /usr/include/_G_config.h /usr/include/wchar.h
+gptpart.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+gptpart.o: /usr/include/unicode/utypes.h /usr/include/unicode/umachine.h
+gptpart.o: /usr/include/unicode/ptypes.h /usr/include/sys/types.h
+gptpart.o: /usr/include/time.h /usr/include/endian.h
+gptpart.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+gptpart.o: /usr/include/sys/select.h /usr/include/bits/select.h
+gptpart.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+gptpart.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+gptpart.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+gptpart.o: /usr/include/stdint.h /usr/include/bits/wchar.h
+gptpart.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+gptpart.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+gptpart.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+gptpart.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+gptpart.o: /usr/include/unicode/ucnv.h /usr/include/unicode/ucnv_err.h
+gptpart.o: /usr/include/unicode/uenum.h /usr/include/unicode/localpointer.h
+gptpart.o: /usr/include/unicode/utrans.h /usr/include/unicode/urep.h
+gptpart.o: /usr/include/unicode/parseerr.h /usr/include/string.h
+gptpart.o: /usr/include/xlocale.h gptpart.h support.h /usr/include/stdlib.h
+gptpart.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+gptpart.o: /usr/include/alloca.h parttypes.h /usr/include/unicode/ustream.h
+gptpart.o: /usr/include/unicode/unistr.h /usr/include/unicode/rep.h
+gptpart.o: /usr/include/unicode/uobject.h /usr/include/unicode/std_string.h
+gptpart.o: /usr/include/unicode/stringpiece.h
+gptpart.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+gptpart.o: /usr/include/sys/time.h attributes.h
+gpttext.o: /usr/include/string.h /usr/include/features.h
+gpttext.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+gpttext.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+gpttext.o: /usr/include/xlocale.h /usr/include/errno.h
+gpttext.o: /usr/include/bits/errno.h /usr/include/linux/errno.h
+gpttext.o: /usr/include/asm/errno.h /usr/include/asm-generic/errno.h
+gpttext.o: /usr/include/asm-generic/errno-base.h /usr/include/stdint.h
+gpttext.o: /usr/include/bits/wchar.h /usr/include/limits.h
+gpttext.o: /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h
+gpttext.o: /usr/include/linux/limits.h /usr/include/bits/posix2_lim.h
+gpttext.o: attributes.h gpttext.h gpt.h /usr/include/sys/types.h
+gpttext.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+gpttext.o: /usr/include/time.h /usr/include/endian.h
+gpttext.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+gpttext.o: /usr/include/sys/select.h /usr/include/bits/select.h
+gpttext.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+gpttext.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+gpttext.o: gptpart.h support.h /usr/include/stdlib.h
+gpttext.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+gpttext.o: /usr/include/alloca.h parttypes.h /usr/include/unicode/ustream.h
+gpttext.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+gpttext.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+gpttext.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+gpttext.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+gpttext.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+gpttext.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+gpttext.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+gpttext.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+gpttext.o: /usr/include/unicode/std_string.h
+gpttext.o: /usr/include/unicode/stringpiece.h
+gpttext.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+gpttext.o: /usr/include/sys/time.h mbr.h diskio.h /usr/include/sys/ioctl.h
+gpttext.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
+gpttext.o: /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h
+gpttext.o: /usr/include/asm/ioctl.h /usr/include/asm-generic/ioctl.h
+gpttext.o: /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h
+gpttext.o: basicmbr.h mbrpart.h bsd.h
+guid.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h
+guid.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
+guid.o: /usr/include/gnu/stubs-64.h /usr/include/bits/types.h
+guid.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+guid.o: /usr/include/_G_config.h /usr/include/wchar.h
+guid.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+guid.o: /usr/include/time.h /usr/include/string.h /usr/include/xlocale.h
+guid.o: guid.h /usr/include/stdint.h /usr/include/bits/wchar.h
+guid.o: /usr/include/uuid/uuid.h /usr/include/sys/types.h
+guid.o: /usr/include/endian.h /usr/include/bits/endian.h
+guid.o: /usr/include/bits/byteswap.h /usr/include/sys/select.h
+guid.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+guid.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+guid.o: /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h support.h
+guid.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+guid.o: /usr/include/bits/waitstatus.h /usr/include/alloca.h
+mbr.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h
+mbr.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
+mbr.o: /usr/include/gnu/stubs-64.h /usr/include/bits/types.h
+mbr.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+mbr.o: /usr/include/_G_config.h /usr/include/wchar.h
+mbr.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+mbr.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+mbr.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+mbr.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+mbr.o: /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h
+mbr.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+mbr.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+mbr.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
+mbr.o: /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/fcntl.h
+mbr.o: /usr/include/bits/fcntl.h /usr/include/bits/stat.h
+mbr.o: /usr/include/string.h /usr/include/xlocale.h /usr/include/sys/stat.h
+mbr.o: /usr/include/errno.h /usr/include/bits/errno.h
+mbr.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+mbr.o: /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h
+mbr.o: mbr.h gptpart.h support.h parttypes.h /usr/include/unicode/ustream.h
+mbr.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+mbr.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+mbr.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+mbr.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+mbr.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+mbr.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+mbr.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+mbr.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+mbr.o: /usr/include/unicode/std_string.h /usr/include/unicode/stringpiece.h
+mbr.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+mbr.o: /usr/include/sys/time.h attributes.h diskio.h /usr/include/sys/ioctl.h
+mbr.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
+mbr.o: /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h
+mbr.o: /usr/include/asm/ioctl.h /usr/include/asm-generic/ioctl.h
+mbr.o: /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h
+mbr.o: basicmbr.h mbrpart.h
+mbrpart.o: /usr/include/stdint.h /usr/include/features.h
+mbrpart.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+mbrpart.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+mbrpart.o: /usr/include/bits/wchar.h support.h /usr/include/stdlib.h
+mbrpart.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+mbrpart.o: /usr/include/endian.h /usr/include/bits/endian.h
+mbrpart.o: /usr/include/bits/byteswap.h /usr/include/sys/types.h
+mbrpart.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+mbrpart.o: /usr/include/time.h /usr/include/sys/select.h
+mbrpart.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+mbrpart.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+mbrpart.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h mbrpart.h
+parttypes.o: /usr/include/string.h /usr/include/features.h
+parttypes.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+parttypes.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+parttypes.o: /usr/include/xlocale.h /usr/include/stdint.h
+parttypes.o: /usr/include/bits/wchar.h /usr/include/stdio.h
+parttypes.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+parttypes.o: /usr/include/libio.h /usr/include/_G_config.h
+parttypes.o: /usr/include/wchar.h /usr/include/bits/stdio_lim.h
+parttypes.o: /usr/include/bits/sys_errlist.h parttypes.h
+parttypes.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+parttypes.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+parttypes.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+parttypes.o: /usr/include/sys/types.h /usr/include/time.h
+parttypes.o: /usr/include/sys/select.h /usr/include/bits/select.h
+parttypes.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+parttypes.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+parttypes.o: /usr/include/alloca.h /usr/include/unicode/ustream.h
+parttypes.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+parttypes.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+parttypes.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+parttypes.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+parttypes.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+parttypes.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+parttypes.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+parttypes.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+parttypes.o: /usr/include/unicode/std_string.h
+parttypes.o: /usr/include/unicode/stringpiece.h
+parttypes.o: /usr/include/unicode/bytestream.h support.h guid.h
+parttypes.o: /usr/include/uuid/uuid.h /usr/include/sys/time.h
+sgdisk.o: /usr/include/stdio.h /usr/include/features.h
+sgdisk.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+sgdisk.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+sgdisk.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+sgdisk.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
+sgdisk.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+sgdisk.o: /usr/include/popt.h /usr/include/errno.h /usr/include/bits/errno.h
+sgdisk.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+sgdisk.o: /usr/include/asm-generic/errno.h
+sgdisk.o: /usr/include/asm-generic/errno-base.h /usr/include/stdint.h
+sgdisk.o: /usr/include/bits/wchar.h /usr/include/string.h
+sgdisk.o: /usr/include/xlocale.h mbr.h /usr/include/sys/types.h
+sgdisk.o: /usr/include/time.h /usr/include/endian.h
+sgdisk.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+sgdisk.o: /usr/include/sys/select.h /usr/include/bits/select.h
+sgdisk.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+sgdisk.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+sgdisk.o: gptpart.h support.h /usr/include/stdlib.h
+sgdisk.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
+sgdisk.o: /usr/include/alloca.h parttypes.h /usr/include/unicode/ustream.h
+sgdisk.o: /usr/include/unicode/unistr.h /usr/include/unicode/utypes.h
+sgdisk.o: /usr/include/unicode/umachine.h /usr/include/unicode/ptypes.h
+sgdisk.o: /usr/include/unicode/platform.h /usr/include/inttypes.h
+sgdisk.o: /usr/include/unicode/urename.h /usr/include/unicode/uvernum.h
+sgdisk.o: /usr/include/unicode/utf.h /usr/include/unicode/utf8.h
+sgdisk.o: /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h
+sgdisk.o: /usr/include/unicode/uversion.h /usr/include/unicode/uconfig.h
+sgdisk.o: /usr/include/unicode/rep.h /usr/include/unicode/uobject.h
+sgdisk.o: /usr/include/unicode/std_string.h
+sgdisk.o: /usr/include/unicode/stringpiece.h
+sgdisk.o: /usr/include/unicode/bytestream.h guid.h /usr/include/uuid/uuid.h
+sgdisk.o: /usr/include/sys/time.h attributes.h diskio.h
+sgdisk.o: /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h
+sgdisk.o: /usr/include/asm/ioctls.h /usr/include/asm-generic/ioctls.h
+sgdisk.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
+sgdisk.o: /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h
+sgdisk.o: /usr/include/sys/ttydefaults.h basicmbr.h mbrpart.h gpt.h bsd.h
+support.o: /usr/include/stdio.h /usr/include/features.h
+support.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+support.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+support.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+support.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
+support.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+support.o: /usr/include/stdint.h /usr/include/bits/wchar.h
+support.o: /usr/include/errno.h /usr/include/bits/errno.h
+support.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
+support.o: /usr/include/asm-generic/errno.h
+support.o: /usr/include/asm-generic/errno-base.h /usr/include/fcntl.h
+support.o: /usr/include/bits/fcntl.h /usr/include/sys/types.h
+support.o: /usr/include/time.h /usr/include/endian.h
+support.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+support.o: /usr/include/sys/select.h /usr/include/bits/select.h
+support.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+support.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+support.o: /usr/include/bits/stat.h /usr/include/string.h
+support.o: /usr/include/xlocale.h /usr/include/sys/stat.h support.h
+support.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+support.o: /usr/include/bits/waitstatus.h /usr/include/alloca.h
+test.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h
+test.o: /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h
+test.o: /usr/include/gnu/stubs-64.h /usr/include/bits/types.h
+test.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+test.o: /usr/include/_G_config.h /usr/include/wchar.h
+test.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+test.o: support.h /usr/include/stdint.h /usr/include/bits/wchar.h
+test.o: /usr/include/stdlib.h /usr/include/bits/waitflags.h
+test.o: /usr/include/bits/waitstatus.h /usr/include/endian.h
+test.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h
+test.o: /usr/include/sys/types.h /usr/include/time.h
+test.o: /usr/include/sys/select.h /usr/include/bits/select.h
+test.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+test.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+test.o: /usr/include/alloca.h
+testguid.o: guid.h /usr/include/stdint.h /usr/include/features.h
+testguid.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+testguid.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
+testguid.o: /usr/include/bits/wchar.h /usr/include/uuid/uuid.h
+testguid.o: /usr/include/sys/types.h /usr/include/bits/types.h
+testguid.o: /usr/include/bits/typesizes.h /usr/include/time.h
+testguid.o: /usr/include/endian.h /usr/include/bits/endian.h
+testguid.o: /usr/include/bits/byteswap.h /usr/include/sys/select.h
+testguid.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
+testguid.o: /usr/include/bits/time.h /usr/include/sys/sysmacros.h
+testguid.o: /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h
+testguid.o: parttypes.h /usr/include/stdlib.h /usr/include/bits/waitflags.h
+testguid.o: /usr/include/bits/waitstatus.h /usr/include/alloca.h
+testguid.o: /usr/include/unicode/ustream.h /usr/include/unicode/unistr.h
+testguid.o: /usr/include/unicode/utypes.h /usr/include/unicode/umachine.h
+testguid.o: /usr/include/unicode/ptypes.h /usr/include/unicode/platform.h
+testguid.o: /usr/include/inttypes.h /usr/include/unicode/urename.h
+testguid.o: /usr/include/unicode/uvernum.h /usr/include/unicode/utf.h
+testguid.o: /usr/include/unicode/utf8.h /usr/include/unicode/utf16.h
+testguid.o: /usr/include/unicode/utf_old.h /usr/include/unicode/uversion.h
+testguid.o: /usr/include/unicode/uconfig.h /usr/include/unicode/rep.h
+testguid.o: /usr/include/unicode/uobject.h /usr/include/unicode/std_string.h
+testguid.o: /usr/include/unicode/stringpiece.h
+testguid.o: /usr/include/unicode/bytestream.h support.h
diff --git a/NEWS b/NEWS
index 7932515..b0815fa 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,18 @@
+0.7.2 (?/??/2011):
+------------------
+
+- Fixed a bug that caused an incorrect code to be set for active/bootable
+ partitions when generating a hybrid MBR.
+
+- Enable entry of hex codes that begin with "0x" for both GPT and MBR
+ partitions.
+
+- Fixed bug that caused the boot loader code to be lost when creating a
+ hybrid MBR.
+
+- Fixed bug in sector input code that could produce improper values
+ if the user inputs ridiculously large "+" values.
+
0.7.1 (3/21/2011):
------------------
diff --git a/basicmbr.cc b/basicmbr.cc
index 12ec92b..54b4809 100644
--- a/basicmbr.cc
+++ b/basicmbr.cc
@@ -84,6 +84,10 @@ BasicMBRData & BasicMBRData::operator=(const BasicMBRData & orig) {
state = orig.state;
myDisk = new DiskIO;
+ if (myDisk == NULL) {
+ cerr << "Unable to allocate memory in BasicMBRData::operator=()! Terminating!\n";
+ exit(1);
+ } // if
if (orig.myDisk != NULL)
myDisk->OpenForRead(orig.myDisk->GetName());
@@ -106,6 +110,10 @@ int BasicMBRData::ReadMBRData(const string & deviceFilename) {
if (myDisk == NULL) {
myDisk = new DiskIO;
+ if (myDisk == NULL) {
+ cerr << "Unable to allocate memory in BasicMBRData::ReadMBRData()! Terminating!\n";
+ exit(1);
+ } // if
canDeleteMyDisk = 1;
} // if
if (myDisk->OpenForRead(deviceFilename)) {
@@ -1497,7 +1505,8 @@ MBRPart* BasicMBRData::GetPartition(int i) {
// if the return value is >0, or possibly >=0 depending on intentions.)
int BasicMBRData::DoMenu(const string& prompt) {
int goOn = 1, quitting = 0, retval, num, haveShownInfo = 0;
- unsigned int hexCode = 0x00;
+ unsigned int hexCode;
+ string tempStr;
do {
cout << prompt;
@@ -1547,10 +1556,13 @@ int BasicMBRData::DoMenu(const string& prompt) {
break;
case 't': case 'T':
num = GetNumber(1, MAX_MBR_PARTS, 1, "Partition to change type code: ") - 1;
+ hexCode = 0x00;
if (partitions[num].GetLengthLBA() > 0) {
while ((hexCode <= 0) || (hexCode > 255)) {
cout << "Enter an MBR hex code: ";
- hexCode = StrToHex(ReadString(), 0);
+ tempStr = ReadString();
+ if (IsHex(tempStr))
+ sscanf(tempStr.c_str(), "%x", &hexCode);
} // while
partitions[num].SetType(hexCode);
} // if
diff --git a/basicmbr.h b/basicmbr.h
index 6d4de72..3d5b485 100644
--- a/basicmbr.h
+++ b/basicmbr.h
@@ -18,8 +18,6 @@
using namespace std;
-class PartNotes;
-
/****************************************
* *
* MBRData class and related structures *
diff --git a/bsd.cc b/bsd.cc
index 57fb912..8524d5b 100644
--- a/bsd.cc
+++ b/bsd.cc
@@ -134,6 +134,10 @@ int BSDData::ReadBSDData(DiskIO *theDisk, uint64_t startSector, uint64_t endSect
// If the state is good, go ahead and load the main partition data....
if (state == bsd) {
partitions = new struct BSDRecord[numParts * sizeof(struct BSDRecord)];
+ if (partitions == NULL) {
+ cerr << "Unable to allocate memory in BSDData::ReadBSDData()! Terminating!\n";
+ exit(1);
+ } // if
for (i = 0; i < numParts; i++) {
// Once again, we use the buffer, but index it using a BSDRecord
// pointer (dangerous, but effective)....
diff --git a/diskio-unix.cc b/diskio-unix.cc
index 5494dd5..327a498 100644
--- a/diskio-unix.cc
+++ b/diskio-unix.cc
@@ -290,6 +290,10 @@ int DiskIO::Read(void* buffer, int numBytes) {
numBlocks++;
tempSpace = new char [numBlocks * blockSize];
} // if/else
+ if (tempSpace == NULL) {
+ cerr << "Unable to allocate memory in DiskIO::Read()! Terminating!\n";
+ exit(1);
+ } // if
// Read the data into temporary space, then copy it to buffer
retval = read(fd, tempSpace, numBlocks * blockSize);
@@ -328,7 +332,11 @@ int DiskIO::Write(void* buffer, int numBytes) {
if ((numBytes % blockSize) != 0) numBlocks++;
tempSpace = new char [numBlocks * blockSize];
} // if/else
-
+ if (tempSpace == NULL) {
+ cerr << "Unable to allocate memory in DiskIO::Write()! Terminating!\n";
+ exit(1);
+ } // if
+
// Copy the data to my own buffer, then write it
memcpy(tempSpace, buffer, numBytes);
for (i = numBytes; i < numBlocks * blockSize; i++) {
diff --git a/diskio-windows.cc b/diskio-windows.cc
index 938d7ec..37e5bb5 100644
--- a/diskio-windows.cc
+++ b/diskio-windows.cc
@@ -230,7 +230,11 @@ int DiskIO::Read(void* buffer, int numBytes) {
numBlocks++;
tempSpace = new char [numBlocks * blockSize];
} // if/else
-
+ if (tempSpace == NULL) {
+ cerr << "Unable to allocate memory in DiskIO::Read()! Terminating!\n";
+ exit(1);
+ } // if
+
// Read the data into temporary space, then copy it to buffer
ReadFile(fd, tempSpace, numBlocks * blockSize, &retval, NULL);
for (i = 0; i < numBytes; i++) {
@@ -271,6 +275,10 @@ int DiskIO::Write(void* buffer, int numBytes) {
if ((numBytes % blockSize) != 0) numBlocks++;
tempSpace = new char [numBlocks * blockSize];
} // if/else
+ if (tempSpace == NULL) {
+ cerr << "Unable to allocate memory in DiskIO::Write()! Terminating!\n";
+ exit(1);
+ } // if
// Copy the data to my own buffer, then write it
for (i = 0; i < numBytes; i++) {
diff --git a/gdisk.8 b/gdisk.8
index 2b29ea9..3368c71 100644
--- a/gdisk.8
+++ b/gdisk.8
@@ -34,8 +34,8 @@ The \fBgdisk\fR program employs a user interface similar to that of Linux's
capability of transforming MBR partitions or BSD disklabels into GPT
partitions. Like the original \fBfdisk\fR program, \fBgdisk\fR does not
modify disk structures until you explicitly write them to disk, so if you
-make a mistake, you can exit from the program with the 'q' option to save
-your partitions.
+make a mistake, you can exit from the program with the 'q' option to leave
+your partitions unmodified.
Ordinarily, \fBgdisk\fR operates on disk device files, such as
\fI/dev/sda\fR or \fI/dev/hda\fR under Linux, \fI/dev/disk0\fR under
diff --git a/gpt.cc b/gpt.cc
index 9c62f4e..4889c37 100644
--- a/gpt.cc
+++ b/gpt.cc
@@ -122,15 +122,14 @@ GPTData & GPTData::operator=(const GPTData & orig) {
delete[] partitions;
partitions = new GPTPart [numParts];
- if (partitions != NULL) {
- for (i = 0; i < numParts; i++) {
- partitions[i] = orig.partitions[i];
- }
- } else {
- numParts = 0;
+ if (partitions == NULL) {
cerr << "Error! Could not allocate memory for partitions in GPTData::operator=()!\n"
- << "Continuing, but strange problems may occur!\n";
- } // if/else
+ << "Terminating!\n";
+ exit(1);
+ } // if
+ for (i = 0; i < numParts; i++) {
+ partitions[i] = orig.partitions[i];
+ }
return *this;
} // GPTData::operator=()
@@ -912,6 +911,10 @@ int GPTData::CheckTable(struct GPTHeader *header) {
if (myDisk.Seek(header->partitionEntriesLBA)) {
sizeOfParts = header->numParts * header->sizeOfPartitionEntries;
storage = new uint8_t[sizeOfParts];
+ if (storage == NULL) {
+ cerr << "Could not allocate memory in GPTData::CheckTable()! Terminating!\n";
+ exit(1);
+ } // if
if (myDisk.Read(storage, sizeOfParts) != (int) sizeOfParts) {
cerr << "Warning! Error " << errno << " reading partition table for CRC check!\n";
} else {
@@ -1223,6 +1226,10 @@ int GPTData::DestroyGPT(void) {
allOK = 0;
tableSize = numParts * mainHeader.sizeOfPartitionEntries;
emptyTable = new uint8_t[tableSize];
+ if (emptyTable == NULL) {
+ cerr << "Could not allocate memory in GPTData::CheckTable()! Terminating!\n";
+ exit(1);
+ } // if
memset(emptyTable, 0, tableSize);
if (allOK) {
sum = myDisk.Write(emptyTable, tableSize);
@@ -1604,7 +1611,7 @@ int GPTData::SetGPTSize(uint32_t numEntries) {
if (diskSize > 0)
CheckGPTSize();
} else { // Bad memory allocation
- cerr << "Error allocating memory for partition table!\n";
+ cerr << "Error allocating memory for partition table! Size is unchanged!\n";
allOK = 0;
} // if/else
} // if/else
@@ -2324,11 +2331,6 @@ int SizesOK(void) {
cerr << "PartType is " << sizeof(GUIDData) << " bytes, should be 16 bytes; aborting!\n";
allOK = 0;
} // if
- // Determine endianness; warn user if running on big-endian (PowerPC, etc.) hardware
-// if (IsLittleEndian() == 0) {
-// cerr << "\aRunning on big-endian hardware. Big-endian support is new and poorly"
-// " tested!\n";
-// } // if
return (allOK);
} // SizesOK()
diff --git a/gpt.h b/gpt.h
index a5d6c01..c4c5881 100644
--- a/gpt.h
+++ b/gpt.h
@@ -26,8 +26,6 @@
using namespace std;
-class PartNotes;
-
/****************************************
* *
* GPTData class and related structures *
@@ -139,7 +137,6 @@ public:
virtual int XFormDisklabel(uint32_t partNum);
int XFormDisklabel(BSDData* disklabel);
int OnePartToMBR(uint32_t gptPart, int mbrPart); // add one partition to MBR. Returns 1 if successful
- int PartsToMBR(PartNotes * notes);
// Adjust GPT structures WITHOUT user interaction...
int SetGPTSize(uint32_t numEntries);
diff --git a/gpttext.cc b/gpttext.cc
index 55fbdbb..4db9e13 100644
--- a/gpttext.cc
+++ b/gpttext.cc
@@ -400,7 +400,11 @@ void GPTDataTextUI::MakeHybrid(void) {
<< "just hit the Enter key at the below prompt and your MBR partition table will\n"
<< "be untouched.\n\n\a";
- hybridMBR.SetDisk(&myDisk);
+ // Use a local MBR structure, copying from protectiveMBR to keep its
+ // boot loader code intact....
+ hybridMBR = protectiveMBR;
+ hybridMBR.EmptyMBR(0);
+
// Now get the numbers of up to three partitions to add to the
// hybrid MBR....
cout << "Type from one to three GPT partition numbers, separated by spaces, to be\n"
@@ -424,9 +428,9 @@ void GPTDataTextUI::MakeHybrid(void) {
hybridPart.SetInclusion(PRIMARY);
cout << "Set the bootable flag? ";
if (GetYN() == 'Y')
- hybridPart.SetStatus(1);
+ hybridPart.SetStatus(0x80);
else
- hybridPart.SetStatus(0);
+ hybridPart.SetStatus(0x00);
hybridPart.SetInclusion(PRIMARY);
} else {
cerr << "\nGPT partition #" << j + 1 << " does not exist; skipping.\n";
@@ -478,7 +482,7 @@ void GPTDataTextUI::MakeHybrid(void) {
int GPTDataTextUI::XFormToMBR(void) {
uint32_t i;
- protectiveMBR.EmptyMBR();
+ protectiveMBR.EmptyMBR(0);
for (i = 0; i < numParts; i++) {
if (partitions[i].IsUsed()) {
protectiveMBR.MakePart(i, partitions[i].GetFirstLBA(),
diff --git a/mbr.h b/mbr.h
index 9377c12..dc31023 100644
--- a/mbr.h
+++ b/mbr.h
@@ -15,8 +15,6 @@
using namespace std;
-// class PartNotes;
-
/****************************************
* *
* MBRData class and related structures *
diff --git a/parttypes.cc b/parttypes.cc
index 662a278..8ccc482 100644
--- a/parttypes.cc
+++ b/parttypes.cc
@@ -195,6 +195,8 @@ int PartType::AddType(uint16_t mbrType, const char * guidData, const char * name
} // if/else
lastType = tempType;
} else {
+ cerr << "Unable to allocate memory in PartType::AddType()! Partition type list will\n";
+ cerr << "be incomplete!\n";
allOK = 0;
} // if/else
return allOK;
diff --git a/support.cc b/support.cc
index 00c0e12..24bcffb 100644
--- a/support.cc
+++ b/support.cc
@@ -109,14 +109,23 @@ uint64_t GetSectorNum(uint64_t low, uint64_t high, uint64_t def, uint64_t sSize,
// converts to sectors. For instance, with 512-byte sectors, "1K" converts
// to 2. If value includes a "+", adds low and subtracts 1; if SIValue
// inclues a "-", subtracts from high. If IeeeValue is empty, returns def.
-// Returns final sector value. In case inValue works out to something that
-// is not in the range of low to high (inclusive), returns high + 1; the
-// calling function is responsible for checking the validity of this value.
+// Returns final sector value. In case inValue is invalid, returns 0 (a
+// sector value that's always is use on GPT and therefore invalid); and if
+// inValue works out to something outside the range low-high, returns the
+// computed value; the calling function is responsible for checking the
+// validity of this value.
+// NOTE: There's a difference in how GCC and VC++ treat oversized values
+// (say, "999999999999999999999") read via the ">>" operator; GCC turns
+// them into the maximum value for the type, whereas VC++ turns them into
+// 0 values. The result is that IeeeToInt() returns UINT64_MAX when
+// compiled with GCC (and so the value is rejected), whereas when VC++
+// is used, the default value is returned.
uint64_t IeeeToInt(string inValue, uint64_t sSize, uint64_t low, uint64_t high, uint64_t def) {
uint64_t response = def, bytesPerUnit = 1, mult = 1, divide = 1;
size_t foundAt = 0;
char suffix, plusFlag = ' ';
string suffixes = "KMGTPE";
+ int badInput = 0; // flag bad input; once this goes to 1, other values are irrelevant
if (sSize == 0) {
sSize = SECTOR_SIZE;
@@ -135,45 +144,63 @@ uint64_t IeeeToInt(string inValue, uint64_t sSize, uint64_t low, uint64_t high,
// Extract numeric response and, if present, suffix
istringstream inString(inValue);
- if (((inString.peek() >= '0') && (inString.peek() <= '9')) || (inString.peek() == -1)) {
- inString >> response >> suffix;
- suffix = toupper(suffix);
-
- // If no response, or if response == 0, use default (def)
- if ((inValue.length() == 0) || (response == 0)) {
- response = def;
- suffix = ' ';
- plusFlag = 0;
- } // if
-
- // Find multiplication and division factors for the suffix
- foundAt = suffixes.find(suffix);
- if (foundAt != string::npos) {
- bytesPerUnit = UINT64_C(1) << (10 * (foundAt + 1));
- mult = bytesPerUnit / sSize;
- divide = sSize / bytesPerUnit;
- } // if
-
- // Adjust response based on multiplier and plus flag, if present
- if (mult > 1)
+ if (((inString.peek() < '0') || (inString.peek() > '9')) && (inString.peek() != -1))
+ badInput = 1;
+ inString >> response >> suffix;
+ suffix = toupper(suffix);
+
+ // If no response, or if response == 0, use default (def)
+ if ((inValue.length() == 0) || (response == 0)) {
+ response = def;
+ suffix = ' ';
+ plusFlag = ' ';
+ } // if
+
+ // Find multiplication and division factors for the suffix
+ foundAt = suffixes.find(suffix);
+ if (foundAt != string::npos) {
+ bytesPerUnit = UINT64_C(1) << (10 * (foundAt + 1));
+ mult = bytesPerUnit / sSize;
+ divide = sSize / bytesPerUnit;
+ } // if
+
+ // Adjust response based on multiplier and plus flag, if present
+ if (mult > 1) {
+ if (response > (UINT64_MAX / mult))
+ badInput = 1;
+ else
response *= mult;
- else if (divide > 1)
+ } else if (divide > 1) {
response /= divide;
- if (plusFlag == '+') {
- // Recompute response based on low part of range (if default = high
- // value, which should be the case when prompting for the end of a
- // range) or the defaut value (if default != high, which should be
- // the case for the first sector of a partition).
- if (def == high)
- response = response + low - UINT64_C(1);
+ } // if/elseif
+
+ if (plusFlag == '+') {
+ // Recompute response based on low part of range (if default == high
+ // value, which should be the case when prompting for the end of a
+ // range) or the defaut value (if default != high, which should be
+ // the case for the first sector of a partition).
+ if (def == high) {
+ if (response > 0)
+ response--;
+ if (response > (UINT64_MAX - low))
+ badInput = 1;
+ else
+ response = response + low;
+ } else {
+ if (response > (UINT64_MAX - def))
+ badInput = 1;
else
response = response + def;
- } else if (plusFlag == '-') {
+ } // if/else
+ } else if (plusFlag == '-') {
+ if (response > high)
+ badInput = 1;
+ else
response = high - response;
- } // if
- } else { // user input is invalid
- response = high + UINT64_C(1);
- } // if/else
+ } // if
+
+ if (badInput)
+ response = UINT64_C(0);
return response;
} // IeeeToInt()
@@ -185,7 +212,7 @@ uint64_t IeeeToInt(string inValue, uint64_t sSize, uint64_t low, uint64_t high,
string BytesToIeee(uint64_t size, uint32_t sectorSize) {
float sizeInIeee;
unsigned int index = 0;
- string units, prefixes = " KMGTPE";
+ string units, prefixes = " KMGTPEZ";
ostringstream theValue;
sizeInIeee = size * (float) sectorSize;
@@ -222,11 +249,14 @@ unsigned char StrToHex(const string & input, unsigned int position) {
// Returns 1 if input can be interpreted as a hexadecimal number --
// all characters must be spaces, digits, or letters A-F (upper- or
-// lower-case), with at least one valid hexadecimal digit; otherwise
+// lower-case), with at least one valid hexadecimal digit; with the
+// exception of the first two characters, which may be "0x"; otherwise
// returns 0.
-int IsHex(const string & input) {
+int IsHex(string input) {
int isHex = 1, foundHex = 0, i;
+ if (input.substr(0, 2) == "0x")
+ input.erase(0, 2);
for (i = 0; i < (int) input.length(); i++) {
if ((input[i] < '0') || (input[i] > '9')) {
if ((input[i] < 'A') || (input[i] > 'F')) {
@@ -269,5 +299,8 @@ void ReverseBytes(void* theValue, int numBytes) {
for (i = 0; i < numBytes; i++)
((char*) theValue)[i] = tempValue[numBytes - i - 1];
delete[] tempValue;
- } // if
+ } else {
+ cerr << "Could not allocate memory in ReverseBytes()! Terminating\n";
+ exit(1);
+ } // if/else
} // ReverseBytes()
diff --git a/support.h b/support.h
index c7dd7d1..da09cc9 100644
--- a/support.h
+++ b/support.h
@@ -8,7 +8,7 @@
#ifndef __GPTSUPPORT
#define __GPTSUPPORT
-#define GPTFDISK_VERSION "0.7.1"
+#define GPTFDISK_VERSION "0.7.1.1"
#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__)
// Darwin (Mac OS) only: disk IOCTLs are different, and there is no lseek64
@@ -63,7 +63,7 @@ uint64_t GetSectorNum(uint64_t low, uint64_t high, uint64_t def, uint64_t sSize,
uint64_t IeeeToInt(string IeeeValue, uint64_t sSize, uint64_t low, uint64_t high, uint64_t def = 0);
string BytesToIeee(uint64_t size, uint32_t sectorSize = 1);
unsigned char StrToHex(const string & input, unsigned int position);
-int IsHex(const string & input); // Returns 1 if input can be hexadecimal number....
+int IsHex(string input); // Returns 1 if input can be hexadecimal number....
int IsLittleEndian(void); // Returns 1 if CPU is little-endian, 0 if it's big-endian
void ReverseBytes(void* theValue, int numBytes); // Reverses byte-order of theValue