2017-09-20 3 views
0

문제점 : ARM에서 Valgrind 바이너리를 실행할 수 없습니다.Valgrind ARM 바이너리가 ARM926EJ에서 작동하지 않아 오류를 찾을 수 없음


내가 리눅스 호스트에 Valgrind-3-13-0 성공적으로 컴파일 크로스. 그리고 바이너리를 내 ARM 타겟으로 옮겼습니다. 나는 나는 구성 파일을 찌르고 armarmv7을 변경, 그것은에 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에 대해 궁금한 점이 있습니까?

답변

0

StackOverflow에 질문을 올리 자마자 5 분 안에 답변을 찾았습니다.


Valgrind의 지원하는 ARMv7에서 사용할 수 있습니다.


Actaully 내 하드웨어는 모두 동일하지 Valgrind의가, 난 그냥 Amr7 및 ARMv7 혼동있어 지원하지 않습니다. 그것도 ARM9E와 동일하지만 AMRv9와 동일하지 않습니다. 내 잘못이야.

참조 용으로 arm architecture page이 첨부되었습니다.

관련 문제