Opened 8 years ago

Closed 8 years ago

#52663 closed update (fixed)

libcxxabi patch to update to 3.9.0

Reported by: ken-cunningham-webuse Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: larryv (Lawrence Velázquez)
Port: libcxxabi

Description

builds and installs libcxxabi 3.9.0.

because we're not using cmake, we need to delete the unwanted exception source file.

to help out Jeremy for someday when this bubbles up to the top of the list.

Attachments (1)

patch-libcxx-3.9.0-update.diff (1.8 KB) - added by ken-cunningham-webuse 8 years ago.

Download all attachments as: .zip

Change History (10)

Changed 8 years ago by ken-cunningham-webuse

comment:1 Changed 8 years ago by ken-cunningham-webuse

evidence

sudo port -v installed libcxxabi
The following ports are currently installed:
  libcxxabi @3.7.0_1+universal platform='darwin 10' archs='i386 x86_64'
  libcxxabi @3.9.0_0+universal (active) platform='darwin 10' archs='i386 x86_64'
$ ls -la /usr/lib/libc++abi*
-rwxr-xr-x  1 root  admin   776752 19 Oct 16:38 /usr/lib/libc++abi.dylib
$ otool -L /usr/lib/libc++abi.dylib
/usr/lib/libc++abi.dylib:
	/usr/lib/libc++abi.dylib (compatibility version 1.0.0, current version 3.9.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)

and a c++ port, aria2, builds and seems to work correctly.

testing libc++abi is complicated though. Seems to need libcxx as well, and had to rebuild it with the cmake system to get it to even think about starting the tests. Haven't yet succeeded in running them, though.

comment:2 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jeremyhu@… removed
Keywords: haspatch added
Owner: changed from macports-tickets@… to jeremyhu@…
Port: libcxxabi added

comment:3 Changed 8 years ago by larryv (Lawrence Velázquez)

I think the LLVM project clearly has a preference for CMake at this point. We should probably switch to it for this port as we already have for the LLVM ports.

comment:4 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Thanks, Ken. Note that you should never decrease the epoch in a Portfile.

comment:5 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Using cmake to build libcxxabi and libcxx introduces a dependency cycle. That’s why we’re not using it.

comment:6 Changed 8 years ago by ken-cunningham-webuse

I've only posted this for convenience. Until it is much more thoroughly tested, it would make little sense to put an update through. I haven't as yet tried to build this with anything other than clang-3.7 with libc++ selected, and I couldn't actually point to any significant enhancements the update would bring as yet.

I had hoped to implement the TLS fallback with this version, but having some struggles building it still.

:info:build ../src/cxa_thread_atexit.cpp:65:3: error: thread-local storage is not supported for the current target
:info:build   __thread DtorList* dtors = nullptr;
:info:build   ^
:info:build ../src/cxa_thread_atexit.cpp:67:3: error: thread-local storage is not supported for the current target
:info:build   __thread bool dtors_alive = false;

might be able to figure out some chord of #defines that will make progress -- but I saw mentioned on the page where the TLS fallback patch was implemented that Darwin 10 might not have the chops to support this. We'll see...

comment:7 Changed 8 years ago by mf2k (Frank Schima)

Type: submissionupdate
Version: 2.3.4

comment:8 Changed 8 years ago by larryv (Lawrence Velázquez)

Cc: larryv added

comment:9 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

To github.com:macports/macports-ports.git

e6cf6a4..bff6ff3 master -> master

Note: See TracTickets for help on using tickets.