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 ohover'>AgeCommit message (Expand)Author 2020-03-02linux-boot: Ensure volatile root is mounted read-only....Maxim Cournoyer 2019-12-12linux-boot: Don't ignore flags when mounting root file system....Guillaume Le Vaillant 2019-11-18linux-boot: Don't ignore options when mounting root file system....Guillaume Le Vaillant 2019-11-18linux-boot: Fix indentation....Maxim Cournoyer 2019-09-25linux-boot: Fix typo....Maxim Cournoyer 2019-08-16linux-modules: Add 'load-linux-modules-from-directory'....Ludovic Courtès 2019-06-03linux-boot: Fix e2fsck warning....Danny Milosavljevic 2019-03-24system: Initialize console keyboard layout in the initrd....Ludovic Courtès