forked from OSchip/llvm-project
Rename shared libraries for TestLoadUnload.py due to potential shared library name clashes.
llvm-svn: 190884
This commit is contained in:
parent
bdae03f227
commit
cccf2cc8c1
|
@ -10,14 +10,16 @@ endif
|
|||
CFLAGS ?= -g -O0
|
||||
CWD := $(shell pwd)
|
||||
|
||||
LIB_PREFIX := libloadunload_
|
||||
|
||||
ifeq "$(OS)" "Darwin"
|
||||
CFLAGS += -arch $(ARCH)
|
||||
DS := dsymutil
|
||||
LD_FLAGS := -dynamiclib
|
||||
LIB_A := liba.dylib
|
||||
LIB_B := libb.dylib
|
||||
LIB_C := libc.dylib
|
||||
LIB_D := libd.dylib
|
||||
LIB_A := $(LIB_PREFIX)a.dylib
|
||||
LIB_B := $(LIB_PREFIX)b.dylib
|
||||
LIB_C := $(LIB_PREFIX)c.dylib
|
||||
LIB_D := $(LIB_PREFIX)d.dylib
|
||||
EXEC_PATH := "@executable_path"
|
||||
EXEC_PATH_A := -install_name $(EXEC_PATH)/$(LIB_A)
|
||||
EXEC_PATH_B := -install_name $(EXEC_PATH)/$(LIB_B)
|
||||
|
@ -27,16 +29,16 @@ else
|
|||
CFLAGS += -fPIC
|
||||
LD_FLAGS := -shared
|
||||
LIB_DL := -ldl
|
||||
LIB_A := liba.so
|
||||
LIB_B := libb.so
|
||||
LIB_C := libc.so
|
||||
LIB_D := libd.so
|
||||
LIB_A := $(LIB_PREFIX)a.so
|
||||
LIB_B := $(LIB_PREFIX)b.so
|
||||
LIB_C := $(LIB_PREFIX)c.so
|
||||
LIB_D := $(LIB_PREFIX)d.so
|
||||
endif
|
||||
|
||||
all: a.out $(LIB_A) $(LIB_B) $(LIB_C) $(LIB_D) hidden/$(LIB_D)
|
||||
|
||||
a.out: main.o $(LIB_D)
|
||||
$(CC) $(CFLAGS) -o a.out main.o -L. -ld $(LIB_DL)
|
||||
$(CC) $(CFLAGS) -o a.out main.o -L. -lloadunload_d $(LIB_DL)
|
||||
|
||||
main.o: main.c
|
||||
$(CC) $(CFLAGS) -c main.c
|
||||
|
@ -46,7 +48,7 @@ hidden/$(LIB_D): b.o
|
|||
if [ "$(OS)" = "Darwin" ]; then dsymutil -o hidden/$(LIB_D).dSYM hidden/$(LIB_D); fi
|
||||
|
||||
$(LIB_A): a.o $(LIB_B)
|
||||
$(CC) $(CFLAGS) $(LD_FLAGS) $(EXEC_PATH_A) -o $(LIB_A) a.o -L. -lb
|
||||
$(CC) $(CFLAGS) $(LD_FLAGS) $(EXEC_PATH_A) -o $(LIB_A) a.o -L. -lloadunload_b
|
||||
if [ "$(OS)" = "Darwin" ]; then dsymutil $(LIB_A); fi
|
||||
|
||||
a.o: a.c
|
||||
|
|
|
@ -39,9 +39,9 @@ class LoadUnloadTestCase(TestBase):
|
|||
self.buildDefault()
|
||||
|
||||
if sys.platform.startswith("darwin"):
|
||||
dylibName = 'libd.dylib'
|
||||
dylibName = 'libloadunload_d.dylib'
|
||||
else:
|
||||
dylibName = 'libd.so'
|
||||
dylibName = 'libloadunload_d.so'
|
||||
|
||||
# The directory with the dynamic library we did not link to.
|
||||
new_dir = os.path.join(os.getcwd(), "hidden")
|
||||
|
@ -98,10 +98,10 @@ class LoadUnloadTestCase(TestBase):
|
|||
self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
|
||||
|
||||
if sys.platform.startswith("darwin"):
|
||||
dylibName = 'libd.dylib'
|
||||
dsymName = 'libd.dylib.dSYM'
|
||||
dylibName = 'libloadunload_d.dylib'
|
||||
dsymName = 'libloadunload_d.dylib.dSYM'
|
||||
else:
|
||||
dylibName = 'libd.so'
|
||||
dylibName = 'libloadunload_d.so'
|
||||
|
||||
# The directory to relocate the dynamic library and its debugging info.
|
||||
special_dir = "hidden"
|
||||
|
@ -168,9 +168,9 @@ class LoadUnloadTestCase(TestBase):
|
|||
patterns = ["1 match found .* %s" % self.mydir])
|
||||
|
||||
if sys.platform.startswith("darwin"):
|
||||
dylibName = 'liba.dylib'
|
||||
dylibName = 'libloadunload_a.dylib'
|
||||
else:
|
||||
dylibName = 'liba.so'
|
||||
dylibName = 'libloadunload_a.so'
|
||||
|
||||
# Use lldb 'process load' to load the dylib.
|
||||
self.expect("process load %s" % dylibName, "%s loaded correctly" % dylibName,
|
||||
|
|
|
@ -18,11 +18,11 @@ int
|
|||
main (int argc, char const *argv[])
|
||||
{
|
||||
#if defined (__APPLE__)
|
||||
const char *a_name = "@executable_path/liba.dylib";
|
||||
const char *c_name = "@executable_path/libc.dylib";
|
||||
const char *a_name = "@executable_path/libloadunload_a.dylib";
|
||||
const char *c_name = "@executable_path/libloadunload_c.dylib";
|
||||
#else
|
||||
const char *a_name = "liba.so";
|
||||
const char *c_name = "libc.so";
|
||||
const char *a_name = "libloadunload_a.so";
|
||||
const char *c_name = "libloadunload_c.so";
|
||||
#endif
|
||||
void *a_dylib_handle = NULL;
|
||||
void *c_dylib_handle = NULL;
|
||||
|
|
Loading…
Reference in New Issue