문제점 : ARM에서 Valgrind 바이너리를 실행할 수 없습니다.Valgrind ARM 바이너리가 ARM926EJ에서 작동하지 않아 오류를 찾을 수 없음
내가 리눅스 호스트에 Valgrind-3-13-0
성공적으로 컴파일 크로스. 그리고 바이너리를 내 ARM 타겟으로 옮겼습니다. 나는 나는 구성 파일을 찌르고 arm
로 armv7
을 변경, 그것은에 not found.
단계 빌드 과정에서
을 크로스 컴파일 말한다 팔에 Valgrind의를 달렸다.
./configure --host=arm-none-linux-gnueabi --prefix=/home/my_dir
나는
./configure --target=arm-none-linux-gnueabi --host=arm-none-linux-gnueabi --prefix=/my_dir
후하게 설치 할뿐만 아니라,이 옵션을 시도했다.
Valgrind가 내 루트 파일 시스템 /usr/bin
에 있으며, 왜 그 말을 발견하지 못했는지 알고 있습니다.
이것은 Valgrind 교차 컴파일의 최종 출력물입니다. 아래는 내 설치 디렉토리의 트리입니다.
target_val/
├── bin
├── include
│ └── valgrind
│ └── vki
├── lib
│ ├── pkgconfig
│ └── valgrind
└── share
├── doc
│ └── valgrind
│ └── html
│ └── images
└── man
└── man1
사실 내 목표 /usr/bin
에 /bin
디렉토리에서 다섯 파일을 복사.
callgrind_annotate
callgrind_control
valgrind
valgrind-di-server
valgrind-listener
질문.
전체 lib 디렉토리도 복사해야합니까?
나는 호스트에서 크로스 컴파일 된 바이너리를 실행하려고
usr:~/Desktop/ ./valgrind --version
/lib/ld-linux.so.3: No such file or directory
나는 팔을 위해 그것을 지어 있기 때문에이 아키텍처는이 잘못된 ELF 이미지처럼 불평하고 리눅스 거기에 그것을 실행 예상 무엇 이런 식으로 불평해야하지만 그렇지 않습니다.
구성 플래그와 ARCH에 대해 궁금한 점이 있습니까?