From: Bowon Ryu Date: Wed, 8 Nov 2017 10:38:26 +0000 (+0900) Subject: Apply ASLR to executable files. X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~1064 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=64493ee64f49a73e6145648e790d5f7e6f092816;p=platform%2Fupstream%2Fefl.git Apply ASLR to executable files. Change-Id: Ied149f0db33e4bc1a8c97203e88b036d82640ed6 Signed-off-by: Bowon Ryu --- diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am index debc996..d857efb 100644 --- a/src/Makefile_Ecore_Evas.am +++ b/src/Makefile_Ecore_Evas.am @@ -311,6 +311,8 @@ bin_ecore_evas_ecore_evas_convert_SOURCES = bin/ecore_evas/ecore_evas_convert.c bin_ecore_evas_ecore_evas_convert_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_EVAS_CFLAGS@ @EINA_CFLAGS@ @ECORE_CFLAGS@ @EVAS_CFLAGS@ bin_ecore_evas_ecore_evas_convert_LDADD = @USE_ECORE_EVAS_LIBS@ @USE_EINA_LIBS@ @USE_ECORE_LIBS@ @USE_EVAS_LIBS@ bin_ecore_evas_ecore_evas_convert_DEPENDENCIES = @USE_ECORE_EVAS_INTERNAL_LIBS@ @USE_EINA_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ @USE_EVAS_INTERNAL_LIBS@ +bin_ecore_evas_ecore_evas_convert_LDFLAGS = -pie +bin_ecore_evas_ecore_evas_convert_CFLAGS = -fPIE bin_ecore_evas_eetpack_SOURCES = bin/ecore_evas/eetpack.c bin_ecore_evas_eetpack_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_EVAS_CFLAGS@ @EINA_CFLAGS@ @EET_CFLAGS@ @EVAS_CFLAGS@ diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am index c57f111..ac6326c 100644 --- a/src/Makefile_Edje.am +++ b/src/Makefile_Edje.am @@ -186,6 +186,8 @@ bin_edje_edje_cc_LDADD = $(USE_EDJE_BIN_LIBS) @EDJE_LUA_LIBS@ bin_edje_edje_cc_DEPENDENCIES = \ @USE_EDJE_INTERNAL_LIBS@ \ bin/edje/epp/epp$(EXEEXT) # epp is an artificial dependency because edje_cc will use it at runtime, so we be sure if we depend on edje_cc we get epp. +bin_edje_edje_cc_LDFLAGS = -pie +bin_edje_edje_cc_CFLAGS = -fPIE bin_edje_edje_decc_SOURCES = \ bin/edje/edje_decc.c \ @@ -195,36 +197,50 @@ bin/edje/edje_cc_sources.c bin_edje_edje_decc_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_decc_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_decc_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_decc_LDFLAGS = -pie +bin_edje_edje_decc_CFLAGS = -fPIE bin_edje_edje_player_SOURCES = bin/edje/edje_player.c bin_edje_edje_player_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_player_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_player_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_player_LDFLAGS = -pie +bin_edje_edje_player_CFLAGS = -fPIE bin_edje_edje_inspector_SOURCES = bin/edje/edje_inspector.c bin_edje_edje_inspector_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_inspector_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_inspector_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_inspector_LDFLAGS = -pie +bin_edje_edje_inspector_CFLAGS = -fPIE bin_edje_edje_external_inspector_SOURCES = bin/edje/edje_external_inspector.c bin_edje_edje_external_inspector_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_external_inspector_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_external_inspector_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_external_inspector_LDFLAGS = -pie +bin_edje_edje_external_inspector_CFLAGS = -fPIE bin_edje_edje_codegen_SOURCES = bin/edje/edje_codegen.c bin_edje_edje_codegen_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_codegen_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_codegen_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_codegen_LDFLAGS = -pie +bin_edje_edje_codegen_CFLAGS = -fPIE bin_edje_edje_pick_SOURCES = bin/edje/edje_pick.c bin_edje_edje_pick_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_pick_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_pick_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_pick_LDFLAGS = -pie +bin_edje_edje_pick_CFLAGS = -fPIE bin_edje_edje_watch_SOURCES = bin/edje/edje_watch.c bin_edje_edje_watch_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) bin_edje_edje_watch_LDADD = $(USE_EDJE_BIN_LIBS) bin_edje_edje_watch_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ +bin_edje_edje_watch_LDFLAGS = -pie +bin_edje_edje_watch_CFLAGS = -fPIE # EPP (Edje's CPP) eppdir = $(libdir)/edje/utils/$(MODULE_ARCH) @@ -270,6 +286,8 @@ bin_edje_epp_epp_CPPFLAGS += \ -I$(top_builddir)/src/lib/evil bin_edje_epp_epp_LDADD = lib/evil/libevil.la endif +bin_edje_epp_epp_LDFLAGS = -pie +bin_edje_epp_epp_CFLAGS = -fPIE # TODO: why keep these? EXTRA_DIST2 += \ diff --git a/src/Makefile_Eeze.am b/src/Makefile_Eeze.am index 9f86fa1..de97b11 100644 --- a/src/Makefile_Eeze.am +++ b/src/Makefile_Eeze.am @@ -133,16 +133,22 @@ bin_eeze_eeze_mount_eeze_mount_SOURCES = bin/eeze/eeze_mount/eeze_mount.c bin_eeze_eeze_mount_eeze_mount_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EEZE_CFLAGS@ bin_eeze_eeze_mount_eeze_mount_LDADD = @USE_EEZE_LIBS@ bin_eeze_eeze_mount_eeze_mount_DEPENDENCIES = @USE_EEZE_INTERNAL_LIBS@ +bin_eeze_eeze_mount_eeze_mount_LDFLAGS = -pie +bin_eeze_eeze_mount_eeze_mount_CFLAGS = -fPIE bin_eeze_eeze_umount_eeze_umount_SOURCES = bin/eeze/eeze_umount/eeze_umount.c bin_eeze_eeze_umount_eeze_umount_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EEZE_CFLAGS@ bin_eeze_eeze_umount_eeze_umount_LDADD = @USE_EEZE_LIBS@ bin_eeze_eeze_umount_eeze_umount_DEPENDENCIES = @USE_EEZE_INTERNAL_LIBS@ +bin_eeze_eeze_umount_eeze_umount_LDFLAGS = -pie +bin_eeze_eeze_umount_eeze_umount_CFLAGS = -fPIE bin_eeze_eeze_disk_ls_eeze_disk_ls_SOURCES = bin/eeze/eeze_disk_ls/eeze_disk_ls.c bin_eeze_eeze_disk_ls_eeze_disk_ls_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EEZE_CFLAGS@ bin_eeze_eeze_disk_ls_eeze_disk_ls_LDADD = @USE_EEZE_LIBS@ bin_eeze_eeze_disk_ls_eeze_disk_ls_DEPENDENCIES = @USE_EEZE_INTERNAL_LIBS@ +bin_eeze_eeze_disk_ls_eeze_disk_ls_LDFLAGS = -pie +bin_eeze_eeze_disk_ls_eeze_disk_ls_CFLAGS = -fPIE bin_eeze_eeze_scanner_eeze_scanner_SOURCES = \ bin/eeze/eeze_scanner/eeze_scanner.c \ diff --git a/src/Makefile_Efreet.am b/src/Makefile_Efreet.am index f955cec..b88c5ca 100644 --- a/src/Makefile_Efreet.am +++ b/src/Makefile_Efreet.am @@ -104,11 +104,15 @@ bin_efreet_efreet_desktop_cache_create_CPPFLAGS = -I$(top_builddir)/src/lib/efl bin_efreet_efreet_desktop_cache_create_LDADD = $(USE_EFREET_BIN_LIBS) bin_efreet_efreet_desktop_cache_create_DEPENDENCIES = @USE_EFREET_INTERNAL_LIBS@ bin_efreet_efreet_desktop_cache_create_SOURCES = bin/efreet/efreet_desktop_cache_create.c +bin_efreet_efreet_desktop_cache_create_LDFLAGS = -pie +bin_efreet_efreet_desktop_cache_create_CFLAGS = -fPIE bin_efreet_efreet_icon_cache_create_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS) bin_efreet_efreet_icon_cache_create_LDADD = $(USE_EFREET_BIN_LIBS) bin_efreet_efreet_icon_cache_create_DEPENDENCIES = @USE_EFREET_INTERNAL_LIBS@ bin_efreet_efreet_icon_cache_create_SOURCES = bin/efreet/efreet_icon_cache_create.c +bin_efreet_efreet_icon_cache_create_LDFLAGS = -pie +bin_efreet_efreet_icon_cache_create_CFLAGS = -fPIE bin_efreet_efreet_mime_cache_create_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS) bin_efreet_efreet_mime_cache_create_LDADD = $(USE_EFREET_BIN_LIBS) diff --git a/src/Makefile_Eldbus.am b/src/Makefile_Eldbus.am index 99831d5..d2ae839 100644 --- a/src/Makefile_Eldbus.am +++ b/src/Makefile_Eldbus.am @@ -107,6 +107,8 @@ else bin_eldbus_eldbus_codegen_LDADD = @USE_ELDBUS_LIBS@ endif bin_eldbus_eldbus_codegen_DEPENDENCIES = @USE_ELDBUS_INTERNAL_LIBS@ +bin_eldbus_eldbus_codegen_LDFLAGS = -pie +bin_eldbus_eldbus_codegen_CFLAGS = -fPIE if HAVE_CXX eldbus_eolian_cxx_hh = $(eldbus_eolian_files:%.eo=%.eo.hh) diff --git a/src/Makefile_Embryo.am b/src/Makefile_Embryo.am index c31fb10..1305af5 100644 --- a/src/Makefile_Embryo.am +++ b/src/Makefile_Embryo.am @@ -59,6 +59,8 @@ else bin_embryo_embryo_cc_LDADD = @USE_EMBRYO_LIBS@ endif bin_embryo_embryo_cc_DEPENDENCIES = @USE_EMBRYO_INTERNAL_LIBS@ +bin_embryo_embryo_cc_LDFLAGS = -pie +bin_embryo_embryo_cc_CFLAGS = -fPIE EXTRA_DIST2 += \ bin/embryo/embryo_cc_sc5.scp \ diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index cf8a660..478c470 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -1516,6 +1516,8 @@ bin_evas_evas_cserve2_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ bin_evas_evas_cserve2_LDADD = @USE_EVAS_LIBS@ bin_evas_evas_cserve2_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ +bin_evas_evas_cserve2_LDFLAGS = -pie +bin_evas_evas_cserve2_CFLAGS = -fPIE bin_evas_evas_cserve2_client_SOURCES = \ bin/evas/evas_cserve2_client.c @@ -1525,6 +1527,8 @@ bin_evas_evas_cserve2_client_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ @EVAS_CFLAGS@ bin_evas_evas_cserve2_client_LDADD = @USE_EINA_LIBS@ bin_evas_evas_cserve2_client_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ +bin_evas_evas_cserve2_client_LDFLAGS = -pie +bin_evas_evas_cserve2_client_CFLAGS = -fPIE bin_evas_evas_cserve2_usage_SOURCES = \ bin/evas/evas_cserve2_usage.c @@ -1534,6 +1538,8 @@ bin_evas_evas_cserve2_usage_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ @EVAS_CFLAGS@ bin_evas_evas_cserve2_usage_LDADD = @USE_EINA_LIBS@ bin_evas_evas_cserve2_usage_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ +bin_evas_evas_cserve2_usage_LDFLAGS = -pie +bin_evas_evas_cserve2_usage_CFLAGS = -fPIE bin_evas_evas_cserve2_debug_SOURCES = \ bin/evas/evas_cserve2_debug.c @@ -1574,7 +1580,8 @@ bin_evas_evas_cserve2_slave_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ bin_evas_evas_cserve2_slave_LDADD = @EVAS_CSERVE2_SLAVE_LIBS@ @USE_EINA_LIBS@ @USE_EMILE_LIBS@ bin_evas_evas_cserve2_slave_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ @USE_EMILE_INTERNAL_LIBS@ -bin_evas_evas_cserve2_slave_LDFLAGS = -export-dynamic +bin_evas_evas_cserve2_slave_LDFLAGS = -export-dynamic -pie +bin_evas_evas_cserve2_slave_CFLAGS = -fPIE bin_evas_dummy_slave_SOURCES = \ bin/evas/dummy_slave.c