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]

Re: [PATCH, ARM]: Fix SB group relocations


In message <51E7C803.50506@redhat.com>
          nick clifton <nickc@redhat.com> wrote:

> Hi John,
> 
>   I have no objections to this patch per se, but there are a couple of 
> issues that I would like you to address:
> 
>   1.  Please could you file a bugzilla bug report for this issue and 
> refile the problem and proposed patch there.  That way if it turns out 
> later on that the B(S) value is not being computed correctly in all 
> situations there will be somewhere to accumulate extra patches.

PR15787

> 2. Some of the test cases are missing from your patch.  Specifically:
> 
> > 	* ld-arm/group-relocs-alu-bad-2.d: New test for sb group relocation.
> > 	* ld-arm/group-relocs-ldr-bad-2.d: Likewise.
> > 	* ld-arm/group-relocs-ldrs-bad-2.d: Likewise.
> > 	* ld-arm/group-relocs-ldc-bad-2.d: Likewise.
> > 	* ld-arm/group-relocs-alu-bad-2.s: New test source.
> > 	* ld-arm/group-relocs-ldr-bad-2.s: Likewise.
> > 	* ld-arm/group-relocs-ldrs-bad-2.s: Likewise.
> > 	* ld-arm/group-relocs-ldc-bad-2.s: Likewise.

Apologies for that.  Aside, not able to do 'cvs add' makes that new files
aren't included with 'cvs diff -N'.

Updated patch attached.

bfd

John Tytgat  <john@bass-software.com>

	PR ld/15787
	* elf32-arm.c (elf32_arm_final_link_relocate): Use origin of output
	segment containing the relocating symbol instead of assuming 0 for
	sb group relocations.

ld/testsuite

John Tytgat  <john@bass-software.com>

	PR ld/15787
	* ld-arm/group-relocs.s: Add comments.  Move symbols used for sb
	group relocations into .data section.  Drop section zero.  Use pc/r0
	as base register when pc/sb group relocations are used.
	* ld-arm/group-relocs.d: Adjust expected result.
	* ld-arm/group-relocs-ldr-bad.s: Use pc_g0/pc_g1 relocs instead of
	sb_g0/sb_g1.
	* ld-arm/group-relocs-ldrs-bad.s: Likewise.
	* ld-arm/group-relocs-ldr-bad.d: Adjust expected result.
	* ld-arm/group-relocs-ldrs-bad.d: Likewise.
	* ld-arm/group-relocs-alu-bad-2.d: New test for sb group relocation.
	* ld-arm/group-relocs-ldr-bad-2.d: Likewise.
	* ld-arm/group-relocs-ldrs-bad-2.d: Likewise.
	* ld-arm/group-relocs-ldc-bad-2.d: Likewise.
	* ld-arm/group-relocs-alu-bad-2.s: New test source.
	* ld-arm/group-relocs-ldr-bad-2.s: Likewise.
	* ld-arm/group-relocs-ldrs-bad-2.s: Likewise.
	* ld-arm/group-relocs-ldc-bad-2.s: Likewise.
	* ld-arm/arm-elf.exp: For group-relocs, drop section zero start
	definition.  Run the new tests.

John.
-- 
John Tytgat                                                             BASS
John@bass-software.com

Attachment: arm_sb_g_reloc.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]