| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | /* * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */#ifndef __ASM_LINKAGE_H#define __ASM_LINKAGE_H#include <asm/dwarf.h>#ifdef __ASSEMBLY__#define ASM_NL		 `	/* use '`' to mark new line in macro */#define __ALIGN		.align 4#define __ALIGN_STR	__stringify(__ALIGN)/* annotation for data we want in DCCM - if enabled in .config */.macro ARCFP_DATA nm#ifdef CONFIG_ARC_HAS_DCCM	.section .data.arcfp#else	.section .data#endif	.global \nm.endm/* annotation for data we want in DCCM - if enabled in .config */.macro ARCFP_CODE#ifdef CONFIG_ARC_HAS_ICCM	.section .text.arcfp, "ax",@progbits#else	.section .text, "ax",@progbits#endif.endm#define ENTRY_CFI(name)		\	.globl name ASM_NL	\	ALIGN ASM_NL 		\	name: ASM_NL		\	CFI_STARTPROC ASM_NL#define END_CFI(name) 		\	CFI_ENDPROC ASM_NL	\	.size name, .-name#else	/* !__ASSEMBLY__ */#ifdef CONFIG_ARC_HAS_ICCM#define __arcfp_code __attribute__((__section__(".text.arcfp")))#else#define __arcfp_code __attribute__((__section__(".text")))#endif#ifdef CONFIG_ARC_HAS_DCCM#define __arcfp_data __attribute__((__section__(".data.arcfp")))#else#define __arcfp_data __attribute__((__section__(".data")))#endif#endif /* __ASSEMBLY__ */#endif
 |