Skip to content

Commit 8ccf042

Browse files
committed
Revert "[msan] Intercept dladdr1, and refactor dladdr"
Reverting my commit because of buildbot breakage. This reverts commit d0b0dbe.
1 parent d0b0dbe commit 8ccf042

File tree

5 files changed

+13
-202
lines changed

5 files changed

+13
-202
lines changed

compiler-rt/lib/msan/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ set(MSAN_RTL_SOURCES
55
msan.cpp
66
msan_allocator.cpp
77
msan_chained_origin_depot.cpp
8-
msan_dl.cpp
98
msan_interceptors.cpp
109
msan_linux.cpp
1110
msan_report.cpp
@@ -21,7 +20,6 @@ set(MSAN_RTL_HEADERS
2120
msan.h
2221
msan_allocator.h
2322
msan_chained_origin_depot.h
24-
msan_dl.h
2523
msan_flags.h
2624
msan_flags.inc
2725
msan_interface_internal.h

compiler-rt/lib/msan/msan_dl.cpp

Lines changed: 0 additions & 62 deletions
This file was deleted.

compiler-rt/lib/msan/msan_dl.h

Lines changed: 0 additions & 28 deletions
This file was deleted.

compiler-rt/lib/msan/msan_interceptors.cpp

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include "interception/interception.h"
2020
#include "msan.h"
2121
#include "msan_chained_origin_depot.h"
22-
#include "msan_dl.h"
2322
#include "msan_origin.h"
2423
#include "msan_poisoning.h"
2524
#include "msan_report.h"
@@ -1521,23 +1520,23 @@ INTERCEPTOR(const char *, strsignal, int sig) {
15211520
return res;
15221521
}
15231522

1524-
INTERCEPTOR(int, dladdr, void *addr, void *info) {
1523+
struct dlinfo {
1524+
char *dli_fname;
1525+
void *dli_fbase;
1526+
char *dli_sname;
1527+
void *dli_saddr;
1528+
};
1529+
1530+
INTERCEPTOR(int, dladdr, void *addr, dlinfo *info) {
15251531
void *ctx;
15261532
COMMON_INTERCEPTOR_ENTER(ctx, dladdr, addr, info);
15271533
int res = REAL(dladdr)(addr, info);
1528-
if (res != 0)
1529-
UnpoisonDllAddrInfo(info);
1530-
return res;
1531-
}
1532-
1533-
INTERCEPTOR(int, dladdr1, void *addr, void *info, void **extra_info,
1534-
int flags) {
1535-
void *ctx;
1536-
COMMON_INTERCEPTOR_ENTER(ctx, dladdr1, addr, info, extra_info, flags);
1537-
int res = REAL(dladdr1)(addr, info, extra_info, flags);
15381534
if (res != 0) {
1539-
UnpoisonDllAddrInfo(info);
1540-
UnpoisonDllAddr1ExtraInfo(extra_info, flags);
1535+
__msan_unpoison(info, sizeof(*info));
1536+
if (info->dli_fname)
1537+
__msan_unpoison(info->dli_fname, internal_strlen(info->dli_fname) + 1);
1538+
if (info->dli_sname)
1539+
__msan_unpoison(info->dli_sname, internal_strlen(info->dli_sname) + 1);
15411540
}
15421541
return res;
15431542
}
@@ -1789,7 +1788,6 @@ void InitializeInterceptors() {
17891788
MSAN_MAYBE_INTERCEPT_EPOLL_PWAIT;
17901789
INTERCEPT_FUNCTION(strsignal);
17911790
INTERCEPT_FUNCTION(dladdr);
1792-
INTERCEPT_FUNCTION(dladdr1);
17931791
INTERCEPT_FUNCTION(dlerror);
17941792
INTERCEPT_FUNCTION(dl_iterate_phdr);
17951793
INTERCEPT_FUNCTION(getrusage);

compiler-rt/test/msan/dladdr1_test.c

Lines changed: 0 additions & 95 deletions
This file was deleted.

0 commit comments

Comments
 (0)