On Tue, Aug 11, 2020 at 07:59:12PM +0200, pet...@infradead.org wrote: > On Tue, Aug 11, 2020 at 06:01:35PM +0200, Jessica Yu wrote: > > > > > On Tue, Aug 11, 2020 at 04:34:27PM +0200, Mauro Carvalho Chehab wrote: > > > > > [33] .plt PROGBITS 0000000000000340 00035c80 > > > > > 0000000000000001 0000000000000000 WAX 0 0 1 > > > > > [34] .init.plt NOBITS 0000000000000341 00035c81 > > > > > 0000000000000001 0000000000000000 WA 0 0 1 > > > > > [35] .text.ftrace[...] PROGBITS 0000000000000342 00035c81 > > > > > 0000000000000001 0000000000000000 WAX 0 0 1 > > > Interesting, my cross-compiled modules do not have the executable flag - > > > > [38] .plt NOBITS 0000000000000340 00038fc0 > > 0000000000000001 0000000000000000 WA 0 0 1 > > [39] .init.plt NOBITS 0000000000000341 00038fc0 > > 0000000000000001 0000000000000000 WA 0 0 1 > > [40] .text.ftrace_tram NOBITS 0000000000000342 00038fc0 > > 0000000000000001 0000000000000000 WA 0 0 1 > > > I'm a bit confused about what NOLOAD actually implies in this context. From > > the > > ld documentation - "The `(NOLOAD)' directive will mark a section to not be > > loaded at run time." But these sections are marked SHF_ALLOC and are > > referenced > > to in the module plt code. Or does it just tell the linker to not > > initialize it? > > Yeah, that confusion is wide-spread, so much so that bfd-ld and gold, > both in bintils, had different behaviour at some point. > > Anyway, another clue is that your build has all NOBITS, while Mauro's > build has PROGBITS for the broken sections. > > Anyway, my gcc-10.1/binutils-2.34 cross tool chain (from k.org) > generates the same as Jessica's too. I wonder if binutils-2.35 is > wonky...
When I use the Debian provided cross compiler which uses: binutils-aarch64-linux-gnu 2.35-1 I do indeed see the same thing Mauro does, which seems to suggest there's something really dodgy with that toolchain. Some tools person should have a look.