summaryrefslogtreecommitdiff
path: root/src/mem
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-02-20 17:43:15 -0800
committerGabe Black <gabeblack@google.com>2019-02-21 22:37:21 +0000
commit0a7372633a9542cf5ed6709ac87f1adfe9e87171 (patch)
tree747840630e00a45a97142408361f0d987f6ddd54 /src/mem
parent84a9094ef7fd8e322c2e532a54a37d8fae332724 (diff)
downloadgem5-0a7372633a9542cf5ed6709ac87f1adfe9e87171.tar.xz
scons: Add a convenience method to set RPATH for local libraries.
When linking in a dynamic library which is in the gem5 build directory, it's useful to set RPATH so that you don't have to set LD_LIBRARY_PATH when you run gem5 so that the dynamic linker can find it. Since it's tricky and not entirely obvious how to set up those paths correctly, this change adds a small convenience function which does that for you. It also handles situations where the same dynamic library may be linked into different binaries in different directories which each need a different relative RPATH. It does that by letting the environment for each binary set a construction variable which says how to get from that particular binary back to the build directory. This helper method then sets RPATH to start at $ORIGIN (the binary), to follow that relative path to the variant build directory, and then the per-library but not per-binary path to the library's directory. This change also adds the -z origin linker flag which makes the linker handle $ORIGIN properly. Change-Id: I45f4d72cd14396a73e0b963cea6a39d9bfb7f984 Reviewed-on: https://gem5-review.googlesource.com/c/16566 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/mem')
0 files changed, 0 insertions, 0 deletions