[MacPorts] #36026: gcc46 problem after ld64 upgrade

MacPorts noreply at macports.org
Sat Sep 15 20:05:19 PDT 2012


#36026: gcc46 problem after ld64 upgrade
-------------------------+------------------------
  Reporter:  jwhowse4@…  |      Owner:  jeremyhu@…
      Type:  defect      |     Status:  new
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.1.2
Resolution:              |   Keywords:
      Port:  ld64        |
-------------------------+------------------------

Comment (by jeremyhu@…):

 A quick check comparing 'strings' on the two shows:

 {{{
 --- ld.mp.exp1.strings  2012-09-15 20:00:25.000000000 -0700
 +++ ld.mp.exp2.strings  2012-09-15 20:00:30.000000000 -0700
 @@ -548,56 +548,41 @@ N2ld4tool12PageZeroAtomE
  N2ld4tool13DSOHandleAtomE
  N2ld4tool14DataInCodeAtomI3armEE
  N2ld4tool14DataInCodeAtomI3x86EE
 -N2ld4tool14DataInCodeAtomI6x86_64EE
  N2ld4tool14ExportInfoAtomI3armEE
  N2ld4tool14ExportInfoAtomI3x86EE
 -N2ld4tool14ExportInfoAtomI6x86_64EE
  N2ld4tool14RebaseInfoAtomI3armEE
  N2ld4tool14RebaseInfoAtomI3x86EE
 -N2ld4tool14RebaseInfoAtomI6x86_64EE
  N2ld4tool14StringPoolAtomE
  N2ld4tool15BindingInfoAtomI3armEE
  N2ld4tool15BindingInfoAtomI3x86EE
 -N2ld4tool15BindingInfoAtomI6x86_64EE
  N2ld4tool15CustomStackAtomE
  N2ld4tool15DependentDRAtomI3armEE
  N2ld4tool15DependentDRAtomI3x86EE
 -N2ld4tool15DependentDRAtomI6x86_64EE
  N2ld4tool15SymbolTableAtomI3armEE
  N2ld4tool15SymbolTableAtomI3x86EE
 -N2ld4tool15SymbolTableAtomI6x86_64EE
  N2ld4tool16SplitSegInfoAtomI3armEE
  N2ld4tool16SplitSegInfoAtomI3x86EE
 -N2ld4tool16SplitSegInfoAtomI6x86_64EE
  N2ld4tool18FunctionStartsAtomI3armEE
  N2ld4tool18FunctionStartsAtomI3x86EE
 -N2ld4tool18FunctionStartsAtomI6x86_64EE
  N2ld4tool18UndefinedProxyAtomE
  N2ld4tool19ClassicLinkEditAtomE
  N2ld4tool19LazyBindingInfoAtomI3armEE
  N2ld4tool19LazyBindingInfoAtomI3x86EE
 -N2ld4tool19LazyBindingInfoAtomI6x86_64EE
  N2ld4tool19SectionBoundaryAtomE
  N2ld4tool19SegmentBoundaryAtomE
  N2ld4tool19WeakBindingInfoAtomI3armEE
  N2ld4tool19WeakBindingInfoAtomI3x86EE
 -N2ld4tool19WeakBindingInfoAtomI6x86_64EE
  N2ld4tool20LocalRelocationsAtomI3armEE
  N2ld4tool20LocalRelocationsAtomI3x86EE
 -N2ld4tool20LocalRelocationsAtomI6x86_64EE
  N2ld4tool22SectionRelocationsAtomI3armEE
  N2ld4tool22SectionRelocationsAtomI3x86EE
 -N2ld4tool22SectionRelocationsAtomI6x86_64EE
  N2ld4tool23ExternalRelocationsAtomI3armEE
  N2ld4tool23ExternalRelocationsAtomI3x86EE
 -N2ld4tool23ExternalRelocationsAtomI6x86_64EE
  N2ld4tool23IndirectSymbolTableAtomI3armEE
  N2ld4tool23IndirectSymbolTableAtomI3x86EE
 -N2ld4tool23IndirectSymbolTableAtomI6x86_64EE
  N2ld4tool23RelocationsAtomAbstractE
  N2ld4tool25HeaderAndLoadCommandsAtomI3armEE
  N2ld4tool25HeaderAndLoadCommandsAtomI3x86EE
 -N2ld4tool25HeaderAndLoadCommandsAtomI6x86_64EE
  N2ld4tool28HeaderAndLoadCommandsAbtractE
  N2ld4tool8ResolverE
  N2ld4tool9AliasAtomE
 @@ -657,18 +642,6 @@ N2ld6passes5stubs3x867classic14StubHelpe
  N2ld6passes5stubs3x867classic15LazyPointerAtomE
  N2ld6passes5stubs3x867classic8StubAtomE
  N2ld6passes5stubs3x868StubAtomE
 -N2ld6passes5stubs6x86_6412KextStubAtomE
 -N2ld6passes5stubs6x86_6414StubHelperAtomE
 -N2ld6passes5stubs6x86_6415LazyPointerAtomE
 -N2ld6passes5stubs6x86_6418NonLazyPointerAtomE
 -N2ld6passes5stubs6x86_6418ResolverHelperAtomE
 -N2ld6passes5stubs6x86_6420StubHelperHelperAtomE
 -N2ld6passes5stubs6x86_6421ImageCachePointerAtomE
 -N2ld6passes5stubs6x86_6422FastBindingPointerAtomE
 -N2ld6passes5stubs6x86_647classic14StubHelperAtomE
 -N2ld6passes5stubs6x86_647classic15LazyPointerAtomE
 -N2ld6passes5stubs6x86_647classic8StubAtomE
 -N2ld6passes5stubs6x86_648StubAtomE
  N2ld6passes6dtrace4AtomE
  N2ld6passes6dtrace4FileE
  N2ld7SectionE
 @@ -679,74 +652,28 @@ N3lto4AtomE
  N3lto4FileE
  N3lto6Parser10AtomSyncerE
  N6mach_o11relocatable10CFISectionI3armEE
 -N6mach_o11relocatable10CFISectionI3x86EE
 -N6mach_o11relocatable10CFISectionI6x86_64EE
  N6mach_o11relocatable14CStringSectionI3armEE
 -N6mach_o11relocatable14CStringSectionI3x86EE
 -N6mach_o11relocatable14CStringSectionI6x86_64EE
  N6mach_o11relocatable14TLVDefsSectionI3armEE
 -N6mach_o11relocatable14TLVDefsSectionI3x86EE
 -N6mach_o11relocatable14TLVDefsSectionI6x86_64EE
  N6mach_o11relocatable15CFStringSectionI3armEE
 -N6mach_o11relocatable15CFStringSectionI3x86EE
 -N6mach_o11relocatable15CFStringSectionI6x86_64EE
  N6mach_o11relocatable15Literal4SectionI3armEE
 -N6mach_o11relocatable15Literal4SectionI3x86EE
 -N6mach_o11relocatable15Literal4SectionI6x86_64EE
  N6mach_o11relocatable15Literal8SectionI3armEE
 -N6mach_o11relocatable15Literal8SectionI3x86EE
 -N6mach_o11relocatable15Literal8SectionI6x86_64EE
  N6mach_o11relocatable15SymboledSectionI3armEE
 -N6mach_o11relocatable15SymboledSectionI3x86EE
 -N6mach_o11relocatable15SymboledSectionI6x86_64EE
  N6mach_o11relocatable16FixedSizeSectionI3armEE
 -N6mach_o11relocatable16FixedSizeSectionI3x86EE
 -N6mach_o11relocatable16FixedSizeSectionI6x86_64EE
  N6mach_o11relocatable16Literal16SectionI3armEE
 -N6mach_o11relocatable16Literal16SectionI3x86EE
 -N6mach_o11relocatable16Literal16SectionI6x86_64EE
  N6mach_o11relocatable17ObjC1ClassSectionI3armEE
 -N6mach_o11relocatable17ObjC1ClassSectionI3x86EE
 -N6mach_o11relocatable17ObjC1ClassSectionI6x86_64EE
  N6mach_o11relocatable18UTF16StringSectionI3armEE
 -N6mach_o11relocatable18UTF16StringSectionI3x86EE
 -N6mach_o11relocatable18UTF16StringSectionI6x86_64EE
  N6mach_o11relocatable19ImplicitSizeSectionI3armEE
 -N6mach_o11relocatable19ImplicitSizeSectionI3x86EE
 -N6mach_o11relocatable19ImplicitSizeSectionI6x86_64EE
  N6mach_o11relocatable20Objc1ClassReferencesI3armEE
 -N6mach_o11relocatable20Objc1ClassReferencesI3x86EE
 -N6mach_o11relocatable20Objc1ClassReferencesI6x86_64EE
  N6mach_o11relocatable21AbsoluteSymbolSectionI3armEE
 -N6mach_o11relocatable21AbsoluteSymbolSectionI3x86EE
 -N6mach_o11relocatable21AbsoluteSymbolSectionI6x86_64EE
  N6mach_o11relocatable21NonLazyPointerSectionI3armEE
 -N6mach_o11relocatable21NonLazyPointerSectionI3x86EE
 -N6mach_o11relocatable21NonLazyPointerSectionI6x86_64EE
  N6mach_o11relocatable21ObjC2ClassRefsSectionI3armEE
 -N6mach_o11relocatable21ObjC2ClassRefsSectionI3x86EE
 -N6mach_o11relocatable21ObjC2ClassRefsSectionI6x86_64EE
  N6mach_o11relocatable23PointerToCStringSectionI3armEE
 -N6mach_o11relocatable23PointerToCStringSectionI3x86EE
 -N6mach_o11relocatable23PointerToCStringSectionI6x86_64EE
  N6mach_o11relocatable24ObjC2CategoryListSectionI3armEE
 -N6mach_o11relocatable24ObjC2CategoryListSectionI3x86EE
 -N6mach_o11relocatable24ObjC2CategoryListSectionI6x86_64EE
  N6mach_o11relocatable26TentativeDefinitionSectionI3armEE
 -N6mach_o11relocatable26TentativeDefinitionSectionI3x86EE
 -N6mach_o11relocatable26TentativeDefinitionSectionI6x86_64EE
  N6mach_o11relocatable4AtomI3armEE
 -N6mach_o11relocatable4AtomI3x86EE
 -N6mach_o11relocatable4AtomI6x86_64EE
  N6mach_o11relocatable4FileI3armEE
 -N6mach_o11relocatable4FileI3x86EE
 -N6mach_o11relocatable4FileI6x86_64EE
  N6mach_o11relocatable7SectionI3armEE
 -N6mach_o11relocatable7SectionI3x86EE
 -N6mach_o11relocatable7SectionI6x86_64EE
  N6mach_o11relocatable9CUSectionI3armEE
 -N6mach_o11relocatable9CUSectionI3x86EE
 -N6mach_o11relocatable9CUSectionI6x86_64EE
  N6mach_o5dylib10ExportAtomI3armEE
  N6mach_o5dylib10ExportAtomI3x86EE
  N6mach_o5dylib10ExportAtomI6x86_64EE
 @@ -1082,7 +1009,6 @@ categoryOnClassAtom != NULL
  cd %s
  cfa had negative offset (dwarf might contain epilog)
  cfiParse
 -cfiStartsArray[i] != cfiStartsArray[i-1]
  cie->section().type() == ld::Section::typeCFI
  clang -arch $arch -c -fno-builtin -o tmp_object.o -x c dylib_stubs/$file
  clang -arch $arch -c -fno-builtin -o tmp_object.o -x c
 framework_stubs/$file
 }}}

 So obviously a bunch of symbols relating to x86_64 are gone...

 That last one for "cfiStartsArray[i] != cfiStartsArray[i-1]" is
 interesting as it comes from:

         #ifndef NDEBUG
                 // scan for FDEs claming the same function
                 for(int i=1; i < index; ++i) {
                         assert( cfiStartsArray[i] != cfiStartsArray[i-1]
 );
                 }
         #endif

-- 
Ticket URL: <https://trac.macports.org/ticket/36026#comment:51>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list