forked from rarias/bscpkgs
Enable -fPIC in Nanos6 loader
This commit is contained in:
parent
898534ee52
commit
9fae434553
@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "YGj/cubqXaNt4lR2CnSU+nXvi+SdB56EXLhfN/ufjHs=";
|
sha256 = "YGj/cubqXaNt4lR2CnSU+nXvi+SdB56EXLhfN/ufjHs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./fpic.patch ];
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
patchShebangs scripts/generate_config.sh
|
patchShebangs scripts/generate_config.sh
|
||||||
'';
|
'';
|
||||||
|
57
bsc/nanos6/fpic.patch
Normal file
57
bsc/nanos6/fpic.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 5718226456dcf0e422200d1289a14816f51bd39d..c4d49a80f3899b6439184837555c03337b832018 100755
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -115,7 +115,7 @@ lib_LTLIBRARIES = \
|
||||||
|
libnanos6-optimized-discrete-verbose.la \
|
||||||
|
libnanos6-optimized-regions-verbose.la
|
||||||
|
|
||||||
|
-noinst_LIBRARIES = libnanos6-main-wrapper.a libnanos6-library-mode.a
|
||||||
|
+noinst_LTLIBRARIES = libnanos6-main-wrapper.la libnanos6-library-mode.la
|
||||||
|
lib_OBJECTS = nanos6-main-wrapper.o nanos6-library-mode.o
|
||||||
|
|
||||||
|
|
||||||
|
@@ -139,7 +139,7 @@ if ANDROID
|
||||||
|
main_interception += loader/intercept-main-android.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
-libnanos6_main_wrapper_a_SOURCES = \
|
||||||
|
+libnanos6_main_wrapper_la_SOURCES = \
|
||||||
|
$(main_interception) \
|
||||||
|
loader/api-versions.c \
|
||||||
|
loader/api-versions.h \
|
||||||
|
@@ -150,25 +150,27 @@ libnanos6_main_wrapper_a_SOURCES = \
|
||||||
|
loader/main-wrapper.c \
|
||||||
|
loader/main-wrapper.h
|
||||||
|
|
||||||
|
-libnanos6_main_wrapper_a_CPPFLAGS = $(CUDA_CFLAGS) $(MPI_CXXFLAGS) $(MCMODEL_FLAGS)
|
||||||
|
+libnanos6_main_wrapper_la_CPPFLAGS = $(CUDA_CFLAGS) $(MPI_CXXFLAGS) $(MCMODEL_FLAGS)
|
||||||
|
+libnanos6_main_wrapper_la_LDFLAGS = -static
|
||||||
|
|
||||||
|
|
||||||
|
-nanos6-main-wrapper.o: libnanos6-main-wrapper.a
|
||||||
|
- $(AM_V_LD)$(LD) -r --whole-archive libnanos6-main-wrapper.a -o nanos6-main-wrapper.o
|
||||||
|
+nanos6-main-wrapper.o: libnanos6-main-wrapper.la
|
||||||
|
+ $(AM_V_LD)$(LD) -r --whole-archive $(top_builddir)/.libs/libnanos6-main-wrapper.a -o nanos6-main-wrapper.o
|
||||||
|
|
||||||
|
|
||||||
|
-libnanos6_library_mode_a_SOURCES = \
|
||||||
|
+libnanos6_library_mode_la_SOURCES = \
|
||||||
|
$(library_interception) \
|
||||||
|
loader/api-versions.c \
|
||||||
|
loader/api-versions.h \
|
||||||
|
loader/device_strings.c \
|
||||||
|
loader/library-mode-init.c
|
||||||
|
|
||||||
|
-libnanos6_library_mode_a_CPPFLAGS = $(CUDA_CFLAGS) $(MPI_CXXFLAGS) $(MCMODEL_FLAGS)
|
||||||
|
+libnanos6_library_mode_la_CPPFLAGS = $(CUDA_CFLAGS) $(MPI_CXXFLAGS) $(MCMODEL_FLAGS)
|
||||||
|
+libnanos6_library_mode_la_LDFLAGS = -static
|
||||||
|
|
||||||
|
|
||||||
|
-nanos6-library-mode.o: libnanos6-library-mode.a
|
||||||
|
- $(AM_V_LD)$(LD) -r --whole-archive libnanos6-library-mode.a -o nanos6-library-mode.o
|
||||||
|
+nanos6-library-mode.o: libnanos6-library-mode.la
|
||||||
|
+ $(AM_V_LD)$(LD) -r --whole-archive $(top_builddir)/.libs/libnanos6-library-mode.a -o nanos6-library-mode.o
|
||||||
|
|
||||||
|
|
||||||
|
#
|
Loading…
x
Reference in New Issue
Block a user