summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2015-03-26 14:25:34 +0530
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2015-03-27 00:08:46 +0100
commit8fde02feb2f8a36934308012d89fa6614967b2dc (patch)
tree6261937bb0c40cf116bdeb18b65fc43425aa3bb6
parentcc8d7d062e2db0a1ed3973e6af38cd1938ba74d7 (diff)
Add support for R_ARC_NONE relocations.
The R_ARC_NONE relocation is generated when --gc-sections, used by the compile time linker, removes some sections. This is completely normal, and we can see that all other targets (based on random sampling) have support for R_*_NONE relocations (named for each target). Handling R_ARC_NONE involves doing nothing with it, which is nice and easy. Signed-off-by: Andrew Burgess <andrew.burgess@embecosm.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--ldso/ldso/arc/elfinterp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ldso/ldso/arc/elfinterp.c b/ldso/ldso/arc/elfinterp.c
index 7c31d3ac7..2f0cf7f66 100644
--- a/ldso/ldso/arc/elfinterp.c
+++ b/ldso/ldso/arc/elfinterp.c
@@ -144,6 +144,8 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope,
#endif
switch (reloc_type) {
+ case R_ARC_NONE:
+ break;
case R_ARC_32:
*reloc_addr += symbol_addr + rpnt->r_addend;
break;
@@ -202,6 +204,8 @@ _dl_do_lazy_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope,
#endif
switch (reloc_type) {
+ case R_ARC_NONE:
+ break;
case R_ARC_JMP_SLOT:
*reloc_addr += tpnt->loadaddr;
break;