Tôi đang cố gắng tháo rời một đối tượng được tạo cho ARM với gcc. Thật không may, objdump đang cố gắng đoán xem mã là ARM và Thumb, và là nhận được nó sai: nó nghĩ rằng mã của tôi là Thumb khi nó thực sự ARM.objdump và ARM vs Thumb
Tôi thấy rằng objdump có một tùy chọn để buộc nó giải thích tất cả các hướng dẫn như Thumb (-Mforce-thumb
), nhưng nó không có một để buộc chế độ ARM!
Điều này có vẻ như là một sự thiếu sót thực sự kỳ lạ đối với tôi, và nó cản trở khả năng hoàn thành công việc của tôi (tôi đang sử dụng thiết bị nhúng và phương pháp gỡ lỗi duy nhất của tôi là xem xét việc tháo gỡ). Tôi đã thử các cách tiếp cận khác nhau, bao gồm cố gắng nói objdump sử dụng kiến trúc ARM không hỗ trợ Thumb, nhưng không có gì có vẻ hiệu quả. Bất kỳ ý tưởng?
(Và vâng, tôi biết rằng các hướng dẫn thực sự là ARM ...)
là bạn đang tước các tệp nhị phân (elf), có thể thông tin đã có và sau đó bị xóa. Hoặc có thể bạn phải thêm một công tắc để bao gồm thông tin gỡ lỗi vào nhị phân. –
Đó là 'objdump ... -Mno-force-thumb' hôm nay. Không thể nói nếu điều này đã có mặt vào năm 2011. Về cơ bản nó là ARM hoặc Thumb, vì vậy khi bạn nói 'no-force-thumb', tập lệnh là ARM. – JSmyth