This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Ping~]Re: [5/5][libgcc] Runtime support for AArch64 return address signing (needs new target macros)
On 20/01/17 11:54, Jiong Wang wrote:
> On 20/01/17 10:30, Christophe Lyon wrote:
>>>>>> error: 'DWARF_REGNUM_AARCH64_RA_STATE' undeclared (first use in this
>>>>>> function)
>>>>>> fs->regs.reg[DWARF_REGNUM_AARCH64_RA_STATE].loc.offset ^= 1;
>>>>>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>
>>>>> Hi Christophe, could you please confirm you svn revision please?
>>>>>
>>>>> I do have done bootstrap and regression on both x86 and aarch64 before
>>>>> commit this patch. I had forgotten to "svn add" one header file,
>>>>> but add
>>>>> it
>>>>> later.
>>>>>
>>>> The failures started with r244673, and are still present with r244687.
>>>> When did you add the missing file?
>>>
>>> It was r244674,
>>> https://gcc.gnu.org/ml/gcc-cvs/2017-01/msg00689.html, so
>>> should have been included in your code. The faliure looks strange to me
>>> then, I will svn up and re-start a fresh bootstrap on AArch64.
>>>
>> The file is present in my git clone.
>> I'm not bootstrapping on AArch64, I'm building a cross-compiler on
>> x86_64,
>> but it shouldn't matter.
>
> Hi Christophe,
>
> Thanks, I reproduced this on cross linux environment, the reason is
> the header file is not included because of the inhabit_libc guard, while
> the unwinder header file should always be included.
>
> I will committed the attached patch as obvious, once I finished a
> fresh bootstrap, cross elf, cross linux.
>
If this survives a cross-build, please just commit it. It's very
unlikely that a native build will throw up any problems.
R.
> Thanks.
>
> libgcc/
>
> 2017-01-20 Jiong Wang <jiong.wang@arm.com>
>
> * config/aarch64/linux-unwind.h: Always include aarch64-unwind.h.
>
>
>
> k.patch
>
>
> diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h
> index a8fa1d5..70e5a8a 100644
> --- a/libgcc/config/aarch64/linux-unwind.h
> +++ b/libgcc/config/aarch64/linux-unwind.h
> @@ -20,11 +20,13 @@
> see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
> <http://www.gnu.org/licenses/>. */
>
> +/* Always include AArch64 unwinder header file. */
> +#include "config/aarch64/aarch64-unwind.h"
> +
> #ifndef inhibit_libc
>
> #include <signal.h>
> #include <sys/ucontext.h>
> -#include "config/aarch64/aarch64-unwind.h"
>
>
> /* Since insns are always stored LE, on a BE system the opcodes will
>