diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2020-05-13 16:05:45 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2020-05-14 10:39:54 +0800 |
commit | fc46e8bd351bf9b4eef5110f5ef6f30f8bd57739 (patch) | |
tree | f702077d984cb0c73b65606b86bb9b4739b743e8 | |
parent | 4ac31493c8029a4594dd6dbdcee058aead5ce781 (diff) | |
download | binutils-fc46e8bd351bf9b4eef5110f5ef6f30f8bd57739.zip binutils-fc46e8bd351bf9b4eef5110f5ef6f30f8bd57739.tar.gz binutils-fc46e8bd351bf9b4eef5110f5ef6f30f8bd57739.tar.bz2 |
RISC-V: Add elfNN_riscv_mkobject to initialize RISC-V tdata.
For now we only have one char pointer in RISC-V tdata, so it should be fine.
But once we need more elements in tdata, then we may get some uninitialize
or unexpected values. I do meet the same problem when extending the RISC-V
tdata.
bfd/
elfnn-riscv.c (elfNN_riscv_mkobject): New function. We need this
to initialize RISC-V tdata.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfnn-riscv.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 34932e7..06a9f12 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2020-05-14 Nelson Chu <nelson.chu@sifive.com> + + * elfnn-riscv.c (elfNN_riscv_mkobject): New function. We need this + to initialize RISC-V tdata. + 2020-05-12 Gunther Nikl <gnikl@justmail.de> * aoutx.h (NAME (aout, swap_std_reloc_out)): Reject an unsupported diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c index 473bf50..a9e8132 100644 --- a/bfd/elfnn-riscv.c +++ b/bfd/elfnn-riscv.c @@ -98,6 +98,14 @@ struct _bfd_riscv_elf_obj_tdata && elf_tdata (bfd) != NULL \ && elf_object_id (bfd) == RISCV_ELF_DATA) +static bfd_boolean +elfNN_riscv_mkobject (bfd *abfd) +{ + return bfd_elf_allocate_object (abfd, + sizeof (struct _bfd_riscv_elf_obj_tdata), + RISCV_ELF_DATA); +} + #include "elf/common.h" #include "elf/internal.h" @@ -4363,6 +4371,7 @@ riscv_elf_obj_attrs_arg_type (int tag) #define elf_info_to_howto_rel NULL #define elf_info_to_howto riscv_info_to_howto_rela #define bfd_elfNN_bfd_relax_section _bfd_riscv_relax_section +#define bfd_elfNN_mkobject elfNN_riscv_mkobject #define elf_backend_init_index_section _bfd_elf_init_1_index_section |