https://bugs.kde.org/show_bug.cgi?id=483711

--- Comment #7 from John Reiser <jrei...@bitwagon.com> ---
Current state with fixed the shell script, re-configure, and re-build:

export CC=$HOME/bin/my_gcc_32_or_64
export CXX=$HOME/bin/my_g++_32_or_64

./configure --prefix=$HOME/local

===== my_gcc_32_or_64
#! /bin/bash
# set -x

   new_args=""
   mode="-m64"  # default on this 64-bit machine

   # Pick the last explicit -m32 or -m64 specifier (and delete it)
   for arg in "$@"; do case "$arg" in
    -m32) mode="-m32" ;;
    -m64) mode="-m64" ;;
    *)  new_args="$new_args $arg" ;;
  esac; done

  case "$mode" in
    -m32) exec /usr/bin/clang-14 -m32 -march=armv7 -mfloat-abi=soft $new_args
;;
    -m64) exec /usr/bin/clang-14 $new_args ;;
  esac

# EOF

===== my_g++_32_or_64
#! /bin/bash
# set -x

   new_args=""
   mode="-m64"  # default on this 64-bit machine

   # Pick the last explicit -m32 or -m64 specifier (and delete it)
   for arg in "$@"; do case "$arg" in
    -m32) mode="-m32" ;;
    -m64) mode="-m64" ;;
    *)  new_args="$new_args $arg" ;;
  esac; done

  case "$mode" in
    -m32) exec /usr/bin/g++-14 -m32  -march=armv7 -mfloat-abi=soft $new_args ;;
    -m64) exec /usr/bin/g++-14  $new_args ;;
  esac

# EOF

=====

./configure --prefix=$HOME/local
make -j2   ## most that 64-bit RaspberryPi model 3 b v1.2 can support without
paging
make install

## 64-bit valgrind (memcheck) works properly

## 32-bit valgrind (memcheck) fails.
## ./hello32 is hello-world.c compiled for 32-bit execution
$ file ./hello32
./hello32: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux.so.3,
BuildID[sha1]=4a6b63ea5e184b17ed93d0be701b7c0cde42411f, for GNU/Linux 3.2.0,
with debug_info, not stripped
$ $HOME/local/bin/valgrind ./a.out
valgrind: m_ume.c: can't open interpreter

$ readelf --segments ./hello32
Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  ARM_EXIDX      0x0006dc 0x000006dc 0x000006dc 0x00008 0x00008 R   0x4
  PHDR           0x000034 0x00000034 0x00000034 0x00140 0x00140 R   0x4
  INTERP         0x000198 0x00000198 0x00000198 0x00013 0x00013 R   0x1
      [Requesting program interpreter: /lib/ld-linux.so.3]
  LOAD           0x000000 0x00000000 0x00000000 0x00780 0x00780 R E 0x1000
  LOAD           0x000f08 0x00001f08 0x00001f08 0x00134 0x00138 RW  0x1000
  DYNAMIC        0x000f10 0x00001f10 0x00001f10 0x000f0 0x000f0 RW  0x4
  NOTE           0x000174 0x00000174 0x00000174 0x00024 0x00024 R   0x4
  NOTE           0x0006e8 0x000006e8 0x000006e8 0x00098 0x00098 R   0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x10
  GNU_RELRO      0x000f08 0x00001f08 0x00001f08 0x000f8 0x000f8 R   0x1

$ ls -l /lib/ld-linux.so.3
ls: cannot access '/lib/ld-linux.so.3': No such file or directory
$ dpkg --search /lib/ld-linux.so.3
dpkg-query: no path found matching pattern /lib/ld-linux.so.3

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to