Link sigchain to surfaceflinger main executable

And export necessary symbols to preempt calls from libart.so

Bug: 15345057
Bug: 15426766
Change-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de
This commit is contained in:
Dmitriy Ivanov 2014-10-07 13:40:41 -07:00
parent cde4b13a12
commit f3da24d8cf
2 changed files with 27 additions and 3 deletions

View File

@ -106,17 +106,24 @@ include $(BUILD_SHARED_LIBRARY)
# build surfaceflinger's executable
include $(CLEAR_VARS)
LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\"
LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" -Iart
LOCAL_CPPFLAGS:= -std=c++11
# TODO: Trying to link libsigchain as a static library prevents
# static linker from exporting necessary symbols. So as a workaround
# we use sigchain.o
LOCAL_SRC_FILES:= \
main_surfaceflinger.cpp
main_surfaceflinger.cpp \
sigchain_proxy.cpp
LOCAL_SHARED_LIBRARIES := \
libsurfaceflinger \
libcutils \
liblog \
libbinder \
libutils
libutils \
libdl
LOCAL_MODULE:= surfaceflinger

View File

@ -0,0 +1,17 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "sigchainlib/sigchain.cc"