From 1df0c1dde707d4d35d89500a1322692ccb14a69a Mon Sep 17 00:00:00 2001
From: Richard Sandiford <rdsandiford@googlemail.com>
Date: Thu, 16 Dec 2004 16:55:53 +0000
Subject: [PATCH] include/elf/ 	* v850.h (R_V850_LO16_SPLIT_OFFSET): New
 reloc.

bfd/
	* reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
	* elf32-v850.c (v850_elf_howto_table): Add entry for
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
	(v850_elf_perform_lo16_relocation): New function, extracted from...
	(v850_elf_perform_relocation): ...here.  Use it to handle
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
	R_V850_LO16_SPLIT_OFFSET.
	* libbfd.h, bfd-in2.h: Regenerate.

gas/
	* config/tc-v850.c (handle_lo16): New function.
	(v850_reloc_prefix): Use it to check lo().
	(md_assemble, md_apply_fix3): Handle BFD_RELOC_V850_LO16_SPLIT_OFFSET.

gas/testsuite/
	* gas/v850/split-lo16.{s,d}: New test.
	* gas/v850/v850.exp: Run it.

ld/testsuite/
	* ld-v850: New directory.
---
 include/elf/ChangeLog | 4 ++++
 include/elf/v850.h    | 1 +
 2 files changed, 5 insertions(+)

diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index f4f961d9b..ea49947f5 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,7 @@
+2004-12-16  Richard Sandiford  <rsandifo@redhat.com>
+
+	* v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc.
+
 2004-12-09  Ian Lance Taylor  <ian@wasabisystems.com>
 
 	* mips.h (E_MIPS_MACH_9000): Define.
diff --git a/include/elf/v850.h b/include/elf/v850.h
index 7d5110b33..f42900532 100644
--- a/include/elf/v850.h
+++ b/include/elf/v850.h
@@ -79,6 +79,7 @@ START_RELOC_NUMBERS (v850_reloc_type)
      RELOC_NUMBER (R_V850_LONGJUMP, 26)
      RELOC_NUMBER (R_V850_ALIGN, 27)
      RELOC_NUMBER (R_V850_REL32, 28)
+     RELOC_NUMBER (R_V850_LO16_SPLIT_OFFSET, 29)	/* For ld.bu */
 END_RELOC_NUMBERS (R_V850_max)