6 - Remove empty __IMPORT segment
8 Changes for the 5.32 release (the cctools-831 release):
9 - Also put mtoc(1) in /usr/local/bin . Radar bug #10715889.
11 Changes for the 5.30 release (the cctools-820 release):
12 - Removed the use of vers_string(1) from the Makefile. Radar bug #10596469.
13 - Added a reference to apple_version[] in makerelocs.c and mtoc.c .
15 Changes for the 5.29 release (the cctools-800 release):
16 - Added support for rewriting UUID of generated file with command line flag -u.
19 Changes for the 5.28 release (the cctools-795 release):
20 - Added added more subsystem types to mtoc(1). Radar bug #8492168.
22 Changes for the 5.28 release (the cctools-792 release):
23 - Picked up changes to generate correct x86_64 relocations and to correctly
24 calculate SizeOfImage in mtoc.c. Radar bug #8211617.
26 Changes for the 5.28 release (the cctools-787 release):
27 - Changed mtoc(1) to zero pad PE/COFF sections to support XIP PE/COFF images.
29 - Changed mtoc(1) support building XIP PEI/COFF images in all cases. Radar bug
32 Changes for the 5.28 release (the cctools-777 release):
33 - Changed round() to rnd() and stuff/round.h to stuff/rnd.h in all files and
34 removed -fno-builtin-round from the Makefile. Radar bug #7475139.
35 - Changed the Makefile to use -Os for OFLAG. Radar bug #7475093.
37 Changes for the 5.27 release (the cctools-765 release):
38 - Moved the install location of motc(1) back to /usr/local/efi/bin . Radar bug
41 Changes for the 5.27 release (the cctools-762 release):
42 - Changed the Makefile to set CC when when SDKROOT is set. Radar bug #7078805.
44 Changes for the 5.27 release (the cctools-761 release):
45 - Moved the install location of motc(1) into /usr/bin . Radar bug #7038602.
46 - Fixed a problem in mtoc(1) with the -p option that caused it to crash. The
47 First problem was process_64bit_arch() needed to account for the debug
48 section when the -d option was used just like process_32bit_arch() did.
49 Second problem was if there happen to be no relocation entries then both
50 routines needed to set the debug_addr when reloc_size was zero and not use
51 reloc_scnhdr as it may be NULL. Radar bug #6904701.
53 Changes for the 5.27 release (the cctools-759 release):
54 - Changed the Makefile to add -isysroot $(SDKROOT) to compile and link lines
55 when SDKROOT is set. Radar bug #6965029.
57 Changes for the 5.27 release (the cctools-754 release):
58 - Changed mtoc(1) to not create a .reloc section if it would have a zero size.
59 Also changed mtoc(1) to include the SizeOfHeaders in SizeOfImage.
62 Changes for the 5.27 release (the cctools-752 release):
63 - Ported to build with clang.
64 - Changed Makefile to work around bugs 6761248 and 6756912.
65 - Added a cast to int for a switch statement in process_32bit_arch() in mtoc.c
66 - Commented out the if statement with an empty body with a TODO comment in
67 create_base_reloc() in mtoc.c .
69 Changes for the 4.26 release (the cctools-717 release):
70 - Added the -d filename option to mtoc(1) which adds a debug directory entry
71 in the .debug section with the file name. Radar bug #6211642.
73 Changes for the 4.26 release (the cctools-716 release):
74 - Fixed bugs in mtoc(1) in create_32bit_symbol_table() and
75 create_64bit_symbol_table() that was not ignoring stabs with the N_STAB bits
76 set when checking for undefined symbols. Radar bug #6194828.
78 Changes for the 4.26 release (the cctools-715 release):
79 - Changed mtoc(1) to remove the HACK_ARM_F_MAGIC_TO_BE_I386 define and code so
80 now the f_magic field for arm gets set to IMAGE_FILE_MACHINE_ARM (0x01c0).
83 Changes for the 4.26 release (the cctools-705 release):
84 - Ported mtoc.c to run on 64-bit hosts by changing unsigned long to uint32_t and
85 SWAP_LONG to SWAP_INT. Radar bug #6022298.
87 Changes for the 5.26 release (the cctools-701 release):
88 - Added the -align option to mtoc(1) to set the file and segment alignment.
90 Changes for the 5.26 release (the cctools-699 release):
91 - Fixed a problem with the SizeOfImage field in the aouthdr not including the
92 "zerofill" part of the sections. This is also include in the bsize which
93 causes it to be included in the SizeOfImage. Also removed the check to
94 require the section alignment to be greater or equal to the file alignment.
96 Changes for the 5.25 release (the cctools-688 release):
97 - Fixed a problem in mtoc(1) selection of the address for the .reloc PECOFF
98 section. To work around the unified linker incorrectly producing a LINKEDIT
99 segment the code in process_32bit_arch() and process_64bit_arch() needed to
100 ingore this segment when selecting the address.
102 Changes for the 5.25 release (the cctools-687 release):
103 - Added 64-bit checking for undefined symbols.
105 Changes for the 5.25 release (the cctools-686 release):
106 - Added the "-section_alignment <hex_value>" option. This should be passed the
107 same value as passed to the linker in the -segalign value when creating the
108 Mach-O file. This value is used to layout the added .reloc section and set
109 into the PECOFF aouthdr.
110 - Added a check to make sure the headers are not mapped on top of its sections.
111 If it does you get an error message saying the Mach-O needed to be relinked
112 and the -seg1addr value to use.
113 - Added alternate names for the subsystem arguments.
114 - Added checking for undefined symbols (32-bit only).
116 Changes for the 5.25 release (the cctools-685 release):
117 - Updated mtoc(1) to deal with MH_EXECUTE file types and MH_PIE flag.
119 Changes for the 5.25 release (the cctools-681 release):
120 - Added the new mtoc(1) program to the cctools project. Radar bug #5536661.
121 - The -e entry_point is a temporary hack until 64-bit files are produced
122 with MH_PRELOAD and have an entry point in the thread command.
123 - The makerelocs(1) program in here is not installed as it would overwrite the
124 existing one in the efitools project. But this one could replace it but the
125 new mtoc(1) program includes that and makes it obsolete. But is useful to