[PATCH] D22960: [ELF] LinkerScript: Implement custom output section factory

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 8 10:37:15 PDT 2016


davide added a comment.

In https://reviews.llvm.org/D22960#508621, @grimar wrote:

> Btw currenly when linking FreeBSD kernel LLD produces 7(!) different .rodata sections:
>
>   [ 6] .rodata           PROGBITS         ffffffff80c87c8c  00c86c8c
>        00000000000e6e4d  0000000000000001 AMS       0     0     1
>   [ 7] .rodata           PROGBITS         ffffffff80d6eae0  00d6dae0
>        0000000000246f00  0000000000000000   A       0     0     32
>   [ 8] .rodata           PROGBITS         ffffffff80fb59e0  00fb49e0
>        00000000000001f0  0000000000000010  AM       0     0     16
>   [ 9] .rodata           PROGBITS         ffffffff80fb5bd0  00fb4bd0
>        00000000000002a0  0000000000000004 AMS       0     0     16
>   [10] .rodata           PROGBITS         ffffffff80fb5e70  00fb4e70
>        0000000000000108  0000000000000008  AM       0     0     8
>   [11] .rodata           PROGBITS         ffffffff80fb5f78  00fb4f78
>        000000000000000c  0000000000000004 AMS       0     0     4
>   [12] .rodata           PROGBITS         ffffffff80fb5f88  00fb4f88
>        0000000000001158  0000000000000001 AMS       0     0     8
>   
>
> While ld produces only one:
>
>   [ 6] .rodata           PROGBITS         ffffffff80e85100  00c85100
>         0000000000325aaa  0000000000000000   A       0     0     32


I noticed the same. This is likely to be a bug. Many loadable sections are also not put in a PT_LOAD. And this makes the loader very angry.


https://reviews.llvm.org/D22960





More information about the llvm-commits mailing list