Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
344e53f5
Commit
344e53f5
authored
Feb 09, 2008
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[SPARC]: Merge asm-sparc{,64}/a.out.h
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
9f747d6c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
110 deletions
+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
No files found.
include/asm-sparc/a.out.h
View file @
344e53f5
/* $Id: a.out.h,v 1.13 2000/01/09 10:46:53 anton Exp $ */
#ifndef __SPARC_A_OUT_H__
#ifndef __SPARC_A_OUT_H__
#define __SPARC_A_OUT_H__
#define __SPARC_A_OUT_H__
#define SPARC_PGSIZE 0x2000
/* Thanks to the sun4 architecture... */
#define SPARC_PGSIZE 0x2000
/* Thanks to the sun4 architecture... */
#define SEGMENT_SIZE SPARC_PGSIZE
/* whee... */
#define SEGMENT_SIZE SPARC_PGSIZE
/* whee... */
#ifndef __ASSEMBLY__
struct
exec
{
struct
exec
{
unsigned
char
a_dynamic
:
1
;
/* A __DYNAMIC is in this image */
unsigned
char
a_dynamic
:
1
;
/* A __DYNAMIC is in this image */
unsigned
char
a_toolversion
:
7
;
unsigned
char
a_toolversion
:
7
;
unsigned
char
a_machtype
;
unsigned
char
a_machtype
;
unsigned
short
a_info
;
unsigned
short
a_info
;
unsigned
long
a_text
;
/* length of text, in bytes */
unsigned
int
a_text
;
/* length of text, in bytes */
unsigned
long
a_data
;
/* length of data, in bytes */
unsigned
int
a_data
;
/* length of data, in bytes */
unsigned
long
a_bss
;
/* length of bss, in bytes */
unsigned
int
a_bss
;
/* length of bss, in bytes */
unsigned
long
a_syms
;
/* length of symbol table, in bytes */
unsigned
int
a_syms
;
/* length of symbol table, in bytes */
unsigned
long
a_entry
;
/* where program begins */
unsigned
int
a_entry
;
/* where program begins */
unsigned
long
a_trsize
;
unsigned
int
a_trsize
;
unsigned
long
a_drsize
;
unsigned
int
a_drsize
;
};
};
#endif
/* !__ASSEMBLY__ */
/* Where in the file does the text information begin? */
/* Where in the file does the text information begin? */
#define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
#define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
...
@@ -28,19 +31,21 @@ struct exec {
...
@@ -28,19 +31,21 @@ struct exec {
(x).a_drsize)
(x).a_drsize)
/* Where does text segment go in memory after being loaded? */
/* 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)) ? \
((x).a_entry < SPARC_PGSIZE)) ? \
0 : SPARC_PGSIZE)
0 : SPARC_PGSIZE)
/* And same for the data segment.. */
/* And same for the data segment.. */
#define N_DATADDR(x) (N_MAGIC(x)==OMAGIC ? \
#define N_DATADDR(x) (N_MAGIC(x)==OMAGIC ? \
(N_TXTADDR(x) + (x).a_text) \
(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_TRSIZE(a) ((a).a_trsize)
#define N_DRSIZE(a) ((a).a_drsize)
#define N_DRSIZE(a) ((a).a_drsize)
#define N_SYMSIZE(a) ((a).a_syms)
#define N_SYMSIZE(a) ((a).a_syms)
#ifndef __ASSEMBLY__
/*
/*
* Sparc relocation types
* Sparc relocation types
*/
*/
...
@@ -77,14 +82,16 @@ enum reloc_type
...
@@ -77,14 +82,16 @@ enum reloc_type
*/
*/
struct
relocation_info
/* used when header.a_machtype == M_SPARC */
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_index
:
24
;
/* segment index or symbol index */
unsigned
int
r_extern
:
1
;
/* if F, r_index==SEG#; if T, SYM idx */
unsigned
int
r_extern
:
1
;
/* if F, r_index==SEG#; if T, SYM idx */
unsigned
int
r_pad
:
2
;
/* <unused> */
unsigned
int
r_pad
:
2
;
/* <unused> */
enum
reloc_type
r_type
:
5
;
/* type of relocation to perform */
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
#define N_RELOCATION_INFO_DECLARED 1
#endif
/* !(__ASSEMBLY__) */
#endif
/* __SPARC_A_OUT_H__ */
#endif
/* __SPARC_A_OUT_H__ */
include/asm-sparc64/a.out.h
View file @
344e53f5
/* $Id: a.out.h,v 1.8 2002/02/09 19:49:31 davem Exp $ */
#include <asm-sparc/a.out.h>
#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__) */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment