Commit: RL78: Generate complex relocs for DWARF sections

Nick Clifton nickc@redhat.com
Tue Apr 14 15:22:00 GMT 2015


Hi Guys,

  I am applying the patch below to update the RL78 port so that it uses
  complex relocations for entries in the .debug_line section.  This
  means that when code sections are relaxed by the linker, the
  .debug_line information will stay up to date.

  Whilst implementing this patch I found that readelf did not know how
  to handle RL78 complex relocations and that the special_function field
  in the RL78 reloc howto table had not been set up to handle complex
  relocs.  So the patch also fixes both of these problems.

Cheers
  Nick

gas/ChangeLog
2015-04-14  Nick Clifton  <nickc@redhat.com>

	* config/tc-rl78.h (TC_LINKRELAX_FIXUP): Define.
	(TC_FORCE_RELOCATION_SUB_SAME): Define.
	(DWARF2_USE_FIXED_ADVANCE_PC): Define.

gas/testsuite/ChangeLog
2015-04-14  Nick Clifton  <nickc@redhat.com>

	* gas/lns/lns.exp: Add RL78 to list of targets using
	DW_LNS_fixed_advance_pc.

bfd/ChangeLog
2015-04-14  Nick Clifton  <nickc@redhat.com>

	* elf32-rl78.c (RL78_OP_REL): New macro.
	(rl78_elf_howto_table): Use it for complex relocs.
	(get_symbol_value): Handle the cases when the info or status
	arguments are NULL.
	(get_romstart): Cache the status returned by get_symbol_value.
	(get_ramstart): Likewise.
	(RL78_STACK_PUSH): Generate an error message if the stack
	overflows.
	(RL78_STACK_POP): Likewise for underflows.
	(rl78_compute_complex_reloc): New function.  Contains the basic
	processing code for all RL78 complex relocs.
	(rl78_special_reloc): New function.  Provides special reloc
	handling for complex relocs.
	(rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
	(rl78_offset_for_reloc): Likewise.

binutils/ChangeLog
2015-04-14  Nick Clifton  <nickc@redhat.com>

	* readelf.c (target_specific_reloc_handling): Add code to handle
	RL78 complex relocs.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fred
Type: application/octet-stream
Size: 33650 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150414/dc9742c6/attachment.obj>


More information about the Binutils mailing list