Alan Modra
27cdfa03b5
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.
2019-05-04 17:23:18 +09:30
..
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2013-07-23 07:40:46 +00:00
2013-07-19 10:39:51 +00:00
2019-01-01 22:06:53 +10:30
2016-01-20 15:41:06 +00:00
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2018-07-10 23:58:29 +09:30
2017-08-07 22:10:51 +09:30
2016-05-19 14:07:06 +09:30
2016-05-19 14:07:06 +09:30
2016-05-19 14:07:06 +09:30
2016-05-19 14:07:06 +09:30
2016-05-19 14:07:06 +09:30
2016-05-19 14:07:06 +09:30
2019-04-24 12:14:56 -07:00
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2017-07-12 19:31:26 +09:30
2017-07-12 19:31:26 +09:30
2018-07-10 23:58:29 +09:30
2017-07-12 19:31:26 +09:30
2018-09-17 23:17:14 +09:30
2014-12-24 11:56:51 +10:30
2016-11-23 11:10:39 +00:00
2019-01-29 06:07:42 -08:00
2016-11-23 11:10:39 +00:00
2019-01-01 22:06:53 +10:30
2016-11-23 11:10:39 +00:00
2018-07-10 23:58:29 +09:30
2018-07-10 23:58:29 +09:30
2018-07-10 23:58:29 +09:30
2018-07-10 23:58:29 +09:30
2018-07-10 23:58:29 +09:30
2019-01-01 22:06:53 +10:30
2014-01-22 11:58:29 +10:30
2019-01-01 22:06:53 +10:30
2016-11-23 11:10:39 +00:00
2019-01-01 22:06:53 +10:30
2016-11-23 11:10:39 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2017-07-28 13:01:10 +01:00
2016-11-04 12:04:11 +00:00
2016-11-04 12:04:11 +00:00
2019-01-01 22:06:53 +10:30
2017-07-12 19:31:26 +09:30
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2017-07-19 13:11:59 +01:00
2017-07-19 13:11:59 +01:00
2017-07-19 13:11:59 +01:00
2019-05-04 17:23:18 +09:30
2014-04-04 19:06:35 +10:30
2014-04-04 19:06:35 +10:30
2014-04-04 19:06:35 +10:30
2019-05-04 17:23:18 +09:30
2014-04-04 19:06:35 +10:30
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2013-08-15 07:30:15 +00:00
2013-08-15 07:30:15 +00:00
2019-01-01 22:06:53 +10:30
2015-01-28 15:06:48 +10:30
2015-01-28 15:06:48 +10:30
2016-06-28 12:43:14 +01:00
2019-01-01 22:06:53 +10:30
2014-07-29 11:27:59 +01:00
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2016-11-28 17:51:57 +00:00
2019-01-01 22:06:53 +10:30
2018-07-10 23:58:29 +09:30
2016-05-09 17:07:33 +09:30
2018-07-10 23:58:29 +09:30
2015-09-18 12:39:16 +09:30
2019-05-04 16:57:33 +09:30
2019-04-16 19:59:55 +09:30
2017-10-09 04:17:24 -07:00
2017-10-09 04:17:24 -07:00
2017-10-09 04:17:24 -07:00
2018-08-26 22:45:59 +09:30
2018-08-26 22:45:59 +09:30
2019-02-06 17:33:54 +10:30
2019-01-29 06:07:42 -08:00
2019-01-29 06:07:42 -08:00
2019-01-29 06:07:42 -08:00
2017-02-01 11:55:19 +05:30
2015-06-12 11:24:36 +02:00
2015-06-12 11:24:36 +02:00
2015-06-12 11:24:36 +02:00
2015-06-12 11:24:36 +02:00
2015-06-12 11:24:36 +02:00
2015-06-12 11:24:36 +02:00
2015-06-12 11:24:36 +02:00
2019-01-01 22:06:53 +10:30
2018-07-20 09:19:00 -07:00
2016-11-23 11:10:39 +00:00
2018-01-11 17:35:34 +00:00
2018-09-15 16:24:18 +09:30
2018-01-11 17:35:34 +00:00
2016-11-23 11:10:39 +00:00
2018-09-15 16:24:18 +09:30
2018-01-11 17:35:34 +00:00
2015-01-20 09:49:27 +00:00
2015-01-20 09:49:27 +00:00
2018-09-15 16:24:18 +09:30
2018-01-11 17:35:35 +00:00
2018-09-15 16:24:18 +09:30
2018-01-11 17:35:35 +00:00
2018-09-15 16:24:18 +09:30
2018-01-11 17:35:35 +00:00
2019-01-01 22:06:53 +10:30
2013-07-22 13:04:57 +00:00
2013-07-22 13:04:57 +00:00
2013-07-22 13:04:57 +00:00
2013-07-22 13:04:57 +00:00
2016-06-28 12:43:14 +01:00
2013-08-26 19:27:25 +00:00
2018-04-25 21:13:14 +00:00
2016-05-09 17:07:33 +09:30
2016-06-28 12:43:14 +01:00
2013-03-05 02:55:27 +00:00
2013-03-05 02:55:27 +00:00
2016-06-28 12:43:14 +01:00
2013-03-05 02:55:27 +00:00
2016-06-28 12:43:14 +01:00
2013-07-19 13:21:55 +00:00
2014-02-02 06:39:39 -08:00
2014-02-02 06:39:39 -08:00
2017-02-25 19:13:34 +10:30
2014-02-02 06:39:39 -08:00
2014-02-02 06:39:39 -08:00
2017-02-25 19:13:34 +10:30
2016-01-18 13:00:33 +00:00
2014-02-02 06:39:39 -08:00
2019-01-01 22:06:53 +10:30
2018-12-07 08:30:43 -08:00
2018-12-07 08:30:43 -08:00
2018-12-07 08:30:43 -08:00
2018-12-07 08:30:43 -08:00
2018-12-07 08:30:43 -08:00
2018-12-07 08:30:43 -08:00
2018-12-07 08:30:43 -08:00
2013-08-26 19:27:25 +00:00
2019-01-01 22:06:53 +10:30
2017-07-12 19:31:26 +09:30
2019-05-04 16:57:33 +09:30
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2019-04-16 19:59:55 +09:30
2016-05-09 17:07:33 +09:30
2019-01-01 22:06:53 +10:30
2018-09-15 16:24:18 +09:30
2018-09-14 20:22:56 +01:00
2018-09-14 20:22:56 +01:00
2017-02-25 19:13:34 +10:30
2018-07-20 09:19:00 -07:00
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30
2014-10-15 02:59:41 +02:00
2014-10-15 02:59:41 +02:00
2019-01-01 22:06:53 +10:30
2019-01-01 22:06:53 +10:30