This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Nick Clifton writes: > I am worried about this patch because currently it is not possible to test it. > IE the framework to support the FT32B type has not yet gone in to the sources. > Did I miss a patch that adds this ? (Plus I assume that there is a patch to > the top level config.sub file which needs to go into the gcc sources so that > it can be imported into the binutils sources). The FT32B code compression is enabled during relaxation time. So there is no top-level switch for the new CPU type - its code compression feature is enabled by "ld --relax". With these two patches, the tools can build FT32B binaries. > One other thing - with a change like this, introducing major new functionality > to a target, it would be a really good idea to include some testsuite tests. > You definitely want to make sure that the assembler can create these new format > objects and the disassembler can reconstruct them correctly. Good idea. I have added a new gas test, ft32/insnsc which exercises all the compressed short codes. I have corrected the code issues from your review. OK to commit? bfd/ChangeLog: 2017-10-31 James Bowman <james.bowman@ftdichip.com> * archures.c: Add bfd_mach_ft32b. * cpu-ft32.c: Add arch_info_struct. * elf32-ft32.c: Add R_FT32_RELAX, SC0, SC1, DIFF32. (ft32_elf_relocate_section): Add clauses for R_FT32_SC0, SC1, DIFF32. (ft32_reloc_shortable, elf32_ft32_is_diff_reloc, elf32_ft32_adjust_diff_reloc_value, elf32_ft32_adjust_reloc_if_spans_insn, elf32_ft32_relax_delete_bytes, elf32_ft32_relax_is_branch_target, ft32_elf_relax_section): New function. * reloc.c: Add BFD_RELOC_FT32_RELAX, SC0, SC1, DIFF32. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas/ChangeLog: 2017-10-31 James Bowman <james.bowman@ftdichip.com> * config/tc-ft32.c (md_assemble): add relaxation reloc BFD_RELOC_FT32_RELAX. (md_longopts): Add "norelax" and "no-relax". (md_apply_fix): Add reloc BFD_RELOC_FT32_DIFF32. (relaxable_section, ft32_validate_fix_sub, ft32_force_relocation, ft32_allow_local_subtract): New function. * config/tc-ft32.h: remove unused MD_PCREL_FROM_SECTION. * testsuite/gas/ft32/insnsc.s: New test exercising all FT32B shortcodes. include/ChangeLog: 2017-10-31 James Bowman <james.bowman@ftdichip.com> * elf/ft32.h: Add R_FT32_RELAX, SC0, SC1, DIFF32.
Attachment:
patch.gz
Description: patch.gz
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |