[llvm] r178190 - Updated ELF relocation test for .eh_frame section

Michael Gottesman mgottesman at apple.com
Thu Mar 28 12:20:51 PDT 2013


No worries = ). Everyone is a victim of fate every once in a while (even sabre I am sure ; p).

Michael

On Mar 28, 2013, at 2:41 AM, Jack Carter <Jack.Carter at imgtec.com> wrote:

> Thanks Michael for reverting it,
> 
> I tested this with "make check" multiple times before checking in.
> I don't understand why it is failing in the buildbots, but at this point what matters is that the bots work.
> 
> Jack
> ________________________________________
> From: Michael Gottesman [mgottesman at apple.com]
> Sent: Wednesday, March 27, 2013 10:15 PM
> To: David Blaikie
> Cc: Jack Carter; llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm] r178190 - Updated ELF relocation test for .eh_frame section
> 
> This has caused the buildbots to fail for a bit. Reverted in r178222.
> 
> On Mar 27, 2013, at 7:01 PM, David Blaikie <dblaikie at gmail.com> wrote:
> 
>> On Wed, Mar 27, 2013 at 3:58 PM, Jack Carter <jack.carter at imgtec.com> wrote:
>>> Author: jacksprat
>>> Date: Wed Mar 27 17:58:49 2013
>>> New Revision: 178190
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=178190&view=rev
>>> Log:
>>> Updated ELF relocation test for .eh_frame section
>>> 
>>> Made sure we were looking a correct section
>>> Added Mips32/64 as an extra check
>>> Updated llvm-objdump to generate symbolic info for Mips relocations
>>> 
>>> Modified:
>>>   llvm/trunk/include/llvm/Object/ELF.h
>>>   llvm/trunk/test/MC/ELF/fde-reloc.s
>>> 
>>> Modified: llvm/trunk/include/llvm/Object/ELF.h
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ELF.h?rev=178190&r1=178189&r2=178190&view=diff
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/Object/ELF.h (original)
>>> +++ llvm/trunk/include/llvm/Object/ELF.h Wed Mar 27 17:58:49 2013
>>> @@ -1634,6 +1634,63 @@ error_code ELFObjectFile<ELFT>::getReloc
>>>      res = "Unknown";
>>>    }
>>>    break;
>>> +  case ELF::EM_MIPS:
>>> +    switch (type) {
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NONE);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_32);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL32);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_26);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HI16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LO16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LITERAL);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL32);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT5);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT6);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_64);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_DISP);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_PAGE);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_OFST);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_HI16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_LO16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SUB);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_A);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_B);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_DELETE);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHER);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHEST);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_HI16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_LO16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SCN_DISP);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_ADD_IMMEDIATE);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PJUMP);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_RELGOT);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JALR);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD32);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL32);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD64);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL64);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GD);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_LDM);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_HI16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_LO16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GOTTPREL);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL32);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL64);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_HI16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_LO16);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GLOB_DAT);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_COPY);
>>> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JUMP_SLOT);
>>> +    default:
>>> +      res = "Unknown";
>>> +    }
>>> +    break;
>>>  case ELF::EM_AARCH64:
>>>    switch (type) {
>>>      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_NONE);
>>> 
>>> Modified: llvm/trunk/test/MC/ELF/fde-reloc.s
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/fde-reloc.s?rev=178190&r1=178189&r2=178190&view=diff
>>> ==============================================================================
>>> --- llvm/trunk/test/MC/ELF/fde-reloc.s (original)
>>> +++ llvm/trunk/test/MC/ELF/fde-reloc.s Wed Mar 27 17:58:49 2013
>> 
>> Seems to be failing:
>> http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/3456
>> 
>>> @@ -1,5 +1,18 @@
>>> -// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
>>> -// RUN: llvm-mc -filetype=obj %s -o - -triple i686-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=I686 %s
>>> +// This just tests that a relocation of the specified type shows up as the first
>>> +// relocation in the relocation section for .eh_frame when produced by the
>>> +// assembler.
>>> +
>>> +// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux | \
>>> +// RUN: llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
>>> +
>>> +// RUN: llvm-mc -filetype=obj %s -o - -triple i686-pc-linux | \
>>> +// RUN: llvm-objdump -r - | FileCheck --check-prefix=I686 %s
>>> +
>>> +// RUN: llvm-mc -filetype=obj %s -o - -triple mips-unknown-unknown | \
>>> +// RUN: llvm-objdump -r - | FileCheck --check-prefix=MIPS32 %s
>>> +
>>> +// RUN: llvm-mc -filetype=obj %s -o - -triple mips64-unknown-unknown | \
>>> +// RUN: llvm-objdump -r - | FileCheck --check-prefix=MIPS64 %s
>>> 
>>> // PR15448
>>> 
>>> @@ -7,5 +20,14 @@ func:
>>>       .cfi_startproc
>>>       .cfi_endproc
>>> 
>>> -// X86-64: R_X86_64_PC32
>>> -// I686: R_386_PC32
>>> +// X86-64: RELOCATION RECORDS FOR [.eh_frame]:
>>> +// X86-64-NEXT: R_X86_64_PC32
>>> +
>>> +// I686: RELOCATION RECORDS FOR [.eh_frame]:
>>> +// I686-NEXT: R_386_PC32
>>> +
>>> +// MIPS32: RELOCATION RECORDS FOR [.eh_frame]:
>>> +// MIPS32-NEXT: R_MIPS_32
>>> +
>>> +// MIPS64: RELOCATION RECORDS FOR [.eh_frame]:
>>> +// MIPS64-NEXT: R_MIPS_64
>>> 
>>> 
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 




More information about the llvm-commits mailing list