[PATCH] Update compilation flags with core specific options

Scott Wood scottwood at freescale.com
Thu Jul 25 03:45:36 EST 2013


On 07/24/2013 11:25:52 AM, Udma Catalin-Dan-B32721 wrote:
> > This breaks the vdso for e500v1/v2 (userspace dies with SIGILL),  
> since
> > KBUILD_CFLAGS doesn't get used when building asm files, and the vdso
> > uses mftbu/mftbl which are not being assembled to the form that
> > e500v1/v2 support.
> >
> > We should be setting -mcpu=whatever and -msoft-float in both CFLAGS  
> and
> > AFLAGS, since we don't call "as" directly, and target selection  
> should
> > not differ based on whether we're building a C file or an asm file.
> >
> > -Scott
> [CU] Thank you, Scott. I'll update also AFLAGS.
> 
> I have some questions about how you reproduce the SIGILL issue.
> I tried to reproduce the issue looking to gettimeofday.S, that uses
> mftbu/mftbl. In my tests, I obtained the same output when compiling  
> this file
> for p1021rdb before and after this patch, and also after adding -mcpu  
> to
> AFLAGS: "objdump -d arch/powerpc/kernel/vdso32/gettimeofday.o" looks  
> the same
> for the cases mentioned above:
>    "mftbu r3" from .S file is decoded to "mfspr   r3,269" in "objdump  
> -d" output
> 
> Indeed, for -mcpu=601/power3, the "objdump -d" output is "mftbu r3"  
> and according to
> powerISA this instruction would cause Illegal Instruction error  
> handler to be invoked
> and permits the sw to emulate the instruction.

It probably depends on what the default is for your toolchain.

-Scott


More information about the Linuxppc-dev mailing list