This is the mail archive of the binutils@sources.redhat.com 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] |
Hi Richard, > As mentioned yesterday, the iwmmx patch introduced a problem that > prevented any linking between code compiled for different ARM > architectures; and worse was marking files incorrectly and with internal > bfd enumeration values. This patch reverts those bits of code and in > addition does some minor tidying up on the placement of the wmmx > instructions in the opcode table. > > This fixes building a gcc+binutils+newlib tree for arm-elf. Whilst I do not agree with the reversion part of this patch, I do agree with the changes in tc-arm.c. I am going to apply a different patch which is a combination of yours and mine. It adds the new code for processing the .note.gnu.arm.ident sections, but it suppresses the code in tc-arm.c that creates them in the first place. In this way the binaries should look exactly the same as if my entire patch had been reverted. This patch also includes the revisions you suggested in your other email. I still think that creating the .note sections is the right way to go, and I want to debate with you about how to do this, but I also want a clean set of sources so that I can process the Xtensa submission. Once that is done I will get back to you about how we ought to be labelling ARM binaries to distinguish their architecture type. Cheers Nick include/elf/ChangeLog 2003-04-01 Nick Clifton <nickc at redhat dot com> * arm.h (ARM_NOTE_SECTION): Include .gnu in the string. bfd/ChangeLog 2003-04-01 Nick Clifton <nickc at redhat dot com> * archures.c (bfd_mach_arm_unknown): Define. * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes, bfd_arm_get_mach_from_notes): Prototype. * bfd-in2.h: Regenerate. * coff-arm.c (coff_arm_merge_private_bfd_data): Call bfd_arm_merge_machines. (coff_arm_final_link_postscript): Call bfd_arm_update_notes. * coffcode.h (coff_set_arch_mach_hook): Call bfd_arm_get_mach_from_notes. * coffgen.c (coff_real_object_p): Revert previous delta. * cpu_arm.c (arm_check_note): New function. Examine a note in a .note section. (bfd_arm_merge_machines): New function: Handle the merging of ARM binaries compiled for different architectures.. (bfd_arm_update_notes): New function: Update an ARM note section. (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine number from an ARM note section. * elf32-arm.h (elf32_arm_object_p): Use bfd_arm_get_mach_from_notes. (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines. (elf32_arm_final_write_processing): Use bfd_arm_update_notes. opcodes/ChangeLog 2003-04-01 Nick Clifton <nickc at redhat dot com> * arm-dis.c: Remove presence of (r) and (tm) symbols. * arm-opc.h: Remove presence of (r) and (tm) symbols. gas/ChangeLog 2003-04-01 Nick Clifton <nickc at redhat dot com> Richard Earnshaw <rearnsha at arm dot com> * config/tc-arm.c: Remove presence of (r) and (tm) symbols. (ARM_ARCH_IWMMXT): Simplify. (insns): Place iwmmx instructions in correct place in table. (arm_add_note): New function: Add a note entry to a .note section. (md_begin): Make the default architecture be unknown. Suppress the creation of an arm note section. ld/ChangeLog 2003-04-01 Nick Clifton <nickc at redhat dot com> * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Change name of note section. * emulparams/armelf_linux.sh (OTHER_READONLY_SECTIONS): Change name of note section.
Attachment:
iwmmxt.bin.patch.bz2
Description: Patch to iwmmxt code in binutils
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |