aboutsummaryrefslogtreecommitdiff
path: root/ld/stamp-h.in
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-05-04 16:03:47 +0930
committerAlan Modra <amodra@gmail.com>2019-05-04 17:23:18 +0930
commit27cdfa03b5be812683c18e64009a5da042190ae6 (patch)
treef2c6abd546ec1b2c9a7f215914f569cd29a8c0c2 /ld/stamp-h.in
parenta288c270991de1578ad28ac312120f4167347234 (diff)
downloadfsf-binutils-gdb-27cdfa03b5be812683c18e64009a5da042190ae6.zip
fsf-binutils-gdb-27cdfa03b5be812683c18e64009a5da042190ae6.tar.gz
fsf-binutils-gdb-27cdfa03b5be812683c18e64009a5da042190ae6.tar.bz2
m32c padding with nops
m32c_md_end attempted to pad out a code section with nops, but this was just plain wrong in many ways: - The padding didn't happen at all if the last section emitted wasn't a code section. - The padding went to the wrong place if subsections were used, and the last subseg used wasn't the highest numbered subseg. - Padding wasn't added to all code sections. - If the last section was empty, it was padded to 4 bytes. - The padding didn't go to a 4-byte alignment boundary, instead it effectively made the last instruction 4 bytes in size. - The padding didn't take into account that code sections may have contents other than machine instructions. So, rip it out and handle nop padding properly, also fixing .align .balign/.p2align in the middle of code. gas/ * config/tc-m32c.c (insn_size): Delete static var. (md_begin): Don't set it. (m32c_md_end): Delete. (md_assemble): Add insn_size auto var. * config/tc-m32c.h (md_end): Don't define. (m32c_md_end): Delete. (NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define. * testsuite/gas/all/align.d: Remove m32c from notarget list. * testsuite/gas/all/incbin.d: Likewise. * testsuite/gas/elf/dwarf2-11.d: Likewise. * testsuite/gas/macros/semi.d: Likewise. * testsuite/gas/all/gas.exp (do_comment): Similarly. ld/ * testsuite/ld-scripts/fill.d: Don't xfail m32c * testsuite/ld-scripts/fill16.d: Likewise.
Diffstat (limited to 'ld/stamp-h.in')
0 files changed, 0 insertions, 0 deletions