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] |
In message <51F23823.5070502@arm.com> Richard Earnshaw <rearnsha@arm.com> wrote: > On 26/07/13 03:10, John Tytgat wrote: > > >>> --- ld/testsuite/ld-arm/group-relocs-ldrs-bad.s 15 Jun 2006 11:03:02 -0000 1.1 > >>> +++ ld/testsuite/ld-arm/group-relocs-ldrs-bad.s 14 Jul 2013 16:45:03 -0000 > >>> @@ -6,8 +6,8 @@ > >>> .globl _start > >>> > >>> _start: > >>> - add r0, r0, #:sb_g0_nc:(bar) > >>> - ldrd r2, [r0, #:sb_g1:(bar)] > >>> + add r0, r0, #:pc_g0_nc:(bar) > >>> + ldrd r2, [r0, #:pc_g1:(bar + 4)] > >>> > >>> @ We will place the section foo at 0x8000100. > >> > >> Why have you changed this test from SB relative to PC relative? That > >> means it no-longer tests the same thing. > > > > We originally had 4 linker groups tests : group-relocs-alu-bad, > > group-relocs-ldc-bad, group-relocs-ldr-bad and group-relocs-ldrs-bad. > > > > The first two were pc-based, the last two were sb-based. I've changed the > > last two in pc-based as well and added 4 new sb-based tests. > > > > John. > > > > > I think the 's' in the test name (ldrs) is supposed to indicate that > this is sb based. No it hints the R_ARM_LDRS_* relocation is being tested (used for {LD,ST}R{D,H,SH} instructions). > I'd rather you add new tests than changed existing > ones. It's not as though the gas testsuite takes a long time to run > (relative to the compiler at any rate). No problem. But note I still need to change the existing group-relocs-ldr(s)-bad tests a little bit as they were no longer failing because of the exact nature of this sb patch. I recreated the patch and also corrected a problem which I found out in the meanwhile : when using an unresolved symbol for the SB group relocation there was an ICE as the section containing that symbol is NULL. Hence the added test on sym_sec in elf32_arm_final_link_relocation. I also added a specific unresolved failure test for this. 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-ldr-bad.s: Redefine bar into foo section beyond 16 bit offset width. * 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.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-alu-bad-2.d: New test for sb group relocation. * ld-arm/group-relocs-ldc-bad-2.d: Likewise. * ld-arm/group-relocs-ldr-bad-2.d: New test for pc group relocation. * ld-arm/group-relocs-ldrs-bad-2.d: Likewise. * ld-arm/unresolved-2.d: Add sb relocation failure test. * 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/unresolved-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_v2.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |