IBM 88554RU Installation Guide - Page 166

Linux IA-64 kernel overview, Data types

Page 166 highlights

System V UNIX ABI (Application Binary Interface); see: http://www.linuxbase.org/spec/refspecs/elf/gabi4+/contents.html 4.4.1 Linux IA-64 kernel overview The following information is helpful if you plan to recompile or port some software to IA-64 kernel. The main objective of this section is to introduce some basic concepts about the Linux kernel and the most important differences between the IA-32 version and the new 64-bit IPF (Itanium Processor Family, or IA-64) architecture. Your preferred Linux distribution may have done this recompilation for you, but it is very common to recompile software under Linux, for example, if you get only the source code and not an installable package. Data types In 1996, The Open Group decided to extend the Single UNIX Specification for 64-bit Systems to create a new standard on 64-bit for any UNIX operating system. Linux kernel developers attempt to follow the Open Group standards as much as possible, so the Linux IA-64 kernel uses the LP64 Data Model, as defined by The Open Group. This data model is LP64 because it allows long and integer types up to 64 bits. 32-bit Intel processors use the LP32 Data Model. This model is an industry standard and it is used in all other 64-bit Linux and UNIX implementations. Some of the usual data types on C change between the LP64 and the LP32 Data Models, as shown in Table 4-4. Table 4-4 Comparison table of C types between LP32 and LP64 Data type in C LP32 LP64 char 8 8 short 16 16 int 32 32 long 32 64 long long 64 64 pointer 32 64 enum 32 32 float 32 32 double 64 64 152 IBM xSeries 455 Planning and Installation Guide Eserver

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232

152
IBM
Eserver
xSeries 455 Planning and Installation Guide
±
System V UNIX ABI (Application Binary Interface); see:
4.4.1
Linux IA-64 kernel overview
The following information is helpful if you plan to recompile or port some software
to IA-64 kernel. The main objective of this section is to introduce some basic
concepts about the Linux kernel and the most important differences between the
IA-32 version and the new 64-bit IPF (Itanium Processor Family, or IA-64)
architecture. Your preferred Linux distribution may have done this recompilation
for you, but it is very common to recompile software under Linux, for example, if
you get only the source code and not an installable package.
Data types
In 1996, The Open Group decided to extend the
Single UNIX Specification for
64-bit Systems
to create a new standard on 64-bit for any UNIX operating system.
Linux kernel developers attempt to follow the Open Group standards as much as
possible, so the Linux IA-64 kernel uses the LP64 Data Model, as defined by The
Open Group. This data model is LP64 because it allows long and integer types
up to 64 bits. 32-bit Intel processors use the LP32 Data Model. This model is an
industry standard and it is used in all other 64-bit Linux and UNIX
implementations.
Some of the usual data types on C change between the LP64 and the LP32 Data
Models, as shown in Table 4-4.
Table 4-4
Comparison table of C types between LP32 and LP64
Data type in C
LP32
LP64
char
8
8
short
16
16
int
32
32
long
32
64
long long
64
64
pointer
32
64
enum
32
32
float
32
32
double
64
64