Commit Graph

19 Commits

Author SHA1 Message Date
Bart Sears 61f675bb53 Revert "Hide unwinder symbols in each binary."
This reverts commit dc30a16ba2.

Change-Id: Ib6af148bcaa3041b3040e525442a39b493852794
2015-06-23 19:23:13 +00:00
Dan Albert dc30a16ba2 Hide unwinder symbols in each binary.
These symbols need to always be resolved for each binary. Making these
symbols hidden means that we will get a build breakage if this doesn't
happen, and should also prevent the situation where one unwinder's
symbols are visible to the other.

Bug: 18471342
Bug: 19958712
Change-Id: Ieff1f10dab254b60ed120410f45998cf75bb5b9b
2015-06-22 15:54:57 -07:00
Dan Albert 2a4a023a54 Fix using libc++_static in dynamic binaries.
Change-Id: I89bacfbf270d2d1bc1b9b2fa6951b355a67b808c
2015-05-12 14:07:18 -07:00
Dan Albert 5ee74388b1 Merge "Disallow using stlport." 2015-05-06 19:53:43 +00:00
Dan Albert 3a360a7353 Disallow using stlport.
The only remaining users of stlport are vendor blobs. Prevent any new
users from using it.

Bug: http://b/15193147
Change-Id: I577a16c8c52e2c7d939c3b5026e18ad90e4b9f26
2015-05-06 10:10:30 -07:00
Dan Albert 0ad5bd22c8 Cleanup libc++ configuration.
Change-Id: I2162f2a19c7f13cfbd4a2530a783a4e671d7cdb1
2015-05-06 10:09:50 -07:00
Dan Albert 88a8ce6946 Select the correct target STL with USE_MINGW.
The previous check tested against USE_MINGW even for target builds.
Hadn't been a problem because people don't typically set USE_MINGW
directly.

Change-Id: I90fe0ea890c44917eb29dd02d7c7f76c19e7fbd6
2015-05-04 16:34:19 -07:00
Dan Albert 3e99e66213 Don't use libunwindbacktrace for non-ARM.
After fixing the link order here, it seems libunwindbacktrace no
longer works for exception unwinding, but libgcc now does.

Change-Id: Ice79af4b8f234ed6a053ee818b6dec3aa9706c8a
2015-04-14 14:42:45 -07:00
Dan Albert 5036729c41 Add unwinder linking to STL setup.
Previously we were bundling this into libc++ and having each binary
resolve its symbols from there. This means that the unwinder that gets
used for a given binary is sensitive to the order in which its
libraries are linked. Making this a static library dependency of each
binary means the right unwinder will always be used.

Bug: 18471342
Bug: 19958712
Change-Id: I782d212784dbf85355b5d9146d7460d675259a0e
2015-03-31 18:29:23 -07:00
Dan Albert 7955bf0fd6 Static binaries with libc++ need libs c, m and dl.
Can't be done on the user's end because these libraries all need to be
linked after libc++_static.

Change-Id: Ib21364e6f43689cf59da31d6f561919731ef8272
2015-03-19 13:05:13 -07:00
Dan Albert d666bb1009 Fix the mac build.
Bug: 19567451
Change-Id: I6d15259520c9813df1a44d9244c99482f713d114
2015-03-03 21:47:04 -08:00
Dan Albert b5eb905729 Catch more cases of static host executables.
Bug: 19567451
Change-Id: Ie1de436db74b727421449b43b192e9599ca8fca6
2015-03-03 18:30:27 -08:00
Dan Albert 4f2afde252 (Hopefully) fix the Mac build.
The Mac linker doesn't understand --start-group, which is needed for
properly linking libgcc/libc statically. It isn't needed for dynamic
executables though, so use that driver behavior where appropriate.

Bug: 19567451
Change-Id: Ifeb03bea55bc87561c64ddafdb99f664fef0f00e
2015-03-03 17:42:28 -08:00
Dan Albert 8bf4cc97c2 Fix building static host executables.
BUILD_HOST_static=1 forces all host binaries to be statically linked.
Since -nodefaultlibs was passed (to disable libstdc++), libgcc wasn't
being passed. This change emulates the driver's behavior.

Also fix default STL selection for BUILD_HOST_static.

Bug: 19567451
Change-Id: I617aab782d40ac76ca5a7d9dddf0f202a4e3a69b
2015-03-03 15:08:11 -08:00
Dan Albert 93766b28ce Make libc++ the default STL.
Previously, code defaulted to using libstdc++ (which was GNU libstdc++
on the host, or Bionic's "libstdc++" on the target). Now we default to
libc++. The exception for this is when using mingw, because we cannot
build libc++ for mingw.

Change-Id: I68726fa26cdcb6263f17c838d3e859debd57fae1
2014-11-07 13:24:56 -08:00
Dan Albert 5cab04ffd2 Missed a dependency on pthreads.
Change-Id: I060c9c65b07efe89a308fccf71a1096424a7de39
2014-11-06 17:32:25 -08:00
Dan Albert 93e8cf71fc Use libstc++ for the name of bionic's STL.
It is libstdc++.so, after all, and the naming makes sense for the host
this way (since it also uses libstdc++).

Change-Id: If37ffa015f7967a928ea47a290363d7696c4ce35
2014-10-16 21:18:15 -07:00
Dan Albert b49987e2f8 Never use stlport on the host.
LOCAL_CXX_STL := stlport should just use the default STL on the host.

Change-Id: Iede1b2d8884e237a10e000e5835addb768c8f78d
2014-10-16 09:53:51 -07:00
Ying Wang 75e8fcbb6c Apply LOCAL_CXX_STL to also prebuilts.
Because LOCAL_CXX_STL modifies a module's required shared libaries,
we need this for also prebuilt shared libraries and executables.

Change-Id: I418c26143999a613c40aadf990f131b123e0ac3d
2014-10-07 13:07:00 -07:00