svn commit: r295820 - projects/mips64-clang/sys/mips/mips
Warner Losh
imp at bsdimp.com
Sat Feb 20 18:30:09 UTC 2016
On Fri, Feb 19, 2016 at 9:32 AM, Sean Bruno <sbruno at freebsd.org> wrote:
> Author: sbruno
> Date: Fri Feb 19 17:32:30 2016
> New Revision: 295820
> URL: https://svnweb.freebsd.org/changeset/base/295820
>
> Log:
> clang IAS just doesn't handle $at the same way as binutils. This fixes
> errors and will allow a build of GXEMUL to succeed.
>
> Similar to r295727
>
> Modified:
> projects/mips64-clang/sys/mips/mips/mpboot.S
>
> Modified: projects/mips64-clang/sys/mips/mips/mpboot.S
>
> ==============================================================================
> --- projects/mips64-clang/sys/mips/mips/mpboot.S Fri Feb 19
> 17:14:34 2016 (r295819)
> +++ projects/mips64-clang/sys/mips/mips/mpboot.S Fri Feb 19
> 17:32:30 2016 (r295820)
> @@ -70,20 +70,26 @@ GLOBAL(mpentry)
> /*
> * Initialize stack and call machine startup
> */
> + .set at
> PTR_LA sp, _C_LABEL(pcpu_space)
> + .set noat
>
<barf> clang IAS is simply wrong. While it doesn't matter so much
here, it will in the interrupt handler where it can't use AT.
> addiu sp, (PAGE_SIZE * 2) - CALLFRAME_SIZ
> sll t0, s0, PAGE_SHIFT + 1
> addu sp, sp, t0
>
> /* Zero out old ra and old fp for debugger */
> - sw zero, CALLFRAME_SIZ - 4(sp)
> - sw zero, CALLFRAME_SIZ - 8(sp)
> + sw zero, ((CALLFRAME_SIZ) - 4)(sp)
> + sw zero, ((CALLFRAME_SIZ) - 8)(sp)
>
clang is wrong here and should be fixed.
> + .set at
> PTR_LA gp, _C_LABEL(_gp)
> + .set noat
>
> jal platform_init_ap
> move a0, s0
> jal smp_init_secondary
> move a0, s0
>
> + .set at
> PANIC("AP startup failed!")
> + .set noat
>
>
More information about the svn-src-projects
mailing list