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 v class='content'>
AgeCommit message (Expand)Author
2019-02-14gnu: doxygen: Update home page and source URI....Marius Bakke
2018-08-22gnu: Remove GCC ICE workarounds....Marius Bakke
2018-06-29Merge branch 'master' into core-updatesRicardo Wurmus
2018-06-22gnu: doxygen: Update to 1.8.14....Danny Milosavljevic
2018-06-08gnu: doxygen: Work around GCC ICE on armhf-linux....Ludovic Courtès
2018-03-25gnu: asciidoc: Restore custom 'bootstrap' phase....Mark H Weaver
2018-03-11build-system/gnu: Add 'bootstrap' phase....Ludovic Courtès
2018-02-09Merge branch 'master' into core-updatesMark H Weaver