winegcc: Add Macho-o lib detection support
nerv at dawncrow.de
Mon Nov 8 12:35:06 CST 2010
Am 08.11.2010 19:27, schrieb Charles Davis:
> On 11/8/10 10:52 AM, André Hentschel wrote:
>> @@ -321,7 +321,8 @@ static int check_platform( struct options *opts, const char *file )
>> unsigned char header;
>> if (read( fd, header, sizeof(header) ) == sizeof(header))
>> - /* FIXME: only ELF is supported, platform is not checked beyond 32/64 */
>> + /* FIXME: only ELF and Macho-o is supported, platform is not checked beyond 32/64 */
> Typo 'Macho-o'.
>> @@ -331,6 +332,15 @@ static int check_platform( struct options *opts, const char *file )
>> ret = (opts->force_pointer_size == 4 ||
>> (!opts->force_pointer_size && opts->target_cpu != CPU_x86_64));
>> + /* Big Endian or Little Endian Mach-o File */
>> + else if (!memcmp( header, "\376\355\372\316", 4 ) || !memcmp( header, "\316\372\355\376", 4 ))
> For 64-bit files, the magic number is 0xfeedfacf, not 0xfeedface.
> (Notice how the 64-bit magic is one more than the 32-bit magic.) You
> should check for that, too.
> I would like to take this time to point out that on Mac OS, there are no
> separate 32-bit and 64-bit library directories (i.e. no lib32 and lib64,
> only lib). If you want a 32-bit and a 64-bit version of a binary or
> library installed, you're expected to build a fat binary/library. Nearly
> all of the system libraries and binaries installed with Mac OS X are in
> fact fat.
Then this was just silly...
Best Regards, André Hentschel
More information about the wine-devel