[132142] trunk/dports/devel/ld64
jeremyhu at macports.org
jeremyhu at macports.org
Sat Jan 24 01:45:41 PST 2015
Revision: 132142
https://trac.macports.org/changeset/132142
Author: jeremyhu at macports.org
Date: 2015-01-24 01:45:41 -0800 (Sat, 24 Jan 2015)
Log Message:
-----------
ld64: Refactor into a primary port with subports for each available version
Modified Paths:
--------------
trunk/dports/devel/ld64/Portfile
Added Paths:
-----------
trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch
Modified: trunk/dports/devel/ld64/Portfile
===================================================================
--- trunk/dports/devel/ld64/Portfile 2015-01-24 05:39:15 UTC (rev 132141)
+++ trunk/dports/devel/ld64/Portfile 2015-01-24 09:45:41 UTC (rev 132142)
@@ -3,206 +3,279 @@
PortSystem 1.0
name ld64
-epoch 1
-# XCode 5.1
-version 236.3
-revision 2
+epoch 2
+version 1
categories devel
platforms darwin
maintainers jeremyhu
homepage http://opensource.apple.com/source/${name}/
master_sites http://opensource.apple.com/tarballs/${name}/
license APSL-2
-depends_build path:include/mach-o/dyld_priv.h:dyld-headers \
- path:include/mach-o/arm/reloc.h:libmacho-headers
description ld64 is the new mach-o linker
long_description ld64 combines several object files and libraries, \
resolves references, and produces an ouput file.
-checksums rmd160 6a3f44aa9ae57a60d2cff5b3d47be7972ad83029 \
- sha256 8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6
-
-patchfiles ld64-version.patch ld64-133-no-CrashReporterClient.h.patch ld64-134-missing-include.patch ld64-136-i386-badAddress.patch PR-16935960.patch PR-16936488.patch
-
-# We don't set llvmXX as the default variant on Tiger because it would introduce a
-# dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users
-# wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm
-# has been installed.
-if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37]} {
- if {${os.major} >= 13} {
- default_variants +llvm35
- } elseif {${os.major} >= 9} {
- default_variants +llvm34
- }
-
- if {![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37] && ${os.major} >= 9} {
- ui_error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
- return -code error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
- }
-}
-
-variant universal {}
-
-set llvm_version {}
-variant llvm33 conflicts llvm34 llvm35 llvm36 llvm37 description {Use llvm-3.3 for libLTO} {
- set llvm_version 3.3
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm34 conflicts llvm33 llvm35 llvm36 llvm37 description {Use llvm-3.4 for libLTO} {
- set llvm_version 3.4
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm35 conflicts llvm33 llvm34 llvm36 llvm37 description {Use llvm-3.5 for libLTO} {
- set llvm_version 3.5
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm36 conflicts llvm33 llvm34 llvm35 llvm37 description {Use llvm-3.6 for libLTO} {
- set llvm_version 3.6
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm37 conflicts llvm33 llvm34 llvm35 llvm36 description {Use llvm-3.7 for libLTO} {
- set llvm_version 3.7
- depends_lib-append port:llvm-${llvm_version}
-}
-
-set makefile "Makefile-133"
-
-set cxx_stdlibflags {}
-if {[string match *clang* ${configure.cxx}]} {
- set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
-}
-
-if {${os.major} < 10} {
- # Leopard and earlier didn't have libunwind.h in the SDK
- depends_build-append path:include/libunwind.h:libunwind-headers
-}
-
-if {${os.major} < 9} {
+subport ld64-97 {
# XCode 3.2.6
version 97.17
- revision 4
+
checksums rmd160 d52df7d7f741c8bedd29cbac73dbb9db992b4795 \
sha256 02bd46af0809eaa415d096d7d41c3e8e7d80f7d8d181840866fb87f036b4e089
set makefile "Makefile-97"
+ set ld64_ver 97
- patchfiles-delete ld64-133-no-CrashReporterClient.h.patch ld64-134-missing-include.patch ld64-136-i386-badAddress.patch PR-16935960.patch PR-16936488.patch
- patchfiles-append ld64-97-no-LTO.patch ld64-97-ppc-branch-island.patch ld64-97-arm_types_PR38931.patch ld64-97-long-branch-warn.patch ld64-97-standalone-libunwind-headers.patch ld64-97-no-Availability.h.patch
-} elseif {${os.major} < 10 || "ppc" in [get_canonical_archs]} {
+ patchfiles \
+ ld64-version.patch \
+ ld64-97-no-LTO.patch \
+ ld64-97-ppc-branch-island.patch \
+ ld64-97-arm_types_PR38931.patch \
+ ld64-97-long-branch-warn.patch \
+ ld64-97-standalone-libunwind-headers.patch \
+ ld64-97-no-Availability.h.patch \
+ ld64-97-BaseAtomImplicitDecl.patch
+}
+
+subport ld64-127 {
# XCode 4.2
# This was the last ld64 release that supported linking ppc executables.
version 127.2
- revision 9
+
checksums rmd160 8ee709341549a1944732daef6ebab7ef1acfcc6e \
sha256 97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142
set makefile "Makefile-127"
+ set ld64_ver 127
- patchfiles-delete ld64-133-no-CrashReporterClient.h.patch ld64-136-i386-badAddress.patch PR-16935960.patch PR-16936488.patch
- patchfiles-append ld64-127-any-cctools.patch ld64-127-long-branch-warn.patch ld64-127-cxx_initializer_order_and_sim.patch ld64-127-ppc.patch ld64-97-no-Availability.h.patch
-} elseif {${os.major} < 11} {
+ patchfiles-append \
+ ld64-version.patch \
+ ld64-134-missing-include.patch \
+ ld64-127-any-cctools.patch \
+ ld64-127-long-branch-warn.patch \
+ ld64-127-cxx_initializer_order_and_sim.patch \
+ ld64-127-ppc.patch \
+ ld64-97-no-Availability.h.patch
+}
+
+subport ld64-136 {
# XCode 4.6
- # Until we figure out a way to better bootstrap ld64-236 on SnowLeopard or fix its build failure
version 136
- revision 3
+
checksums rmd160 4a2930ccdd398b63a108810e90293ab96dc154a0 \
sha256 99d6c4acb6d4cdf45772951dd2308222aa966763170137459a9d276674645d9e
- patchfiles-delete PR-16935960.patch PR-16936488.patch
- patchfiles-append ld64-136-hash_set.patch
-} else {
+ set makefile "Makefile-133"
+ set ld64_ver 136
+
+ patchfiles-append \
+ ld64-version.patch \
+ ld64-133-no-CrashReporterClient.h.patch \
+ ld64-134-missing-include.patch \
+ ld64-136-i386-badAddress.patch \
+ ld64-136-hash_set.patch
+}
+
+subport ld64-latest {
+ # XCode 5.1
+ version 236.3
+
+ checksums rmd160 6a3f44aa9ae57a60d2cff5b3d47be7972ad83029 \
+ sha256 8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6
+
# http://trac.macports.org/ticket/43737
compiler.blacklist-append *gcc*
+ set makefile "Makefile-133"
+ set ld64_ver latest
+
+ patchfiles-append \
+ ld64-version.patch \
+ ld64-133-no-CrashReporterClient.h.patch \
+ ld64-134-missing-include.patch \
+ ld64-136-i386-badAddress.patch \
+ PR-16935960.patch \
+ PR-16936488.patch
+
if {${configure.cxx_stdlib} eq "libstdc++"} {
patchfiles-append ld64-236-hash_set.patch
}
}
-platform darwin 8 {
+variant universal {}
+
+if {${subport} eq ${name}} {
+ distfiles
+ build {}
+ use_configure no
+
+ if {${os.major} < 9} {
+ set ld64_ver 97
+ } elseif {${os.major} < 10 || "ppc" in [get_canonical_archs]} {
+ set ld64_ver 127
+ } elseif {${os.major} < 11} {
+ set ld64_ver 136
+ } else {
+ set ld64_ver latest
+ }
+
+ depends_run port:ld64-${ld64_ver}
+
+ destroot {
+ ln -s dyldinfo-${ld64_ver} ${destroot}${prefix}/bin/dyldinfo
+ ln -s ld-${ld64_ver} ${destroot}${prefix}/bin/ld
+ ln -s machocheck-${ld64_ver} ${destroot}${prefix}/bin/machocheck
+ ln -s ObjectDump-${ld64_ver} ${destroot}${prefix}/bin/ObjectDump
+ ln -s rebase-${ld64_ver} ${destroot}${prefix}/bin/rebase
+ ln -s unwinddump-${ld64_ver} ${destroot}${prefix}/bin/unwinddump
+
+ file mkdir ${destroot}${prefix}/libexec/ld64
+ ln -s ld-${ld64_ver} ${destroot}${prefix}/libexec/ld64/ld
+ }
+} else {
+ depends_build path:include/mach-o/dyld_priv.h:dyld-headers \
+ path:include/mach-o/arm/reloc.h:libmacho-headers
+
+ # We don't set llvmXX as the default variant on Tiger because it would introduce a
+ # dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users
+ # wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm
+ # has been installed.
+
+ if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37]} {
+ if {${os.major} >= 13} {
+ default_variants +llvm35
+ } elseif {${os.major} >= 9} {
+ default_variants +llvm34
+ }
+
+ if {![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37] && ${os.major} >= 9} {
+ ui_error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
+ return -code error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
+ }
+ }
+
+ set llvm_version {}
+ variant llvm33 conflicts llvm34 llvm35 llvm36 llvm37 description {Use llvm-3.3 for libLTO} {
+ set llvm_version 3.3
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm34 conflicts llvm33 llvm35 llvm36 llvm37 description {Use llvm-3.4 for libLTO} {
+ set llvm_version 3.4
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm35 conflicts llvm33 llvm34 llvm36 llvm37 description {Use llvm-3.5 for libLTO} {
+ set llvm_version 3.5
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm36 conflicts llvm33 llvm34 llvm35 llvm37 description {Use llvm-3.6 for libLTO} {
+ set llvm_version 3.6
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm37 conflicts llvm33 llvm34 llvm35 llvm36 description {Use llvm-3.7 for libLTO} {
+ set llvm_version 3.7
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ if {${os.major} < 10} {
+ # Leopard and earlier didn't have libunwind.h in the SDK
+ depends_build-append path:include/libunwind.h:libunwind-headers
+ }
+
+ compiler.blacklist-append gcc-4.0
+
pre-fetch {
- if {${llvm_version} != ""} {
- if {![file exists ${prefix}/bin/llvm-config-mp-${llvm_version}]} {
- ui_error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
- return -code error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
+ if {${os.major} < 9} {
+ if {${llvm_version} != ""} {
+ if {![file exists ${prefix}/bin/llvm-config-mp-${llvm_version}]} {
+ ui_error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
+ return -code error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
+ }
}
}
}
+ post-extract {
+ file copy ${filespath}/${makefile} ${worksrcpath}/Makefile
+ }
+
post-patch {
- reinplace "s:-Wl,-exported_symbol,__mh_execute_header::g" \
- ${worksrcpath}/Makefile
+ reinplace "s|@@VERSION@@|${version}|g" \
+ ${worksrcpath}/src/ld/Options.cpp
- foreach reg {cr ctr eax ebp ebx ecx edi edx eip esi esp lr mq r0 r1 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r2 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r3 r30 r31 r4 r5 r6 r7 r8 r9 rax rbp rbx rcx rdi rdx rip rsi rsp srr0 srr1 vrsave xer} {
- reinplace "s|__${reg}|${reg}|g" ${worksrcpath}/src/ld/parsers/libunwind/Registers.hpp
+ if {${os.major} < 9} {
+ # No CommonCrypto, use openssl
+ reinplace "s:<CommonCrypto/CommonDigest.h>:<openssl/md5.h>:" \
+ ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
+ reinplace "s:CC_MD5:MD5:" \
+ ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
+
+ reinplace "s:-Wl,-exported_symbol,__mh_execute_header::g" \
+ ${worksrcpath}/Makefile
+
+ foreach reg {cr ctr eax ebp ebx ecx edi edx eip esi esp lr mq r0 r1 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r2 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r3 r30 r31 r4 r5 r6 r7 r8 r9 rax rbp rbx rcx rdi rdx rip rsi rsp srr0 srr1 vrsave xer} {
+ reinplace "s|__${reg}|${reg}|g" ${worksrcpath}/src/ld/parsers/libunwind/Registers.hpp
+ }
}
}
-}
-compiler.blacklist-append gcc-4.0
+ configure {
+ system "cd ${worksrcpath} && ${build.cmd} src/ld/configure.h"
+ }
-post-extract {
- file copy ${filespath}/${makefile} ${worksrcpath}/Makefile
-}
+ set cxx_stdlibflags {}
+ if {[string match *clang* ${configure.cxx}]} {
+ set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
+ }
-post-patch {
- reinplace "s|@@VERSION@@|${version}|g" \
- ${worksrcpath}/src/ld/Options.cpp
+ build.args \
+ CC="${configure.cc}" \
+ CXX="${configure.cxx}" \
+ OTHER_CPPFLAGS="${configure.cppflags}" \
+ OTHER_CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
+ OTHER_CXXFLAGS="${configure.cxxflags} ${cxx_stdlibflags} [get_canonical_archflags cxx]" \
+ OTHER_LDFLAGS="${configure.ldflags} ${cxx_stdlibflags} [get_canonical_archflags ld]"
- if {${os.major} < 9} {
- # No CommonCrypto, use openssl
- reinplace "s:<CommonCrypto/CommonDigest.h>:<openssl/md5.h>:" \
- ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
- reinplace "s:CC_MD5:MD5:" \
- ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
- }
-}
+ if {${os.major} >= 11} {
+ build.args-append \
+ RC_SUPPORTED_ARCHS="armv6 armv7 i386 x86_64"
+ }
-configure {
- system "cd ${worksrcpath} && ${build.cmd} src/ld/configure.h"
-}
+ destroot.args \
+ PREFIX=${prefix}
-build.args \
- CC="${configure.cc}" \
- CXX="${configure.cxx}" \
- OTHER_CPPFLAGS="${configure.cppflags}" \
- OTHER_CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
- OTHER_CXXFLAGS="${configure.cxxflags} ${cxx_stdlibflags} [get_canonical_archflags cxx]" \
- OTHER_LDFLAGS="${configure.ldflags} ${cxx_stdlibflags} [get_canonical_archflags ld]"
+ pre-build {
+ if {${llvm_version} != ""} {
+ build.args-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_version}
+ }
-if {${os.major} >= 11} {
- build.args-append \
- RC_SUPPORTED_ARCHS="armv6 armv7 i386 x86_64"
-}
+ if {${os.major} < 9} {
+ build.args-append OTHER_LDFLAGS_LD64=-lcrypto
+ }
+ }
-destroot.args \
- PREFIX=${prefix}
+ post-destroot {
+ # ${prefix}/bin/ld will always use the llvm we built against
+ # ${prefix}/libexec/ld64/ld uses relative linking for use with the llvm ports
+ file mkdir ${destroot}${prefix}/libexec/ld64
+ file copy ${destroot}${prefix}/bin/ld ${destroot}${prefix}/libexec/ld64/ld-${ld64_ver}
-pre-build {
- if {${llvm_version} != ""} {
- build.args-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_version}
- }
+ file rename ${destroot}${prefix}/bin/dyldinfo ${destroot}${prefix}/bin/dyldinfo-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/ld ${destroot}${prefix}/bin/ld-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/machocheck ${destroot}${prefix}/bin/machocheck-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/ObjectDump ${destroot}${prefix}/bin/ObjectDump-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/rebase ${destroot}${prefix}/bin/rebase-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/unwinddump ${destroot}${prefix}/bin/unwinddump-${ld64_ver}
- if {${os.major} < 9} {
- build.args-append OTHER_LDFLAGS_LD64=-lcrypto
- }
-}
+ eval delete [glob ${destroot}${prefix}/share/man/man1/*]
-post-destroot {
- # ${prefix}/bin/ld will always use the llvm we built against
- # ${prefix}/libexec/ld64/ld uses relative linking for use with the llvm ports
- file mkdir ${destroot}${prefix}/libexec/ld64
- file copy ${destroot}${prefix}/bin/ld ${destroot}${prefix}/libexec/ld64/ld
-
- if {${llvm_version} != ""} {
- system "install_name_tool -change ${prefix}/libexec/llvm-${llvm_version}/lib/libLTO.dylib \
- @executable_path/../lib/libLTO.dylib ${destroot}${prefix}/libexec/ld64/ld"
+ if {${llvm_version} != ""} {
+ system "install_name_tool -change ${prefix}/libexec/llvm-${llvm_version}/lib/libLTO.dylib \
+ @executable_path/../lib/libLTO.dylib ${destroot}${prefix}/libexec/ld64/ld-${ld64_ver}"
+ }
}
}
-livecheck.type regex
-livecheck.regex "${name}-(\[\\d.\]+)"
+livecheck.type none
Added: trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch
===================================================================
--- trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch (rev 0)
+++ trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch 2015-01-24 09:45:41 UTC (rev 132142)
@@ -0,0 +1,82 @@
+--- src/ld/MachOReaderRelocatable.hpp.orig 2015-01-24 01:24:52.000000000 -0800
++++ src/ld/MachOReaderRelocatable.hpp 2015-01-24 01:40:57.000000000 -0800
+@@ -62,7 +62,38 @@ extern void warning(const char* format,
+ namespace mach_o {
+ namespace relocatable {
+
++class BaseAtom : public ObjectFile::Atom
++{
++public:
++ BaseAtom() : fStabsStartIndex(0), fStabsCount(0), fHasCompactUnwindInfo(false) {}
+
++ virtual void setSize(uint64_t size) = 0;
++ virtual void addReference(ObjectFile::Reference* ref) = 0;
++ virtual void sortReferences() = 0;
++ virtual void addLineInfo(const ObjectFile::LineInfo& info) = 0;
++ virtual const ObjectFile::ReaderOptions& getOptions() const = 0;
++ virtual uint64_t getObjectAddress() const = 0;
++ virtual uint32_t getOrdinal() const { return fOrdinal; }
++ virtual void setOrdinal(uint32_t value) { fOrdinal = value; }
++ virtual const void* getSectionRecord() const = 0;
++ virtual unsigned int getSectionIndex() const = 0;
++ virtual bool isAlias() const { return false; }
++ virtual uint8_t getLSDAReferenceKind() const { return 0; }
++ virtual uint8_t getPersonalityReferenceKind() const { return 0; }
++ virtual uint32_t getCompactUnwindEncoding(uint64_t ehAtomAddress) { return 0; }
++ virtual ObjectFile::UnwindInfo::iterator beginUnwind() { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[0] : NULL; }
++ virtual ObjectFile::UnwindInfo::iterator endUnwind() { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[1] : NULL; }
++ virtual ObjectFile::Reference* getLSDA();
++ virtual ObjectFile::Reference* getFDE();
++ virtual Atom* getPersonalityPointer();
++ virtual void setCompactUnwindEncoding(uint64_t ehAtomAddress);
++
++ uint32_t fStabsStartIndex;
++ uint32_t fStabsCount;
++ uint32_t fOrdinal;
++ ObjectFile::UnwindInfo fSingleUnwindInfo[1];
++ bool fHasCompactUnwindInfo;
++};
+
+ class ReferenceSorter
+ {
+@@ -274,40 +305,6 @@ public:
+
+ LinkEditSegment LinkEditSegment::fgSingleton;
+
+-class BaseAtom : public ObjectFile::Atom
+-{
+-public:
+- BaseAtom() : fStabsStartIndex(0), fStabsCount(0), fHasCompactUnwindInfo(false) {}
+-
+- virtual void setSize(uint64_t size) = 0;
+- virtual void addReference(ObjectFile::Reference* ref) = 0;
+- virtual void sortReferences() = 0;
+- virtual void addLineInfo(const ObjectFile::LineInfo& info) = 0;
+- virtual const ObjectFile::ReaderOptions& getOptions() const = 0;
+- virtual uint64_t getObjectAddress() const = 0;
+- virtual uint32_t getOrdinal() const { return fOrdinal; }
+- virtual void setOrdinal(uint32_t value) { fOrdinal = value; }
+- virtual const void* getSectionRecord() const = 0;
+- virtual unsigned int getSectionIndex() const = 0;
+- virtual bool isAlias() const { return false; }
+- virtual uint8_t getLSDAReferenceKind() const { return 0; }
+- virtual uint8_t getPersonalityReferenceKind() const { return 0; }
+- virtual uint32_t getCompactUnwindEncoding(uint64_t ehAtomAddress) { return 0; }
+- virtual ObjectFile::UnwindInfo::iterator beginUnwind() { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[0] : NULL; }
+- virtual ObjectFile::UnwindInfo::iterator endUnwind() { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[1] : NULL; }
+- virtual ObjectFile::Reference* getLSDA();
+- virtual ObjectFile::Reference* getFDE();
+- virtual Atom* getPersonalityPointer();
+- virtual void setCompactUnwindEncoding(uint64_t ehAtomAddress);
+-
+- uint32_t fStabsStartIndex;
+- uint32_t fStabsCount;
+- uint32_t fOrdinal;
+- ObjectFile::UnwindInfo fSingleUnwindInfo[1];
+- bool fHasCompactUnwindInfo;
+-};
+-
+-
+ ObjectFile::Reference* BaseAtom::getLSDA()
+ {
+ const uint8_t groupKind = this->getLSDAReferenceKind();
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150124/c7c08d94/attachment-0001.html>
More information about the macports-changes
mailing list