From 2d16bebbeabd3ab312998c969e21d092ff348485 Mon Sep 17 00:00:00 2001 From: "Ryan S. Arnold" Date: Thu, 1 Aug 2013 13:11:18 -0300 Subject: [PATCH] Remove assert() if DT_RUNPATH and DT_RPATH flags are found in ld.so. --- ChangeLog | 8 ++++++++ elf/get-dynamic-info.h | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6aecb1b26ec..cbb6a56eb45 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-07-06 Ryan S. Arnold + + * elf/get-dynamic-info.h (elf_get_dynamic_info): Remove assert() + around DT_RUNPATH and DT_RPATH which prevents running a dynamic + linker with an embedded RPATH flag, which is what a compiler + modified to embed a non-default INTERP section would do. + + 2013-07-30 David S. Miller * po/fr.po: Update French translation from translation project. diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h index 3cc10733e56..57cf964f20b 100644 --- a/elf/get-dynamic-info.h +++ b/elf/get-dynamic-info.h @@ -130,8 +130,8 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp) assert (info[DT_FLAGS] == NULL || (info[DT_FLAGS]->d_un.d_val & ~DF_BIND_NOW) == 0); /* Flags must not be set for ld.so. */ - assert (info[DT_RUNPATH] == NULL); - assert (info[DT_RPATH] == NULL); + info[DT_RUNPATH] = NULL; + info[DT_RPATH] = NULL; #else if (info[DT_FLAGS] != NULL) { -- 2.47.2