Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
344e53f5
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
344e53f5
编写于
2月 09, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[SPARC]: Merge asm-sparc{,64}/a.out.h
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
9f747d6c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
110 deletion
+20
-110
include/asm-sparc/a.out.h
include/asm-sparc/a.out.h
+19
-12
include/asm-sparc64/a.out.h
include/asm-sparc64/a.out.h
+1
-98
未找到文件。
include/asm-sparc/a.out.h
浏览文件 @
344e53f5
/* $Id: a.out.h,v 1.13 2000/01/09 10:46:53 anton Exp $ */
#ifndef __SPARC_A_OUT_H__
#define __SPARC_A_OUT_H__
#define SPARC_PGSIZE 0x2000
/* Thanks to the sun4 architecture... */
#define SEGMENT_SIZE SPARC_PGSIZE
/* whee... */
#ifndef __ASSEMBLY__
struct
exec
{
unsigned
char
a_dynamic
:
1
;
/* A __DYNAMIC is in this image */
unsigned
char
a_toolversion
:
7
;
unsigned
char
a_machtype
;
unsigned
short
a_info
;
unsigned
long
a_text
;
/* length of text, in bytes */
unsigned
long
a_data
;
/* length of data, in bytes */
unsigned
long
a_bss
;
/* length of bss, in bytes */
unsigned
long
a_syms
;
/* length of symbol table, in bytes */
unsigned
long
a_entry
;
/* where program begins */
unsigned
long
a_trsize
;
unsigned
long
a_drsize
;
unsigned
int
a_text
;
/* length of text, in bytes */
unsigned
int
a_data
;
/* length of data, in bytes */
unsigned
int
a_bss
;
/* length of bss, in bytes */
unsigned
int
a_syms
;
/* length of symbol table, in bytes */
unsigned
int
a_entry
;
/* where program begins */
unsigned
int
a_trsize
;
unsigned
int
a_drsize
;
};
#endif
/* !__ASSEMBLY__ */
/* Where in the file does the text information begin? */
#define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
...
...
@@ -28,19 +31,21 @@ struct exec {
(x).a_drsize)
/* Where does text segment go in memory after being loaded? */
#define N_TXTADDR(x) (
((N_MAGIC(x) == ZMAGIC) &&
\
#define N_TXTADDR(x) (
unsigned long)(((N_MAGIC(x) == ZMAGIC) &&
\
((x).a_entry < SPARC_PGSIZE)) ? \
0 : SPARC_PGSIZE)
/* And same for the data segment.. */
#define N_DATADDR(x) (N_MAGIC(x)==OMAGIC ? \
(N_TXTADDR(x) + (x).a_text) \
:
(_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
: (unsigned long)
(_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
#define N_TRSIZE(a) ((a).a_trsize)
#define N_DRSIZE(a) ((a).a_drsize)
#define N_SYMSIZE(a) ((a).a_syms)
#ifndef __ASSEMBLY__
/*
* Sparc relocation types
*/
...
...
@@ -77,14 +82,16 @@ enum reloc_type
*/
struct
relocation_info
/* used when header.a_machtype == M_SPARC */
{
unsigned
long
r_address
;
/* relocation addr */
unsigned
int
r_address
;
/* relocation addr */
unsigned
int
r_index
:
24
;
/* segment index or symbol index */
unsigned
int
r_extern
:
1
;
/* if F, r_index==SEG#; if T, SYM idx */
unsigned
int
r_pad
:
2
;
/* <unused> */
enum
reloc_type
r_type
:
5
;
/* type of relocation to perform */
long
r_addend
;
/* addend for relocation value */
int
r_addend
;
/* addend for relocation value */
};
#define N_RELOCATION_INFO_DECLARED 1
#endif
/* !(__ASSEMBLY__) */
#endif
/* __SPARC_A_OUT_H__ */
include/asm-sparc64/a.out.h
浏览文件 @
344e53f5
/* $Id: a.out.h,v 1.8 2002/02/09 19:49:31 davem Exp $ */
#ifndef __SPARC64_A_OUT_H__
#define __SPARC64_A_OUT_H__
#define SPARC_PGSIZE 0x2000
/* Thanks to the sun4 architecture... */
#define SEGMENT_SIZE SPARC_PGSIZE
/* whee... */
#ifndef __ASSEMBLY__
struct
exec
{
unsigned
char
a_dynamic
:
1
;
/* A __DYNAMIC is in this image */
unsigned
char
a_toolversion
:
7
;
unsigned
char
a_machtype
;
unsigned
short
a_info
;
unsigned
int
a_text
;
/* length of text, in bytes */
unsigned
int
a_data
;
/* length of data, in bytes */
unsigned
int
a_bss
;
/* length of bss, in bytes */
unsigned
int
a_syms
;
/* length of symbol table, in bytes */
unsigned
int
a_entry
;
/* where program begins */
unsigned
int
a_trsize
;
unsigned
int
a_drsize
;
};
#endif
/* !__ASSEMBLY__ */
/* Where in the file does the text information begin? */
#define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
/* Where do the Symbols start? */
#define N_SYMOFF(x) (N_TXTOFF(x) + (x).a_text + \
(x).a_data + (x).a_trsize + \
(x).a_drsize)
/* Where does text segment go in memory after being loaded? */
#define N_TXTADDR(x) (unsigned long)(((N_MAGIC(x) == ZMAGIC) && \
((x).a_entry < SPARC_PGSIZE)) ? \
0 : SPARC_PGSIZE)
/* And same for the data segment.. */
#define N_DATADDR(x) (N_MAGIC(x)==OMAGIC ? \
(N_TXTADDR(x) + (x).a_text) \
: (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
#define N_TRSIZE(a) ((a).a_trsize)
#define N_DRSIZE(a) ((a).a_drsize)
#define N_SYMSIZE(a) ((a).a_syms)
#ifndef __ASSEMBLY__
/*
* Sparc relocation types
*/
enum
reloc_type
{
RELOC_8
,
RELOC_16
,
RELOC_32
,
/* simplest relocs */
RELOC_DISP8
,
RELOC_DISP16
,
RELOC_DISP32
,
/* Disp's (pc-rel) */
RELOC_WDISP30
,
RELOC_WDISP22
,
/* SR word disp's */
RELOC_HI22
,
RELOC_22
,
/* SR 22-bit relocs */
RELOC_13
,
RELOC_LO10
,
/* SR 13&10-bit relocs */
RELOC_SFA_BASE
,
RELOC_SFA_OFF13
,
/* SR S.F.A. relocs */
RELOC_BASE10
,
RELOC_BASE13
,
RELOC_BASE22
,
/* base_relative pic */
RELOC_PC10
,
RELOC_PC22
,
/* special pc-rel pic */
RELOC_JMP_TBL
,
/* jmp_tbl_rel in pic */
RELOC_SEGOFF16
,
/* ShLib offset-in-seg */
RELOC_GLOB_DAT
,
RELOC_JMP_SLOT
,
RELOC_RELATIVE
/* rtld relocs */
};
/*
* Format of a relocation datum.
*/
struct
relocation_info
/* used when header.a_machtype == M_SPARC */
{
unsigned
int
r_address
;
/* relocation addr */
unsigned
int
r_index
:
24
;
/* segment index or symbol index */
unsigned
int
r_extern
:
1
;
/* if F, r_index==SEG#; if T, SYM idx */
unsigned
int
r_pad
:
2
;
/* <unused> */
enum
reloc_type
r_type
:
5
;
/* type of relocation to perform */
int
r_addend
;
/* addend for relocation value */
};
#define N_RELOCATION_INFO_DECLARED 1
#endif
/* !(__ASSEMBLY__) */
#endif
/* !(__SPARC64_A_OUT_H__) */
#include <asm-sparc/a.out.h>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录