Improve the determination of pageSize in patchelf.cc. Patch by Mark H Weaver . --- patchelf/src/patchelf.cc.orig 1969-12-31 19:00:01.000000000 -0500 +++ patchelf/src/patchelf.cc 2014-02-16 20:15:06.283203125 -0500 @@ -21,11 +21,19 @@ using namespace std; -#ifdef MIPSEL -/* The lemote fuloong 2f kernel defconfig sets a page size of 16KB */ -const unsigned int pageSize = 4096*4; -#else +/* Note that some platforms support multiple page sizes. Therefore, + it is not enough to query the current page size. 'pageSize' must + be the maximum architectural page size for the platform, which is + typically defined in the corresponding ABI document. + + XXX FIXME: This won't work when we're cross-compiling. */ + +#if defined __MIPSEL__ || defined __MIPSEB__ || defined __aarch64__ +const unsigned int pageSize = 65536; +#elif defined __x86_64__ || defined __i386__ || defined __arm__ const unsigned int pageSize = 4096; +#else +# error maximum architectural page size unknown for this platform #endif --- patchelf/tests/no-rpath.sh.orig 2014-01-14 08:17:47.000000000 -0500 +++ patchelf/tests/no-rpath.sh 2015-01-06 18:31:53.418172797 -0500 @@ -1,23 +1,23 @@ #! /bin/sh -e SCRATCH=scratch/$(basename $0 .sh) -rm -rf ${SCRATCH} -mkdir -p ${SCRATCH} +if [ "$(uname -m)" = i686 -a "$(uname -s)" = Linux ]; then + rm -rf ${SCRATCH} + mkdir -p ${SCRATCH} -cp ${srcdir}/no-rpath ${SCRATCH}/ + cp ${srcdir}/no-rpath ${SCRATCH}/ -oldRPath=$(../src/patchelf --print-rpath ${SCRATCH}/no-rpath) -if test -n "$oldRPath"; then exit 1; fi -../src/patchelf \ - --set-interpreter "$(../src/patchelf --print-interpreter ../src/patchelf)" \ - --set-rpath /foo:/bar:/xxxxxxxxxxxxxxx ${SCRATCH}/no-rpath + oldRPath=$(../src/patchelf --print-rpath ${SCRATCH}/no-rpath) + if test -n "$oldRPath"; then exit 1; fi + ../src/patchelf \ + --set-interpreter "$(../src/patchelf --print-interpreter ../src/patchelf)" \ + --set-rpath /foo:/bar:/xxxxxxxxxxxxxxx ${SCRATCH}/no-rpath -newRPath=$(../src/patchelf --print-rpath ${SCRATCH}/no-rpath) -if ! echo "$newRPath" | grep -q '/foo:/bar'; then - echo "incomplete RPATH" - exit 1 -fi + newRPath=$(../src/patchelf --print-rpath ${SCRATCH}/no-rpath) + if ! echo "$newRPath" | grep -q '/foo:/bar'; then + echo "incomplete RPATH" + exit 1 + fi -if [ "$(uname -m)" = i686 -a "$(uname -s)" = Linux ]; then cd ${SCRATCH} && ./no-rpath fi tent'>
AgeCommit message (Expand)Author
2020-02-12gnu: cross-base: Switch back to 'CROSS_C_INCLUDE_PATH' & co....Ludovic Courtès
2019-08-29Merge branch 'master' into core-updatesMark H Weaver
2019-08-28gnu: mingw-w64: Update to 6.0.0....David Thompson
2019-08-22Merge branch 'master' into core-updatesMark H Weaver
2019-08-14gnu: mingw: Add x86_64 support....Carl Dong
2019-02-28gnu: GCC: Move cross-toolchain build fix to (gnu packages cross-base)....Marius Bakke
2019-02-09gnu: Use GCC 7 as the default compiler....Marius Bakke
2018-03-23gnu: cross-base: Use invoke in (gnu build cross-toolchain)....Mark H Weaver