<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/75444>75444</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            llvm-objdump --adjust-vma gives different result than GNU objdump
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          pwprzybyla
      </td>
    </tr>
</table>

<pre>
    There is a discrepancy between --adjust-vma of llvm-objdump and GNU objdump.
I use adjust-vma.test from llvm and generate the object file input.o.
Then I run both `llvm-objdump --adjust-vma=0x123000 --all-headers -D -z  input.o` and `objdump --adjust-vma=0x123000 --all-headers -D -z input.o` .
>From this thest I would expect to have same section adresses adjusted.
However there is difference between both:
GNU objdump

`0000000000000000 <debug_str_sym>:`
`   0:  00 00                   add %al,(%rax)`
`                       1: R_X86_64_32  .text`
`   2:  00 00   add    %al,(%rax)`

llvm-objdump
`0000000000000000 <debug_str_sym>:`
`       0: 00 00                                addb    %al, (%rax)`
`               0000000000123001:  R_X86_64_32  .text`
`       2: 00 00        addb    %al, (%rax)`


To my understanding section debug_str_sym should not be adjusted as  it is not allocatable section and it is debug one.
More to say in source code of llvm-objdump I can find following comment:

`// Used for --adjust-vma to check if address should be adjusted by the`
`// specified value for a given section.`
`// For ELF we do not adjust non-allocatable sections like debug ones,`
`// because they are not loadable.`
`// TODO: implement for other file formats.`

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVU2P2zYQ_TX0ZWCDpmTFOuiwzcbtAm0DFBugN2MkjiwmFCmQlL3Ory9Ia2052QZBKxgy9DFv5r15mkHv1cEQVWzzC9s8LnAMnXXVcBrc13N91riorTxXzx05AuUBQSrfOBrQNGeoKZyIDCyXKD-PPiyPPYJtQetjv7T1Zzn2A6CR8Oufn2C6XjH-yPjDE4ye4Ba2CuQDtM72KTpFHciQw0AQOorh1ARolSZQZhjDyk5Qzx0ZeAI3Gqht6IAV_K6AeXUse-Qva5FxzuN9rZcdoSTnYfkIy6_wCs0KnkpgBf8vMDOUqchdZBY65SMZH-AJTnbUEuhliLSChQ6PBB57Ak9NUNYASkfek59kIjlh_WZPdCQXkS5dkaptyZFp6NqSqATLHi4BM_kvN6Zzwb89gGXvJdXjYe-D2_tzz7IPEabg1xAA4Am55Bx4vLw7GC9RSmBig5qJ90xsmdg4fGGinKMwXl5-a5Y9wF_7v7fFvsj3mWC8XAV6Cd-kFPOUU46Y7Ydp0nnuhf_JGybu8CbzewXqSG-qDn6swq2MZKmkyE9IApMsMBflJ9LOzs8W-jOMJlo3oJHKHK7uu5MDfJfsamyAmq6GBPQAKkQPxieotW0wYK1nJjZyeiMBgjU02fgP6yga3-MZlAFvR9cQNFbSdzPkCRo00CojobVa21MstLF9TyZcXX5TVeyY2MEnT_F1dz-egoWmo-YLqBZQpi_sldycWH2On9ddry6ofqBGtYokHFGPlBIgHNSRzCvn1RthO-vgw-87OBFIexErpQJjzfIN3Txo9YVumvlo8u9ha2owDtLQ0RnQUULWFmXEequO54-PH6NnVD9oivIlAjaOkstsba3rMfhb7EJWmSyzEhdUrd9xsclFKfiiq7AusNiKkrCWvGmR83Zb46bYynK9rot3C1UJLrK1WOd8m20EX7Vt1mbbvCyEaJo8b1jOqUelV7HZK-sOC-X9SNW7TZ7nC401aZ82kxCGTpAeMiHionJVMkg9HjzLuVY--BtKUEFT9a9LIHXrNjUDOPKjDhA6NPNVtRidrroQBh89lvQ7qNCN9aqxPRO7mGD6Ww7Oxv3ExC5V6ZnYJRb_BAAA__8M4jou">