[lld] r270709 - ELF: improve CIE no-augmentation test

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Wed May 25 08:49:53 PDT 2016


Oh, with gcc 4.2 this is probably printing eh_frame directly, not using cfi.

You should be able to replace the binary with a .s that does

.section        .eh_frame,"a", at progbits
....

Cheers,
Rafael



On 25 May 2016 at 11:47, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:
> Can you email the output of
>
> cc -funwind-tables -g -O0 -S no-augmentation.c
>
> I am curious as to when exactly it would create an empty augmentation.
>
> Cheers,
> Rafael
>
>
> On 25 May 2016 at 11:14, Ed Maste via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> Author: emaste
>> Date: Wed May 25 10:14:08 2016
>> New Revision: 270709
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=270709&view=rev
>> Log:
>> ELF: improve CIE no-augmentation test
>>
>> Add another possible error that may be reported for the same case. The
>> original reproduction case that prompted r270706 produced the error
>> "corrupted CIE" instead of "corrupted or unsupported CIE information".
>> The specific error depends on arbitrary data later in the file so
>> check that neither is emitted in case the input is ever changed.
>>
>> Document the process used to create the input .o and rename the test
>> file to .s, as requested by Rafael.
>>
>> Added:
>>     lld/trunk/test/ELF/no-augmentation.s
>>       - copied, changed from r270708, lld/trunk/test/ELF/no-augmentation.test
>> Removed:
>>     lld/trunk/test/ELF/no-augmentation.test
>>
>> Copied: lld/trunk/test/ELF/no-augmentation.s (from r270708, lld/trunk/test/ELF/no-augmentation.test)
>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/no-augmentation.s?p2=lld/trunk/test/ELF/no-augmentation.s&p1=lld/trunk/test/ELF/no-augmentation.test&r1=270708&r2=270709&rev=270709&view=diff
>> ==============================================================================
>> --- lld/trunk/test/ELF/no-augmentation.test (original)
>> +++ lld/trunk/test/ELF/no-augmentation.s Wed May 25 10:14:08 2016
>> @@ -1,3 +1,9 @@
>> +// Input file generated on a mips64 device running FreeBSD 11-CURRENT
>> +// using the system compiler GCC 4.2.1, from no-augmentation.c containing:
>> +// int fn(int a) { return a + 1; }
>> +// with command:
>> +// cc -funwind-tables -g -O0 -c no-augmentation.c
>> +
>>  // RUN: llvm-mc -filetype=obj -triple=mips64-unknown-freebsd %s -o %t.o
>>  // RUN: ld.lld --eh-frame-hdr %t.o %p/Inputs/no-augmentation.o -o %t \
>>  // RUN:   | FileCheck -allow-empty %s
>> @@ -5,6 +11,7 @@
>>  // REQUIRES: mips
>>
>>  // CHECK-NOT: corrupted or unsupported CIE information
>> +// CHECK-NOT: corrupted CIE
>>
>>  .global __start
>>  __start:
>>
>> Removed: lld/trunk/test/ELF/no-augmentation.test
>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/no-augmentation.test?rev=270708&view=auto
>> ==============================================================================
>> --- lld/trunk/test/ELF/no-augmentation.test (original)
>> +++ lld/trunk/test/ELF/no-augmentation.test (removed)
>> @@ -1,10 +0,0 @@
>> -// RUN: llvm-mc -filetype=obj -triple=mips64-unknown-freebsd %s -o %t.o
>> -// RUN: ld.lld --eh-frame-hdr %t.o %p/Inputs/no-augmentation.o -o %t \
>> -// RUN:   | FileCheck -allow-empty %s
>> -
>> -// REQUIRES: mips
>> -
>> -// CHECK-NOT: corrupted or unsupported CIE information
>> -
>> -.global __start
>> -__start:
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list