[PATCH v2] [MIPS] Inhibit trailing .insn if pool is not followed by code

Jeff Law law@redhat.com
Tue Jun 11 20:10:00 GMT 2019


On 6/8/19 3:21 PM, Faraz Shahbazker wrote:
> The __pool and __pend symbols are used to mark the beginning and end
> of inline constant pools in MIPS16 code regions.  However if the pool
> occurs at the boundary of a code region and is not followed by further
> code, presence of the __pend symbol can confuse the dissassembler in
> to treating subsequent non-MIPS16 code block as MIPS16.  Change the
> type of the __pend symbol depending on whether it is followed by
> further code to inhibit the trailing .insn.
> 
> Based on original patch from Maciej W. Rozycki <macro@linux-mips.org>
> 
> gcc/
> 	* config/mips/mips.c (mips_final_postscan_insn): Modify call
> 	to `mips_set_text_contents_type' to indicate whether a
> 	non-debug insn follows.
> 
> gcc/gcc/testsuite/
> 	* gcc.target/mips/data-sym-pool.c: Update expected output.
> 	* gcc.target/mips/data-sym-multi-pool.c: New test.
THanks.  I've installed this on the trunk.

jeff



More information about the Gcc-patches mailing list