Patchwork [1/1] perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for mips64

login
register
mail settings
Submitter wenzong.fan@windriver.com
Date Oct. 26, 2013, 7:53 a.m.
Message ID <3d0ba878ee62121d08a757a6149fff24091ce717.1382773654.git.wenzong.fan@windriver.com>
Download mbox | patch
Permalink /patch/60525/
State Accepted
Commit d6f3cb0d71c3b6739365f085b6d5a5e20f329fa5
Headers show

Comments

wenzong.fan@windriver.com - Oct. 26, 2013, 7:53 a.m.
From: Wenzong Fan <wenzong.fan@windriver.com>

As the same reason to powerpc64, mips64 also need the flag.

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
 meta/recipes-kernel/perf/perf.bb |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Yang Shi - Oct. 30, 2013, 3:49 a.m.
On 10/26/2013 12:53 AM, wenzong.fan@windriver.com wrote:
> From: Wenzong Fan <wenzong.fan@windriver.com>
>
> As the same reason to powerpc64, mips64 also need the flag.
>
> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
> ---
>   meta/recipes-kernel/perf/perf.bb |    3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> index d27e535..903ffa6 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -92,8 +92,9 @@ EXTRA_OEMAKE += "\
>   # PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h
>   # prevents 64-bit userland from seeing this definition, instead defaulting
>   # to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
> -# int-ll64.h included.
> +# int-ll64.h included. And MIPS64 has the same issue.
>   EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
> +EXTRA_OEMAKE_append_mips64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'

As the PPC64 counterpart, this override perf CFLAGS incorrectly.

Please check the below comparison.

With this commit:

-D__SANE_USERSPACE_TYPES__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 
-D_GNU_SOURCE -Iutil/include -Iarch/mips/include 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/arch/mips/include/generated/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/arch/mips/include/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/arch/mips/include 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/include/generated/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/include/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/include 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/util 
-Iutil -I. -I../lib/traceevent/ -I../lib/ -D_LARGEFILE64_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/ 
-DLIBELF_SUPPORT -DLIBELF_MMAP -DSLANG_SUPPORT -idirafter 
=/usr/include/slang -DHAVE_ON_EXIT -DBACKTRACE_SUPPORT : 
/usr/bin:/usr/lib64/perf/perf-core:share/perf-core/templates:/usr


Right perf CFLAGS without this commit:

-fno-omit-frame-pointer -ggdb3 -funwind-tables -Wall -Wextra -std=gnu99 
-Werror -O6 -Wbad-function-cast -Wdeclaration-after-statement 
-Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations 
-Wmissing-prototypes -Wnested-externs -Wno-system-headers 
-Wold-style-definition -Wpacked -Wredundant-decls -Wshadow 
-Wstrict-aliasing=3 -Wstrict-prototypes -Wswitch-default -Wswitch-enum 
-Wundef -Wwrite-strings -Wformat -fstack-protector-all -Wstack-protector 
-Wvolatile-register-var -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Iutil/include -Iarch/mips/include 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/arch/mips/include/generated/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/arch/mips/include/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/arch/mips/include 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/include/generated/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/include/uapi 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/sysroots/qemumips64/usr/src/kernel/include 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/util 
-Iutil -I. -I../lib/traceevent/ -I../lib/ -D_LARGEFILE64_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE 
-I/home/yshi/windriver/workspace/qemumips64/bitbake_build/tmp/work/qemumips64-wrs-linux/perf/1.0-r8/perf-1.0/ 
-DLIBELF_SUPPORT -DLIBELF_MMAP -DSLANG_SUPPORT -idirafter 
=/usr/include/slang -DHAVE_ON_EXIT -DBACKTRACE_SUPPORT : 
/usr/bin:/usr/lib64/perf/perf-core:share/perf-core/templates:/usr

Patch

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index d27e535..903ffa6 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -92,8 +92,9 @@  EXTRA_OEMAKE += "\
 # PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h
 # prevents 64-bit userland from seeing this definition, instead defaulting
 # to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get 
-# int-ll64.h included.
+# int-ll64.h included. And MIPS64 has the same issue.
 EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
+EXTRA_OEMAKE_append_mips64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
 
 PARALLEL_MAKE = ""