For Sourcery Codebench toolchains the 'gcc -print-file-name' only returns the proper sysroot directory when the proper architecture flags are provided via '-m64 -march=' flags. These flags are provided via the ptxdist platformconfig PTXCONF_TARGET_EXTRA_CFLAGS setting. These flags therefore also need to be passed to GCC here.
Signed-off-by: Remy Bohmer <[email protected]> --- scripts/install_copy_toolchain.sh | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/install_copy_toolchain.sh b/scripts/install_copy_toolchain.sh index 8a67698..48d65d7 100755 --- a/scripts/install_copy_toolchain.sh +++ b/scripts/install_copy_toolchain.sh @@ -50,12 +50,13 @@ ptxd_abs2rel() { # out: $lib_path # ptxd_get_lib_path() { - local lib lib_dir lib_path + local lib lib_dir lib_path extra_cflags lib="${1}" + extra_cflags=$(source ${PTXDIST_PLATFORMCONFIG} && echo "${PTXCONF_TARGET_EXTRA_CFLAGS}") # ask the compiler for the lib - lib_path="$(${CC} -print-file-name=${lib})" + lib_path="$(${CC} ${extra_cflags} -print-file-name=${lib})" if test "${lib_path}" = "${lib}"; then echo "install_copy_toolchain_lib: ${lib} not found" >&2 return 1 @@ -77,9 +78,10 @@ ptxd_get_lib_path() { # ptxd_get_dl() { local dl + extra_cflags=$(source ${PTXDIST_PLATFORMCONFIG} && echo "${PTXCONF_TARGET_EXTRA_CFLAGS}") dl="$(echo 'int main(void){return 0;}' | \ - ${CC} -x c -o /dev/null -v - 2>&1 | \ + ${CC} ${extra_cflags} -x c -o /dev/null -v - 2>&1 | \ sed -n -e 's/.* -dynamic-linker \([^ ]*\).*/\1/p')" echo "${dl##*/}" -- 1.7.5.4 -- ptxdist mailing list [email protected]
