When building vmlinux, an additional section named ".text.__ashldi3" with type PROGBITS is emitted in vmlinux. It is causing issues because since it is not within the ".text" section, its memory is not reserved and get corrupted. Any idea what could cause the creation of section ".text.__ashldi3" outside of section ".text" ? Alternatively, is there a way to merge section ".text.__ashldi3" inside section ".text" ? See below full list of sections from readelf: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .init.text PROGBITS 00001000 001000 0127ba 00 AX 0 0 16 [ 2] .init.data PROGBITS 000137bc 0137bc 001cf4 00 WA 0 0 4 [ 3] .data..percpu PROGBITS 00016000 39c088 000000 00 WA 0 0 1 [ 4] .text PROGBITS 00016000 016000 329d58 00 AX 0 0 16 [ 5] .notes NOTE 0033fd58 33fd58 000018 00 A 0 0 4 [ 6] .rodata PROGBITS 00340000 340000 0476a8 00 WA 0 0 32 [ 7] __param PROGBITS 003876a8 3876a8 000424 00 A 0 0 4 [ 8] __modver NOBITS 00387acc 387acc 000534 00 WA 0 0 1 [ 9] .data PROGBITS 00388000 388000 013bc0 00 WA 0 0 32 [10] .bss NOBITS 0039c000 39bbc0 02c844 00 WA 0 0 4096 [11] .comment PROGBITS 00000000 39c088 000011 01 MS 0 0 1 [12] .debug_aranges PROGBITS 00000000 39c099 004b08 00 0 0 1 [13] .debug_info PROGBITS 00000000 3a0ba1 1599e8e 00 0 0 1 [14] .debug_abbrev PROGBITS 00000000 193aa2f 0e106e 00 0 0 1 [15] .debug_line PROGBITS 00000000 1a1ba9d 8bd21c 00 0 0 1 [16] .debug_frame PROGBITS 00000000 22d8cbc 03e914 00 0 0 4 [17] .debug_str PROGBITS 00000000 23175d0 081192 01 MS 0 0 1 [18] .debug_loc PROGBITS 00000000 2398762 11caa0 00 0 0 1 [19] .debug_ranges PROGBITS 00000000 24b5202 106b28 00 0 0 1 [20] .text.__ashldi3 PROGBITS 003c9000 39c000 000088 00 AX 0 0 2 [21] .symtab SYMTAB 00000000 25bbd2c 031e40 10 22 6713 4 [22] .strtab STRTAB 00000000 25edb6c 032563 00 0 0 1 [23] .shstrtab STRTAB 00000000 26200cf 0000e3 00 0 0 1