summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Brubaker <cbrubaker@google.com>2013-05-22 14:11:03 -0700
committerChad Brubaker <cbrubaker@google.com>2013-05-22 14:11:03 -0700
commit4018ebf35d1ab1cd6b1340f44df0a1095cb5d10d (patch)
tree7b14a2cfea8e6b335307b0d2647fd0d626fe3752
parentf8216f042375c79640f7319964dcffbb2b39f66e (diff)
downloadzlib-4018ebf35d1ab1cd6b1340f44df0a1095cb5d10d.tar.gz
Add signed integer overflow checking to zlib
Migrate zlib over to Clang in order to use -ftrap to abort on signed overflow Change-Id: Ib2feb1dca89e18b4621b2fee0004b0f4d96d3dce
-rw-r--r--Android.mk16
1 files changed, 16 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
index 3780c89..532c86c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,6 +4,7 @@ include $(CLEAR_VARS)
# measurements show that the ARM version of ZLib is about x1.17 faster
# than the thumb one...
LOCAL_ARM_MODE := arm
+LOCAL_CLANG := true
zlib_files := \
src/adler32.c \
@@ -25,6 +26,7 @@ zlib_files := \
LOCAL_MODULE := libz
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -O3 -DUSE_MMAP
+LOCAL_CFLAGS += -ftrapv
LOCAL_SRC_FILES := $(zlib_files)
ifeq ($(TARGET_ARCH),arm)
LOCAL_SDK_VERSION := 9
@@ -33,10 +35,12 @@ include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libz
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -O3 -DUSE_MMAP
+LOCAL_CFLAGS += -ftrapv
LOCAL_SRC_FILES := $(zlib_files)
ifeq ($(TARGET_ARCH),arm)
LOCAL_SDK_VERSION := 9
@@ -45,20 +49,24 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libz
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -O3 -DUSE_MMAP
+LOCAL_CFLAGS += -ftrapv
LOCAL_SRC_FILES := $(zlib_files)
include $(BUILD_HOST_STATIC_LIBRARY)
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libz-host
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -O3 -DUSE_MMAP
+LOCAL_CFLAGS += -ftrapv
LOCAL_SRC_FILES := $(zlib_files)
include $(BUILD_HOST_SHARED_LIBRARY)
@@ -72,15 +80,19 @@ include $(BUILD_HOST_SHARED_LIBRARY)
# later, please see if you can get a bit further in removing libunz...
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_SRC_FILES := $(zlib_files)
LOCAL_MODULE:= libunz
LOCAL_ARM_MODE := arm
+LOCAL_CFLAGS += -ftrapv
include $(BUILD_HOST_STATIC_LIBRARY)
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_SRC_FILES := $(zlib_files)
LOCAL_MODULE:= libunz
LOCAL_ARM_MODE := arm
+LOCAL_CFLAGS += -ftrapv
ifeq ($(TARGET_ARCH),arm)
LOCAL_SDK_VERSION := 9
endif
@@ -88,6 +100,7 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_SRC_FILES:= \
src/test/minigzip.c
@@ -95,15 +108,18 @@ LOCAL_MODULE:= gzip
LOCAL_SHARED_LIBRARIES := libz
+LOCAL_CFLAGS += -ftrapv
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_SRC_FILES:= \
src/test/minigzip.c
LOCAL_MODULE:= minigzip
+LOCAL_CFLAGS += -ftrapv
LOCAL_STATIC_LIBRARIES := libz
include $(BUILD_HOST_EXECUTABLE)