projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RISC-V: Add elfNN_riscv_mkobject to initialize RISC-V tdata.
[deliverable/binutils-gdb.git]
/
bfd
/
elf32-v850.c
diff --git
a/bfd/elf32-v850.c
b/bfd/elf32-v850.c
index 21df3c8b9ac21b46a41692b6f685fe45da3334cd..bf37a936620f12a3c6482d265ae2a7e2c6ae09d5 100644
(file)
--- a/
bfd/elf32-v850.c
+++ b/
bfd/elf32-v850.c
@@
-1,5
+1,5
@@
/* V850-specific support for 32-bit ELF
/* V850-specific support for 32-bit ELF
- Copyright (C) 1996-20
19
Free Software Foundation, Inc.
+ Copyright (C) 1996-20
20
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
@@
-29,6
+29,7
@@
#include "elf-bfd.h"
#include "elf/v850.h"
#include "libiberty.h"
#include "elf-bfd.h"
#include "elf/v850.h"
#include "libiberty.h"
+#include "elf32-v850.h"
/* Sign-extend a 17-bit number. */
#define SEXT17(x) ((((x) & 0x1ffff) ^ 0x10000) - 0x10000)
/* Sign-extend a 17-bit number. */
#define SEXT17(x) ((((x) & 0x1ffff) ^ 0x10000) - 0x10000)
@@
-229,7
+230,7
@@
static void
remember_hi16s_reloc (bfd *abfd, bfd_vma addend, bfd_byte *address)
{
hi16s_location * entry = NULL;
remember_hi16s_reloc (bfd *abfd, bfd_vma addend, bfd_byte *address)
{
hi16s_location * entry = NULL;
-
bfd_size_type
amt = sizeof (* free_hi16s);
+
size_t
amt = sizeof (* free_hi16s);
/* Find a free structure. */
if (free_hi16s == NULL)
/* Find a free structure. */
if (free_hi16s == NULL)
@@
-3150,6
+3151,8
@@
v850_elf_section_from_shdr (bfd *abfd,
const char *name,
int shindex)
{
const char *name,
int shindex)
{
+ flagword flags;
+
/* There ought to be a place to keep ELF backend specific flags, but
at the moment there isn't one. We just keep track of the
sections by their name, instead. */
/* There ought to be a place to keep ELF backend specific flags, but
at the moment there isn't one. We just keep track of the
sections by their name, instead. */
@@
-3157,18
+3160,21
@@
v850_elf_section_from_shdr (bfd *abfd,
if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE;
if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE;
+ flags = 0;
switch (hdr->sh_type)
{
case SHT_V850_SCOMMON:
case SHT_V850_TCOMMON:
case SHT_V850_ZCOMMON:
switch (hdr->sh_type)
{
case SHT_V850_SCOMMON:
case SHT_V850_TCOMMON:
case SHT_V850_ZCOMMON:
- if (!bfd_set_section_flags (hdr->bfd_section,
- (bfd_section_flags (hdr->bfd_section)
- | SEC_IS_COMMON)))
- return FALSE;
+ flags = SEC_IS_COMMON;
}
}
- return TRUE;
+ if ((hdr->sh_flags & SHF_V850_GPREL) != 0)
+ flags |= SEC_SMALL_DATA;
+
+ return (flags == 0
+ || bfd_set_section_flags (hdr->bfd_section,
+ hdr->bfd_section->flags | flags));
}
/* Set the correct type for a V850 ELF section. We do this
}
/* Set the correct type for a V850 ELF section. We do this
@@
-3836,7
+3842,7
@@
v850_elf_relax_section (bfd *abfd,
if (no_match < 0
&& ((insn[2] & JMP_R_MASK) != JMP_R
|| MOVEA_R2 (insn[1]) != JMP_R1 (insn[2])))
if (no_match < 0
&& ((insn[2] & JMP_R_MASK) != JMP_R
|| MOVEA_R2 (insn[1]) != JMP_R1 (insn[2])))
- no_match =
4
;
+ no_match =
2
;
}
else
{
}
else
{
This page took
0.028349 seconds
and
4
git commands to generate.