1/* SPDX-License-Identifier: LGPL-2.1 OR MIT */ 2/* 3 * NOLIBC compiler support header 4 * Copyright (C) 2023 Thomas Wei��schuh <linux@weissschuh.net> 5 */ 6#ifndef _NOLIBC_COMPILER_H 7#define _NOLIBC_COMPILER_H 8 9#if defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__) || defined(__SSP_EXPLICIT__) 10 11#define _NOLIBC_STACKPROTECTOR 12 13#endif /* defined(__SSP__) ... */ 14 15#if defined(__has_attribute) 16# if __has_attribute(no_stack_protector) 17# define __no_stack_protector __attribute__((no_stack_protector)) 18# else 19# define __no_stack_protector __attribute__((__optimize__("-fno-stack-protector"))) 20# endif 21#else 22# define __no_stack_protector __attribute__((__optimize__("-fno-stack-protector"))) 23#endif /* defined(__has_attribute) */ 24 25#endif /* _NOLIBC_COMPILER_H */ 26