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]

Re: Attempt to fix remaining test suite failures on arm-* -- stuck


On Thu, 2005-06-30 at 17:58, Zack Weinberg wrote:
> Richard Earnshaw <rearnsha@arm.com> writes:
> [... helpful explanation snipped ...]
> > I've attached a revised diff for tc-arm.c: it passes all the tests on
> > arm-none-eabi.  However, I haven't had chance to try it on the other
> > targets.
> 
> Thank you.  I can confirm that this fixes arm-none-eabi and causes no
> regressions on the other targets in my list.  I am now seeing only
> these failures, on arm-vxworks:
> 
>                 === gas tests ===
> FAIL: Unwind table generation
> FAIL: TLS
> 
> Here's the .log report for those tests:
> 
> regexp_diff match failure
> regexp "^0000000c R_ARM_PREL31      .text$"
> line   "0000000c R_ARM_PREL31      .text+0x0000000c"
> regexp_diff match failure
> regexp "^00000008 R_ARM_NONE        __aeabi_unwind_cpp_pr1$"
> line   "00000008 R_ARM_NONE        __aeabi_unwind_cpp_pr1+0x00000008"
> regexp_diff match failure
> regexp "^0000000c R_ARM_PREL31      .ARM.extab$"
> line   "0000000c R_ARM_PREL31      .ARM.extab+0x0000000c"
> regexp_diff match failure
> regexp "^ 0000 00000000 (b0b0a880 04000000|80a8b0b0 00000004) 00000000  .*$"
> line   " 0000 00000000 b0b0a880 00000000 00000000  ................"
> regexp_diff match failure
> regexp "^ 0010 (08000000 0c000000 0c000000 1c000000|00000008 0000000c 0000000c 0000001c)  .*$"
> line   " 0010 00000000 00000000 00000000 00000000  ................"
> regexp_diff match failure
> regexp "^ 0020 (10000000 08849780|00000010 80978408)                    .*$"
> line   " 0020 00000000 08849780                    ........        "
> FAIL: Unwind table generation
> 
> regexp_diff match failure
> regexp "^                       10: R_ARM_TLS_LDM32     b$"
> line   "                        10: R_ARM_TLS_LDM32     b+0x4"
> regexp_diff match failure
> regexp "^                       14: R_ARM_TLS_IE32      c$"
> line   "                        14: R_ARM_TLS_IE32      c+0x8"
> FAIL: TLS
> 
> As I said in my earlier message, it's my belief that these failures
> are spurious, a matter of VxWorks using RELA-format relocations, which
> the test suite is not expecting.  I cannot prove that, though, nor do
> I know what to do about it if so.

I agree.  It's possible that we should modify objdump so that it
extracts an addend from the place when using REL-format relocs; then the
reloc printing would be consistent (but we'd still get byte-dump
differences).  However, that would be hard and probably invasive on many
other platforms too.

My inclination for now is to disable these two tests for vxworks and to
add two new ones that use the same assembly input, but have different
dump files.  Ideally we'd have something like 'effective-target-rela';
but I guess we could live with explicit rules in the arm.exp file.

A final fall-back would be to encode the differences in the regexp
dumps, but that would substantially weaken the tests.

I think you should install your patches now and we can work on the
VXworks issue as a follow-on.

R.


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