Merge "Revert "Switch libm to building with clang.""
This commit is contained in:
commit
eba7c15b69
@ -1,5 +1,5 @@
|
||||
ifneq ($(TARGET_USE_PRIVATE_LIBM),true)
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
# TODO: this comes from from upstream's libc, not libm, but it's an
|
||||
# implementation detail that should have hidden visibility, so it needs
|
||||
@ -232,21 +232,14 @@ libm_ld_src_files += \
|
||||
# TODO: re-enable i387/e_sqrtf.S for x86, and maybe others.
|
||||
|
||||
libm_common_cflags := \
|
||||
-Wall \
|
||||
-Wextra \
|
||||
-Wunused \
|
||||
-Werror=pointer-to-int-cast \
|
||||
-Werror=int-to-pointer-cast \
|
||||
-Werror=type-limits \
|
||||
-Werror \
|
||||
-DFLT_EVAL_METHOD=0 \
|
||||
-std=gnu99 \
|
||||
-std=c99 \
|
||||
-include $(LOCAL_PATH)/freebsd-compat.h \
|
||||
-Wno-missing-braces \
|
||||
-Wno-parentheses \
|
||||
-Wno-sign-compare \
|
||||
-Wno-uninitialized \
|
||||
-Wno-unused-variable \
|
||||
-Wno-unknown-pragmas \
|
||||
-fvisibility=hidden \
|
||||
|
||||
# Workaround the GCC "(long)fn -> lfn" optimization bug which will result in
|
||||
@ -262,8 +255,7 @@ libm_ld_includes := $(LOCAL_PATH)/upstream-freebsd/lib/msun/ld128/
|
||||
# libm.a for target.
|
||||
#
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libm
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_MODULE:= libm
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
|
||||
LOCAL_ARM_MODE := arm
|
||||
LOCAL_CFLAGS := $(libm_common_cflags)
|
||||
@ -295,8 +287,7 @@ include $(BUILD_STATIC_LIBRARY)
|
||||
# libm.so for target.
|
||||
#
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libm
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_MODULE:= libm
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
|
||||
LOCAL_SYSTEM_SHARED_LIBRARIES := libc
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := libm
|
||||
|
@ -22,21 +22,18 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE 1
|
||||
#include <math.h>
|
||||
|
||||
#if !defined(__clang__)
|
||||
// Disable sincos optimization for all functions in this file,
|
||||
// otherwise gcc would generate infinite calls.
|
||||
// Refer to gcc PR46926.
|
||||
// -fno-builtin-sin or -fno-builtin-cos can disable sincos optimization,
|
||||
// but these two options do not work inside optimize pragma in-file.
|
||||
// Thus we just enforce -O0 when compiling this file.
|
||||
// clang doesn't implement this optimization anyway, so it doesn't need this.
|
||||
#pragma GCC optimize ("O0")
|
||||
#endif
|
||||
|
||||
void sincos(double x, double* p_sin, double* p_cos) {
|
||||
*p_sin = sin(x);
|
||||
|
Loading…
Reference in New Issue
Block a user