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.w...@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 >