|
From: | Almudena Garcia |
Subject: | Re: Error with gnumach compilation |
Date: | Fri, 15 Feb 2019 14:33:55 +0100 |
On 15 Feb 2019, at 13:21, Samuel Thibault <samuel.thibault@gnu.org> wrote:
>
> Almudena Garcia, le ven. 15 févr. 2019 14:13:17 +0100, a ecrit:
>> This is defined in imps/cpu_number.h , included in kern/cpu_number.h
>
> cswitch.S includes i386/cpu_number.h, not kern/cpu_number.h
>
> Really, make sure it gets defined, that's very most probably the issue,
> or else it's the CPU_NUMBER macro which is not actually valid assembly.
Well, I had checked before sending my email, and i386/cpu_number.h does not
define CPU_NUMBER, though I was unaware of kern/cpu_number.h. The latter does
define a cpu_number function, but it's a C header, not for use in assembly.
Your `smp` branch fixes this in [1] by making CPU_NUMBER a macro that calls
cpu_number (though I might suggest that you make the macro do nothing for
NCPUS==1). Honestly, this is not a hard bug to find, it took all of a few
minutes for me. You've had more than enough information from us to pinpoint the
problem; this mailing list is really not for simple programming questions like
this.
James
[1] https://github.com/AlmuHS/GNUMach_SMP/commit/371df36e565f4408737948ccc3d25acf2e1ccb57
[Prev in Thread] | Current Thread | [Next in Thread] |