Proposed PATCH ARM -- minor cleanup & revert arch_mach comparing code

Nick Clifton nickc@redhat.com
Tue Apr 1 13:09:00 GMT 2003


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@redhat.com>

	* arm.h (ARM_NOTE_SECTION): Include .gnu in the string.

bfd/ChangeLog
2003-04-01  Nick Clifton  <nickc@redhat.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@redhat.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@redhat.com>
	    Richard Earnshaw  <rearnsha@arm.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@redhat.com>

	* emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Change name of
	note section.
	* emulparams/armelf_linux.sh (OTHER_READONLY_SECTIONS): Change
	name of note section.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: iwmmxt.bin.patch.bz2
Type: application/x-bzip2
Size: 10165 bytes
Desc: Patch to iwmmxt code in binutils
URL: <https://sourceware.org/pipermail/binutils/attachments/20030401/e7545535/attachment.bz2>


More information about the Binutils mailing list