8a90c1b7e2
This commit allows the package patch to be applied with fuzz factor 0. The fuzz factor specifies how many lines of the patch can be inexactly matched, so the value 0 requires all lines to be exactly matched. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
From 832765d12879fabf799dd80af6e8fee9cd298934 Mon Sep 17 00:00:00 2001
|
|
From: Adam Duskett <Aduskett@gmail.com>
|
|
Date: Tue, 21 Jul 2020 13:08:50 -0700
|
|
Subject: [PATCH] force position independent code
|
|
|
|
Without this option, programs building for arm64 or x86-64 will fail when
|
|
attempting to link to the built libraries with the following (abbreviated)
|
|
error:
|
|
|
|
"relocation against `.rodata' can not be used when making a shared object;
|
|
recompile with -fPIC."
|
|
|
|
Because libabseil-cpp builds static libraries, it is better to set the
|
|
POSITION_INDEPENDENT_CODE to ON instead of forcing fPIC, as forcing fPIC may
|
|
cause relocation errors when shared libraries link against the built static
|
|
libraries.
|
|
|
|
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
|
|
[Dario: make the patch to be applied with fuzz factor 0]
|
|
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
|
---
|
|
CMake/AbseilHelpers.cmake | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
|
|
index 3bd33ce8718d..7f269bd20c21 100644
|
|
--- a/CMake/AbseilHelpers.cmake
|
|
+++ b/CMake/AbseilHelpers.cmake
|
|
@@ -292,6 +292,8 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n")
|
|
target_compile_features(${_NAME} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE})
|
|
endif()
|
|
|
|
+ # Without this setting, other programs such as GRPC will fail when linking.
|
|
+ set_property(TARGET ${_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
# When being installed, we lose the absl_ prefix. We want to put it back
|
|
# to have properly named lib files. This is a no-op when we are not being
|
|
# installed.
|
|
--
|
|
2.43.0
|
|
|