bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/18975] gold: code_fill not executed if linker script is in use


From: ccoutant at gmail dot com
Subject: [Bug gold/18975] gold: code_fill not executed if linker script is in use
Date: Wed, 16 Sep 2015 22:02:59 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18975

--- Comment #1 from Cary Coutant <ccoutant at gmail dot com> ---
The way to fill holes in a section when using scripts is to specify a fill
pattern; e.g.:

SECTIONS {
        .text : { *(.text) } = 0x90909090
}

or

SECTIONS {
        .text : { FILL(0x90909090) *(.text) }
}

Interestingly, when using the latter, Gnu ld doesn't use the fill pattern, but
instead fills with a span-dependent NOP, as if no fill pattern had been
specified.

(Note: while Gnu ld supports fill patterns of arbitrary length, gold currently
supports only 4-byte fill patterns. There's a FIXME in the code, but I don't
think there's been a PR filed for that.)

Nothing in the ld manual says that a code section should be filled with NOPs in
the absence of a FILL pattern.

(Aside: If I remember the s360 instruction set well enough, instructions can be
2, 4, or 6 bytes long. Setting an alignment of 4 on a code section seems like a
bad idea to begin with. Besides that, .init and .fini sections have been
obsolete for, what, 17 years now?)

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]