Re: Xcode 2.2.1 -> 2.3: Intel no longer builds correctly
Re: Xcode 2.2.1 -> 2.3: Intel no longer builds correctly
- Subject: Re: Xcode 2.2.1 -> 2.3: Intel no longer builds correctly
- From: Steve Christensen <email@hidden>
- Date: Fri, 2 Jun 2006 06:57:11 -0700
On Jun 1, 2006, at 11:15 PM, Steve Christensen wrote:
I just upgraded to Xcode 2.3 from Xcode 2.2.1. I have a set of plug-
in projects that I'd imported from CodeWarrior to Xcode 2.2. Before
upgrading, the plug-ins built and ran correctly on both PPC and
Intel machines. After upgrading to Xcode 2.3, the plug-ins no
longer load on Intel, even though the plug-ins show up as Universal
in the Finder's Get Info window.
I looked at the build folder for one of the plug-ins. The
(apparently unstripped) PPC binary is 500K and the Intel binary is
52K; the stripped Universal binary is 92K.
If I run "nm -a -arch ppc ..." and "nm -a -arch i386 ...", the PPC
version displays the global and unresolved symbols and the i386
version only displays "nm: no name list".
If I run "lipo -detailed_info ..." on the Universal binary, it
reports the following:
fat_magic 0xcafebabe
nfat_arch 2
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 4096
size 4096
align 2^12 (4096)
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 8192
size 83984
align 2^13 (8192)
Any idea what's changed in 2.3 that could be affecting this?
I realized that I should probably give more details about my setup
but forgot last night. Chalk it up to a long day.
- Building against 10.4u SDK
- PPC: gcc 3.3, 10.3 deployment target
- Intel: gcc 4.0.1 (default), 10.4 deployment target
- generate debug symbols, level = full
- symbols hidden, inlines hidden, virtuals hidden, locals hidden
- dead-code stripping, deployment postprocessing, strip linked
product, separate strip, strip non-globals
Here's the build transcript (long file paths cleaned up for
readability):
Building target “Foo” of project “Foo” with configuration “Imported
CodeWarrior Settings”
Checking Dependencies
CompileC "Foo.build/Objects-normal/ppc/Foo.o" "Foo.cpp" normal ppc c+
+ com.apple.compilers.gcc.3_3
setenv MACOSX_DEPLOYMENT_TARGET 10.3
setenv NEXT_ROOT /Developer/SDKs/MacOSX10.4u.sdk
/usr/bin/gcc-3.3 -x c++ -arch ppc -pipe -Wno-trigraphs -fno-rtti
-fpascal-strings -fasm-blocks
-gfull -Os -Wreturn-type -Wnon-virtual-dtor -Woverloaded-
virtual -Wformat -Wmissing-braces
-Wparentheses -Wswitch -Wunused-label -Wunused-parameter -
Wunused-variable -Wunused-value
-Wuninitialized -Wunknown-pragmas -Wshadow -Wsign-compare -
fmessage-length=0 -mtune=G5
-Wno-deprecated-declarations -Wp,-header-mapfile, Foo.build/
Foo.hmap -Wundef -I
-IFoo.build/DerivedSources -
DMAC_OS_X_VERSION_MIN_REQUIRED=1030 -fconstant-cfstrings
-D__CONSTANT_CFSTRINGS__ -isystem /Developer/SDKs/
MacOSX10.4u.sdk/usr/include/gcc/darwin/3.3
-I/Developer/SDKs/MacOSX10.4u.sdk/usr/include/gcc/darwin/3.3/
c++
-I/Developer/SDKs/MacOSX10.4u.sdk/usr/include/gcc/darwin/3.3/
c++/ppc-darwin -isystem
/Developer/SDKs/MacOSX10.4u.sdk/usr/include -include /Prefix/
BuildPrefix-Xcode.h
-c Foo.cpp -o Foo.build/Objects-normal/ppc/Foo.o
CompileC "Foo.build/Objects-normal/i386/Foo.o" "Foo.cpp" normal i386 c
++ com.apple.compilers.gcc.4_0
/usr/bin/gcc-4.0 -x c++ -arch i386 -pipe -Wno-trigraphs -fno-
rtti -fpascal-strings -fasm-blocks
-gfull -Os -Wreturn-type -Wnon-virtual-dtor -Woverloaded-virtual
-Wformat -Wmissing-braces
-Wparentheses -Wswitch -Wunused-label -Wunused-parameter -
Wunused-variable -Wunused-value
-Wuninitialized -Wunknown-pragmas -Wshadow -Wsign-compare -
Wnewline-eof -fmessage-length=0
-fvisibility=hidden -fvisibility-inlines-hidden -Wno-deprecated-
declarations
-mmacosx-version-min=10.4 -IFoo.build/Foo.hmap -Wundef -I -
IFoo.build/DerivedSources -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -include /Prefix/BuildPrefix-
Xcode.h
-c Foo.cpp -o Foo.build/Objects-normal/i386/Foo.o
Ld "/Foo.build/Objects-normal/ppc/Foo" normal ppc
cd
setenv MACOSX_DEPLOYMENT_TARGET 10.3
setenv NEXT_ROOT /Developer/SDKs/MacOSX10.4u.sdk
/usr/bin/g++-3.3 -o Foo.build/Objects-normal/ppc/Foo
-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/darwin/3.3
-filelist Foo.build/Objects-normal/ppc/Foo.LinkFileList
-framework Carbon -framework QuickTime
-arch ppc -exported_symbols_list ExportedSymbols.exp -Wl,-Y,
1455 -bundle
-mmacosx-version-min=10.3 -Wl,-dead_strip -Wl,-Sp
-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
Ld "/Foo.build/Objects-normal/i386/Foo" normal i386
/usr/bin/g++-4.0 -o Foo.build/Objects-normal/i386/Foo
-filelist Foo.build/Objects-normal/i386/Foo.LinkFileList
-framework Carbon -framework QuickTime
-arch i386 -exported_symbols_list ExportedSymbols.exp -Wl,-Y,
1455 -bundle
-mmacosx-version-min=10.4 -Wl,-dead_strip -Wl,-Sp
-isysroot /Developer/SDKs/MacOSX10.4u.sdk
CreateUniversalBinary "Foo.bundle/Contents/MacOS/Foo" normal "ppc i386"
mkdir "Foo.bundle/Contents/MacOS"
/usr/bin/lipo -create Foo.build/Objects-normal/ppc/Foo Foo.build/
Objects-normal/i386/Foo
-output Foo.bundle/Contents/MacOS/Foo
Rez "/Foo.build/ResourceManagerResources/Objects/Foo-
NonLocalized.rsrc" "Foo-NonLocalized.r"
mkdir "/Foo.build/ResourceManagerResources/Objects"
/Developer/Tools/Rez -o Foo.build/ResourceManagerResources/
Objects/Foo-NonLocalized.rsrc
-d SystemSevenOrLater=1 -useDF -script Roman -arch ppc -arch
i386 Foo-NonLocalized.r
ResMergerCollector "/Foo.build/ResourceManagerResources/Foo.rsrc"
/Developer/Tools/ResMerger -fileType fltr -fileCreator Hway -
dstIs DF
Foo.build/ResourceManagerResources/Objects/Foo-
NonLocalized.rsrc
-o Foo.build/ResourceManagerResources/Foo.rsrc
ResMergerProduct "Foo.bundle/Contents/Resources/Foo.rsrc"
mkdir "Foo.bundle/Contents/Resources"
/Developer/Tools/ResMerger Foo.build/ResourceManagerResources/
Foo.rsrc -fileType fltr
-fileCreator Hway -dstIs DF -o Foo.bundle/Contents/Resources/
Foo.rsrc
Touch "Foo.bundle"
/usr/bin/touch -c Foo.bundle
Strip "Foo.bundle/Contents/MacOS/Foo"
/usr/bin/strip -x Foo.bundle/Contents/MacOS/Foo
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden