Ну, это точно не ошибка, поскольку, если вы просматриваете старый двоичный файл, вы не ожидаете увидеть такие инструкции в потоке инструкций, поэтому они не будут отображаться.
Следовательно, он по-прежнему будет правильно отображать правильный код.
Если вы заставили дизассемблер objdump дизассемблировать области памяти, которые содержали не код, а данные других типов (например, с использованием флага -D), вы можете ожидать следующие аномальные результаты:
- данные, которые не являются инструкциями, отображаются как инструкции, действительные для этой архитектуры
- данные, которые не являются инструкциями, отображаются как инструкции, которые недопустимы для этой архитектуры.
- данные, которые не являются инструкциями, отображаются как недопустимые инструкции (о, нет!)
Мне трудно позаботиться о любом из них, так как вы указали -D, и это то, что он делает.
Если бы вы могли указать на пример правильного и действительного потока команд, который декодируется по-разному из-за переопределения кодирования команды, имеющего другой эффект, то я думаю, что это будет подлинной ошибкой.
Ваш пример вызвал какие-то проблемы (включая неудобства) в вашей работе?