X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Flinux%2Flinkage.h;h=8e2f15a63529b391affc44be5cdc5fffcb7542f1;hb=456ecd08ec026e67a17a77baa3778c9f1b8e474d;hp=ed4cf6cbcd507a8f53b7ed9bc68b8e2f0e84de60;hpb=7dda0c3759c6ee190d44b8ceaeab58047cb9a957;p=oweals%2Fu-boot.git diff --git a/include/linux/linkage.h b/include/linux/linkage.h index ed4cf6cbcd..8e2f15a635 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -1,32 +1,20 @@ /* - * U-boot - linkage.h + * U-Boot - linkage.h * * Copyright (c) 2005-2007 Analog Devices Inc. * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - * MA 02110-1301 USA + * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _LINUX_LINKAGE_H #define _LINUX_LINKAGE_H #include -#include + +/* Some toolchains use other characters (e.g. '`') to mark new line in macro */ +#ifndef ASM_NL +#define ASM_NL ; +#endif #ifdef __cplusplus #define CPP_ASMLINKAGE extern "C" @@ -34,7 +22,9 @@ #define CPP_ASMLINKAGE #endif +#ifndef asmlinkage #define asmlinkage CPP_ASMLINKAGE +#endif #define SYMBOL_NAME_STR(X) #X #define SYMBOL_NAME(X) X @@ -44,8 +34,13 @@ #define SYMBOL_NAME_LABEL(X) X: #endif +#ifndef __ALIGN #define __ALIGN .align 4 +#endif + +#ifndef __ALIGN_STR #define __ALIGN_STR ".align 4" +#endif #ifdef __ASSEMBLY__ @@ -53,11 +48,15 @@ #define ALIGN_STR __ALIGN_STR #define LENTRY(name) \ - ALIGN; \ + ALIGN ASM_NL \ SYMBOL_NAME_LABEL(name) #define ENTRY(name) \ - .globl SYMBOL_NAME(name); \ + .globl SYMBOL_NAME(name) ASM_NL \ + LENTRY(name) + +#define WEAK(name) \ + .weak SYMBOL_NAME(name) ASM_NL \ LENTRY(name) #ifndef END @@ -67,7 +66,7 @@ #ifndef ENDPROC #define ENDPROC(name) \ - .type name, @function; \ + .type name STT_FUNC ASM_NL \ END(name) #endif