162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * This program is free software; you can redistribute it and/or modify
662306a36Sopenharmony_ci * it under the terms of the GNU General Public License version 2 as
762306a36Sopenharmony_ci * published by the Free Software Foundation.
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifndef _UAPI__ASM_ARC_ELF_H
1162306a36Sopenharmony_ci#define _UAPI__ASM_ARC_ELF_H
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include <asm/ptrace.h>		/* for user_regs_struct */
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/* Machine specific ELF Hdr flags */
1662306a36Sopenharmony_ci#define EF_ARC_OSABI_MSK	0x00000f00
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define EF_ARC_OSABI_V3		0x00000300   /* v3 (no legacy syscalls) */
1962306a36Sopenharmony_ci#define EF_ARC_OSABI_V4		0x00000400   /* v4 (64bit data any reg align) */
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#if __GNUC__ < 6
2262306a36Sopenharmony_ci#define EF_ARC_OSABI_CURRENT	EF_ARC_OSABI_V3
2362306a36Sopenharmony_ci#else
2462306a36Sopenharmony_ci#define EF_ARC_OSABI_CURRENT	EF_ARC_OSABI_V4
2562306a36Sopenharmony_ci#endif
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_citypedef unsigned long elf_greg_t;
2862306a36Sopenharmony_citypedef unsigned long elf_fpregset_t;
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci#define ELF_NGREG	(sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
3162306a36Sopenharmony_ci#define ELF_ARCV2REG	(sizeof(struct user_regs_arcv2) / sizeof(elf_greg_t))
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_citypedef elf_greg_t elf_gregset_t[ELF_NGREG];
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#endif
36