LGTM, these seem to work for me, and fix the build issues.

On Friday, March 11, 2016 at 8:29:15 AM UTC-8, Barret Rhoden wrote:
>
> It turns out that glibc doesn't need its own copy of the cpu_feats, and it 
> can just include parlib's.  It may be that some code in glibc won't be 
> able to include parlib files.  If that's the case, and those files need 
> cpu_feats, then we can revisit this. 
>
> This popped up as a problem when a file in glibc included both 
> kernel-features. and parlib/cpu_feat.h. 
>
> Rebuild glibc if you want. 
>
> Signed-off-by: Barret Rhoden <[email protected] <javascript:>> 
> --- 
>  .../sysdeps/akaros/kernel-features.h               | 25 
> ++-------------------- 
>  .../glibc-2.19-akaros/sysdeps/akaros/x86_64/tls.h  |  1 + 
>  2 files changed, 3 insertions(+), 23 deletions(-) 
>
> diff --git 
> a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/kernel-features.h
>  
> b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/kernel-features.h
>  
>
> index b38c0321f3dc..ac364044b57d 100644 
> --- 
> a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/kernel-features.h
>  
>
> +++ 
> b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/kernel-features.h
>  
>
> @@ -1,25 +1,4 @@ 
> -/* Copyright (c) 2016 Google Inc. 
> - * Barret Rhoden <[email protected] <javascript:>> 
> - * See LICENSE for details. 
> - * 
> - * Glibc uses this header to set a bunch of #defines to show what is 
> supported 
> - * on a particular kernel version.  They set things like 
> __ASSUME_AT_RANDOM. 
> - * 
> - * On Akaros, we'll eventually set those too.  This is also a good place 
> for 
> - * exporting all of the cpu feature detection to glibc. 
> - * 
> - * Note that this file is only included within glibc itself; it won't 
> appear in 
> - * the sysroot.  Use parlib/cpu_feat.h for that. */ 
> +/* Glibc uses this header to set a bunch of #defines to show what is 
> supported 
> + * on a particular kernel version.  They set things like 
> __ASSUME_AT_RANDOM. */ 
>   
>  #pragma once 
> - 
> -#include <ros/procinfo.h> 
> - 
> -static inline bool cpu_has_feat(int feature) 
> -{ 
> -        size_t bits_per_long = sizeof(unsigned long) * 8; 
> -        unsigned long *cpu_feats = __proc_global_info.cpu_feats; 
> - 
> -        return (cpu_feats[feature / bits_per_long] & 
> -                (1UL << (feature % bits_per_long))) != 0; 
> -} 
> diff --git 
> a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/x86_64/tls.h 
> b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/x86_64/tls.h 
> index f2bb363e4e10..c96a54c5659a 100644 
> --- 
> a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/x86_64/tls.h 
> +++ 
> b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/x86_64/tls.h 
> @@ -32,6 +32,7 @@ 
>  #include <ros/procinfo.h> 
>  #include <ros/procdata.h> 
>  #include <ros/arch/mmu.h> 
> +#include <parlib/cpu_feat.h> 
>   
>  /* Replacement type for __m128 since this file is included by ld.so, 
>     which is compiled with -mno-sse.  It must not change the alignment 
> -- 
> 2.7.0.rc3.207.g0ac5344 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to