[libunwind] r364217 - Merging r360861:

Tom Stellard via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 9 12:36:08 PDT 2019


On 07/09/2019 12:28 PM, Dimitry Andric wrote:
> On 9 Jul 2019, at 04:54, Tom Stellard <tstellar at redhat.com> wrote:
>>
>> On 07/08/2019 11:51 AM, Dimitry Andric wrote:
>>> On 24 Jun 2019, at 20:40, Tom Stellard via cfe-commits <cfe-commits at lists.llvm.org> wrote:
>>>>
>>>> Author: tstellar
>>>> Date: Mon Jun 24 11:40:58 2019
>>>> New Revision: 364217
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=364217&view=rev
>>>> Log:
>>>> Merging r360861:
>>>>
>>>> ------------------------------------------------------------------------
>>>> r360861 | mstorsjo | 2019-05-15 23:49:13 -0700 (Wed, 15 May 2019) | 13 lines
>>>>
>>>> [PPC64][libunwind] Fix r2 not properly restored
>>> ....
>>>> Modified: libunwind/branches/release_80/src/assembly.h
>>>> URL: http://llvm.org/viewvc/llvm-project/libunwind/branches/release_80/src/assembly.h?rev=364217&r1=364216&r2=364217&view=diff
>>>> ==============================================================================
>>>> --- libunwind/branches/release_80/src/assembly.h (original)
>>>> +++ libunwind/branches/release_80/src/assembly.h Mon Jun 24 11:40:58 2019
>>>> @@ -35,6 +35,20 @@
>>>> #define SEPARATOR ;
>>>> #endif
>>>>
>>>> +#if defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1)
>>>> +#define PPC64_OPD1 .section .opd,"aw", at progbits SEPARATOR
>>>> +#define PPC64_OPD2 SEPARATOR \
>>>> +  .p2align 3 SEPARATOR \
>>>> +  .quad .Lfunc_begin0 SEPARATOR \
>>>> +  .quad .TOC. at tocbase SEPARATOR \
>>>> +  .quad 0 SEPARATOR \
>>>> +  .text SEPARATOR \
>>>> +.Lfunc_begin0:
>>>> +#else
>>>> +#define PPC64_OPD1
>>>> +#define PPC64_OPD2
>>>> +#endif
>>>> +
>>>> #define GLUE2(a, b) a ## b
>>>> #define GLUE(a, b) GLUE2(a, b)
>>>> #define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name)
>>>> @@ -95,7 +109,9 @@
>>>>  .globl SYMBOL_NAME(name) SEPARATOR                      \
>>>>  EXPORT_SYMBOL(name) SEPARATOR                           \
>>>>  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR             \
>>>> -  SYMBOL_NAME(name):
>>>> +  PPC64_OPD1                                              \
>>>> +  SYMBOL_NAME(name):                                      \
>>>> +  PPC64_OPD2
>>>>
>>>> #define DEFINE_LIBUNWIND_PRIVATE_FUNCTION(name)           \
>>>>  .globl SYMBOL_NAME(name) SEPARATOR                      \
>>>>
>>>
>>> I think this merge missed that the DEFINE_LIBUNWIND_PRIVATE_FUNCTION
>>> macro went away in r357640 ("[libunwind] Export the unw_* symbols as
>>> weak symbols").
>>>
>>> It looks like the PPC64_OPD1 and PPC64_OPD2 lines should also be added
>>> to the expansion of DEFINE_LIBUNWIND_PRIVATE_FUNCTION?
>>>
>>
>> Is someone else able to try to remerge and fix this up?  I don't have
>> a good way to test this.  If we can't get this resolved by Wednesday,
>> I am going to revert it, because it's the only thing blocking the release
>> at this point.
> 
> I reverted the merge in https://reviews.llvm.org/rL365539, and reapplied
> it with the additional lines in https://reviews.llvm.org/rL365542.  I
> hope you don't mind.
> 
> This is also going to end up in the next merge to FreeBSD's libunwind.
> 

Ok, thank you.

-Tom

> -Dimitry
> 



More information about the cfe-commits mailing list