From: Behan Webster
The __initconst is in the wrong place, and when moved to the correct place
it uncovers an error where the variable is used by non-init data structures.
Instead merely make them const and put the const in the right spot.
Signed-off-by: Behan Webster
Reviewed-by: Mark Charleb
From: Behan Webster
The __initconst is in the wrong place, and when moved to the correct place
it uncovers an error where the variable is used by non-init data structures.
Instead merely make them const and put the const in the right spot.
Signed-off-by: Behan Webster
Reviewed-by: Mark Charleb
From: Behan Webster
The __initconst is in the wrong place, and when moved to the correct place
it uncovers an error where the variable is used by non-init data structures.
Instead merely make them const and put the const in the right spot.
Signed-off-by: Behan Webster
Reviewed-by: Mark Charleb
From: Mark Charlebois
Clang will warn about unknown warnings but will not return false
unless -Werror is set. GCC will return false if an unknown
warning is passed.
Adding -Werror make both compiler behave the same.
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
Reviewed-by: Jan-
From: Behan Webster
When using clang with -no-integerated-as clang will use the gnu assembler
instead
of the integrated assembler. However clang will still perform asm error checking
before sending the inline assembly language to gas.
The generation of asm-offsets from within C code is dependen
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Vinícius Tinti
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch instead allocates the appropriate amount of
memory using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Behan Webster
Add a macro which replaces the use of a Variable Length Array In Struct (VLAIS)
with a C99 compliant equivalent. This macro instead allocates the appropriate
amount of memory using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contain
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. These patches allocate the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
There are places in the kernel whose maintainers have previously take
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
Add a macro which replaces the use of a Variable Length Array In Struct (VLAIS)
with a C99 compliant equivalent. This macro instead allocates the appropriate
amount of memory using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contain
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Vinícius Tinti
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This is the original VLAIS struct.
struct {
struct shash_desc shash;
char ctx[crypto_shash_descsize(tfm)];
} desc;
This patch instead allocates the appropriate amo
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.
The new code can be compiled with both gcc and clang.
Signed-off-by: B
From: Behan Webster
These patches replace the use of Variable Length Arrays In Structs (VLAIS) in
crypto related code with C99 compliant equivalent code. A SHASH_DESC_ON_STACK()
macro is added to hash.h which is then used to replace the use of VLAIS in all
the other patches. The minimum size and
From: Mark Charlebois
Remove '#' from immediate parameter in AARCH64 inline assembly in mmu.
This code now works with both gcc and clang.
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm64/mm/mmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ar
From: Behan Webster
Add cross target to CC if using clang. Also add custom gcc toolchain path for
fallback gcc tools.
COMPILER is previously set to "clang" if CC=clang was set from the make command
line. So -target and -gcc-toolchain can be added to CC, since we already know
that it is set.
Cl
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
---
arch/arm/kernel/stacktr
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and Clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
---
arch/arm/kernel/return_
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
---
arch/arm/kernel/unwind.
From: Mark Charlebois
Using global current_stack_pointer works on both clang and gcc.
current_stack_pointer is an unsigned long and needs to be cast
as a pointer to dereference.
Signed-off-by: Mark Charlebois
---
arch/arm/include/asm/percpu.h | 4 ++--
1 file changed, 2 insertions(+), 2 deleti
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
---
arch/arm/include/asm/th
From: Behan Webster
Use the global current_stack_pointer to calculate the end of the stack for
current_pt_regs()
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
---
arch/arm/include/asm/ptrace.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions
From: Behan Webster
Define a global named register for current_stack_pointer. The use of this new
variable guarantees that both gcc and clang can access this register in C code.
Signed-off-by: Behan Webster
Reviewed-by: Jan-Simon Möller
Reviewed-by: Mark Charlebois
---
arch/arm/include/asm/t
From: Behan Webster
The LLVMLinux project aims to fully build the Linux kernel using both gcc and
clang (the C front end for the LLVM compiler infrastructure project).
Clang only supports global named registers for non-allocatable registers like
the stack pointer. By centralizing the definition
From: Mark Charlebois
cmd in COMPATIBLE_IOCTL is always a u32, so cast it so there isn't a warning
about an overflow in XFORM.
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
fs/compat_ioctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/compat_ioctl.
From: Mark Charlebois
Fix variable types for 64-bit inline assembly.
This patch now works with both gcc and clang.
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm64/include/asm/arch_timer.h | 26 +++---
arch/arm64/include/asm/uaccess.h| 2 +-
From: Behan Webster
These symbols are required when compiling the Linux kernel for arch ARM64 with
clang.
Author: Mark Charlebois
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm64/lib/Makefile | 4
arch/arm64/lib/eabi.c | 32
From: Mark Charlebois
Add missing abort for arch aarch64.
This patch makes the aarch64 kernel able to compile with gcc or clang.
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm64/kernel/traps.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/k
From: Behan Webster
These symbols are required when compiling the Linux kernel for arch ARM with
clang.
Author: Mark Charlebois
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm/lib/Makefile | 4
arch/arm/lib/eabi.c | 32
2 file
From: Jan-Simon Möller
This fixes a compilation error in clang in that a linker section attribute
can't be added to a type.
arch/x86/mm/mmap.c:34:8: error: '__section__' attribute only applies to
functions and global variables
struct __read_mostly va_alignment va_align = {
^
arch/x86/inc
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array member
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array member
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array member
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array member
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array member
From: Behan Webster
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array member
From: Jan-Simon Möller
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using an char array.
The new code can be compiled with both gcc and clang.
struct shash_desc contains a flexible array memb
From: Vinícius Tinti
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This is the original VLAIS struct.
struct {
struct shash_desc shash;
char ctx[crypto_shash_descsize(tfm)];
} desc;
This patch instead allocates the appropriate amo
From: Vinícius Tinti
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This is the original VLAIS struct.
struct {
struct shash_desc shash;
char ctx[crypto_shash_descsize(apparmor_tfm)];
} desc;
This patch instead allocates the approp
From: Vinícius Tinti
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This is the original VLAIS struct.
struct {
struct shash_desc shash;
char ctx[crypto_shash_descsize(apparmor_tfm)];
} desc;
This patch instead allocates the approp
From: Vinícius Tinti
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This is the original VLAIS struct.
struct {
struct shash_desc shash;
char ctx[crypto_shash_descsize(tfm)];
} desc;
This patch instead allocates the appropriate amo
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Jan-Simon Möller
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
struct shash_desc
From: Behan Webster
These patches remove the use of Variable Length Arrays In Structs (VLAIS) in
crypto related code. Presented here for comments as a whole (since they all do
the same thing in the same way). Once everyone is happy I will submit them
individually to their appropriate maintainers.
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
Reviewed-by: Olof Johansson
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon Möller
Reviewed-by: Olof Johansson
From: Mark Charlebois
To support both Clang and GCC, use the global stack register variable vs
a local register variable.
Author: Mark Charlebois
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm64/include/asm/percpu.h | 4 ++--
1 file changed, 2 insertions(+), 2 delet
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Olof Johansson
Acked-by: Will Deacon
---
ar
From: Behan Webster
The global register current_stack_pointer holds the current stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Author: Mark Charlebois
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm64/kernel/return_addre
From: Behan Webster
This patch set moves from using locally defined named registers to access the
stack pointer to using a globally defined named register. This allows the code
to work both with gcc and clang.
The LLVMLinux project aims to fully build the Linux kernel using both gcc and
clang (t
From: Behan Webster
Define a global named register for current_stack_pointer. The use of this new
variable guarantees that both gcc and clang can access this register in C code.
Signed-off-by: Behan Webster
Reviewed-by: Jan-Simon Möller
Reviewed-by: Mark Charlebois
Reviewed-by: Olof Johansson
From: Behan Webster
clang has more warnings enabled by default. Turn them off unless W is set.
This patch fixes a logic bug where warnings in clang were disabled when W was
set.
Signed-off-by: Behan Webster
Signed-off-by: Jan-Simon Möller
Signed-off-by: Mark Charlebois
Cc: mma...@suse.cz
Cc:
From: Behan Webster
clang has more warnings enabled by default. Turn them off unless W is set.
This patch fixes a logic bug where warnings in clang were disabled when W was
set.
Signed-off-by: Behan Webster
Signed-off-by: Jan-Simon Möller
Signed-off-by: Mark Charlebois
Cc: mma...@suse.cz
Cc:
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
---
arch/arm64/kernel/traps.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
dif
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm64/kernel/stac
From: Behan Webster
Define a global named register for current_stack_pointer. The use of this new
variable guarantees that both gcc and clang can access this register in C code.
Signed-off-by: Behan Webster
Reviewed-by: Jan-Simon Möller
Reviewed-by: Mark Charlebois
---
arch/arm64/include/asm
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm64/include/asm
From: Behan Webster
This patch set moves from using locally defined named registers to access the
stack pointer to using a globally defined named register. This allows the code
to work both with gcc and clang.
The LLVMLinux project aims to fully build the Linux kernel using both gcc and
clang (t
From: Behan Webster
With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address i
From: Behan Webster
The LLVMLinux project aims to fully build the Linux kernel using both gcc and
clang (the C front end for the LLVM compiler infrastructure project).
Clang only supports global named registers for non-allocatable registers like
the stack pointer. By centralizing the definition
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm/kernel/stackt
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm/kernel/unwind
From: Behan Webster
Use the global current_stack_pointer to calculate the end of the stack for
current_pt_regs()
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm/include/asm/ptrace.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletion
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and Clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm/kernel/return
From: Behan Webster
Define a global named register for current_stack_pointer. The use of this new
variable guarantees that both gcc and clang can access this register in C code.
Signed-off-by: Behan Webster
Reviewed-by: Jan-Simon Möller
Reviewed-by: Mark Charlebois
---
arch/arm/include/asm/t
From: Behan Webster
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.
Signed-off-by: Behan Webster
Signed-off-by: Mark Charlebois
Reviewed-by: Jan-Simon M??ller
---
arch/arm/include/asm/t
From: Behan Webster
Only consider clang warnings in Kbuild when using the clang compiler.
Signed-off-by: Behan Webster
---
scripts/Makefile.extrawarn | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index 6564350..e35
From: Mark Charlebois
The call to __builtin_log2 presumes there is a
double log2(double x) function defined in the kernel.
The call to hash_log is a call to hash_64 which is
defined in include/linux/hash.h
static __always_inline u64 hash_64(u64 val, unsigned int bits)
That means that __builtin
From: Behan Webster
Protect more options for arm with cc-option so that we don't get errors when
using clang instead of gcc. Add more or different options when using clang as
well.
Author: Behan Webster
Signed-off-by: Mark Charlebois
Signed-off-by: Behan Webster
---
arch/arm/Makefile
From: Behan Webster
Wrap -mno-80387 gcc options with cc-option so they don't break clang.
Signed-off-by: Behan Webster
---
arch/x86/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index d1b7c37..ce6ad7e 100644
--- a/arch/x86
From: Mark Charlebois
The call to __builtin_log2 presumes there is a
double log2(double x) function defined in the kernel.
The call to hash_log is a call to hash_64 which is
defined in include/linux/hash.h
static __always_inline u64 hash_64(u64 val, unsigned int bits)
That means that __builtin
From: Mark Charlebois
__attribute__((aligned)) applies the default alignment for the largest scalar
type for the target ABI. gcc allows it to be applied inline to a defined type.
Clang only allows it to be applied to a type definition (PR11071).
Making it into 2 lines makes it more readable and
From: Behan Webster
With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address i
From: Behan Webster
Fix uninitialized return code in default case in cmpxchg-local.h
This patch fixes the code to prevent an uninitialized return value that is
detected
when compiling with clang. The bug produces numerous warnings when compiling the
Linux kernel with clang.
Signed-off-by: Beha
From: Mark Charlebois
Replaced non-standard C use of Variable Length Arrays In Structs (VLAIS) in
xt_repldata.h with a C99 compliant flexible array member and then calculated
offsets to the other struct members. These other members aren't referenced by
name in this code, however this patch mainta
From: Behan Webster
Fix uninitialized return code in default case in cmpxchg-local.h
This patch fixes the code to prevent an uninitialized return value that is
detected
when compiling with clang. The bug produces numerous warnings when compiling the
Linux kernel with clang.
Signed-off-by: Beha
From: Behan Webster
Both gcc (well, actually gnu as) and clang support the "-Wa,-gdwarf-2" option
(though clang does not support "-Wa,--gdwarf-2"). Since these flags are
equivalent
in meaning, this patch uses the one which is better supported across compilers.
Signed-off-by: Behan Webster
---
1 - 100 of 143 matches
Mail list logo