Go to main content

Oracle® Solaris 64-bit Developer's Guide

Exit Print View

Updated: November 2020
 
 

Index

Numbers and Symbols

32-bit
4GB barrierindex iconGetting Past the 4 Gigabyte Barrier
APIsindex iconApplication Programming Interfaces
compilation environmentindex iconChanges in Derived Types
interoperability with 64-bitindex iconInteroperability Issues
large files andindex iconLarge Files
limited to 256 open streamsindex iconChanges to stdio
number alignment on different platformsindex iconAlignment Issues
32-bit applications
converting to 64-bitindex iconConverting Applications to 64-bit
on 64-bit hardwareindex iconFrequently Asked Questions (FAQs)
packagingindex iconPackaging 32-bit and 64-bit Applications
year 2038 limitindex iconFrequently Asked Questions (FAQs)
64-bit
application developers andindex iconWhen to Use 64-bit for Applications
arithmeticindex icon64-bit Arithmetic
comparing with 32-bitindex iconComparing 32-bit Interfaces and 64-bit Interfaces
compilation environmentindex iconChanges in Derived Types
computingindex icon64-bit Computing
conversion guidelinesindex iconGuidelines for Converting to LP64 Data Type Model
CPU hardware andindex icon64-bit Arithmetic
database advantagesindex iconTypical Performance and Problem Size Curve
debugging applicationsindex iconDebugging 64-bit Applications
development environment
index icon64-bit Development Environment
index iconMajor Features of 64-bit Development Environment
ELF64 formatindex iconELF and System Generation Tools
interfacesindex iconComparing 32-bit Interfaces and 64-bit Interfaces
interoperability with 32-bitindex iconInteroperability Issues
large files andindex iconLarge Files
librariesindex icon64-bit Libraries
long type andindex iconWhen to Use 64-bit for Applications
more than 256 open streamsindex iconChanges to stdio
number alignment on different platformsindex iconAlignment Issues
performance issuesindex iconPerformance Issues
pointers andindex iconWhen to Use 64-bit for Applications
requires 64-bit hardwareindex iconFrequently Asked Questions (FAQs)
system call issuesindex iconSystem Call Issues
64-bit applications
advantages
index icon64-bit Application Advantages
index iconBeyond Large Address Spaces
compatibility with 32-bitindex iconCompatibility Between 32-bit Applications and 64-bit Applications
disadvantagesindex icon64-bit Application Disadvantages
from 32-bitindex iconConverting Applications to 64-bit
packagingindex iconPackaging 32-bit and 64-bit Applications

A

ABIs  Seeindex iconamd64, i386, SPARC V9 ABI
address space layout
amd64index iconAddress Space Layout for amd64 Applications
protection through randomizationindex iconBeyond Large Address Spaces
SPARC V9 ABIindex iconAddress Space Layout of the SPARC V9 ABI
algorithm changes when converting code to 64-bitindex iconAlgorithmic Changes
alignment
numbers on different platformsindex iconAlignment Issues
amd64 ABI
address space layoutindex iconAddress Space Layout for amd64 Applications
alignment of 32-bit and 64-bit numbersindex iconAlignment Issues
featuresindex iconAMD64 ABI Features
applications
binary compatibilityindex iconApplication Binaries
compatibility of 64-bit and 32-bitindex iconCompatibility Between 32-bit Applications and 64-bit Applications
converting to 64-bitindex iconConverting Applications to 64-bit
implementing single source for 32-bit and 64-bitindex iconImplementing Single Source Code
maintaining single source for 32-bit and 64-bitindex iconConverting Applications to 64-bit
source code compatibilityindex iconApplication Source Code

C

calling convention changes in 64-bit codeindex iconCalling Convention Changes
casts
64-bit guidelinesindex iconDo Not Assume int and Pointers Are the Same Size
conversion guidelinesindex iconUse Casts to Show Your Intentions
CFLAGS flagindex iconBuilding FOSS on Oracle Solaris Systems
changes in derived types
_ILP32 and _LP64index iconChanges in Derived Types
checking for side effects during conversionindex iconCheck for Side Effects of Changes
checklist for converting code to 64-bitindex iconChecklist for Converting to 64-bit
code models
SPARC V9 ABIindex iconCode Models of the SPARC V9 ABI
coding
detecting errors with lintindex iconFinding Errors With lint
comparing
compilation environmentsindex iconChanges in Derived Types
compatibility
application binariesindex iconApplication Binaries
application source codeindex iconApplication Source Code
device driversindex iconDevice Drivers
compilation environments
comparingindex iconChanges in Derived Types
ioctl() andindex iconioctl Does Not Type Check at Compile Time
constant macrosindex iconMacros for Constants
constant types
conversion guidelinesindex iconSpecify Constant Types
converting
32-bit to 64-bitindex iconConverting Applications to 64-bit
64-bit guidelinesindex iconGuidelines for Converting to LP64 Data Type Model
calling convention changesindex iconCalling Convention Changes
checking for algorithm changesindex iconAlgorithmic Changes
checking for data lossindex iconsizeof unsigned long in LP64
checking for implicit declarationsindex iconBeware of Implicit Declaration
checking internal data structuresindex iconInternal Data Structure Checking
checking unionsindex iconCheck Unions
checklistindex iconChecklist for Converting to 64-bit
format stringsindex iconCheck Format String Conversion Operations
long type andindex iconCheck Whether Literal Uses of long Still Make Sense
performance issuesindex iconCompiling LP64 Programs
pointer arithmetic andindex iconUse Pointer Arithmetic Instead of Integers
sample 32-bit and 64-bit programindex iconSample 64-bit From 32-bit Program
side effectsindex iconCheck for Side Effects of Changes
sign extension andindex iconSign Extension
specifying constant typesindex iconSpecify Constant Types
using castsindex iconUse Casts to Show Your Intentions
utmp and utmpx access issuesindex iconCheck for Derived Types That Have Grown in Size

D

/dev/ksyms deviceindex iconlibkvm and /dev/ksyms
/dev/mem deviceindex iconlibkvm and /dev/ksyms
data loss
conversion guidelinesindex iconsizeof unsigned long in LP64
data models
differences between 64-bit and 32-bitindex iconOverview of the Data Model Differences
ILP32index iconOverview of the Data Model Differences
LP64index iconOverview of the Data Model Differences
data placement in SPARC V9 ABIindex iconPlacement of Text and Data of the SPARC V9 ABI
database
advantage of 64-bit systemindex iconTypical Performance and Problem Size Curve
debugging
64-bit applicationsindex iconDebugging 64-bit Applications
lint commandindex iconFinding Errors With lint
derived typesindex iconDerived Types
describing
amd64 ABIindex iconAMD64 ABI Features
detecting errors
lint commandindex iconFinding Errors With lint
device drivers
64-bit and 32-bitindex iconDevice Drivers

E

ELF
result from ldindex iconLinking Object Files
system generation tools andindex iconELF and System Generation Tools
EOVERFLOW return valueindex iconEOVERFLOW Indicates System Call Issue
Executable and Linking Format  Seeindex iconELF

F

FAQindex iconFrequently Asked Questions (FAQs)
feature test macros
distinguishing data models
index iconChanges in Derived Types
index iconUse #ifdef for Explicit 32-bit and 64-bit Prototypes
examplesindex iconsize_t Definition in _LP64
fixed-width integer typesindex iconFixed-Width Integer Types
fixed-width statistic typesindex iconlibkstat Kernel Statistics
format strings
conversion guidelinesindex iconCheck Format String Conversion Operations
macrosindex iconFormat String Macros
Free and Open Source Software (FOSS)
building components in Oracle Solarisindex iconBuilding FOSS on Oracle Solaris Systems
functions
getutxent()index iconCheck for Derived Types That Have Grown in Size
sizeof()index iconsizeof unsigned long in LP64

G

GELF
64-bit and 32-bit ELF interfacesindex iconELF and System Generation Tools
getutxent() functionindex iconCheck for Derived Types That Have Grown in Size

H

header files
changes for 64-bitindex iconHeader Files
inttypes.hindex iconImplementing Single Source Code
stdio.hindex iconOverview of the Data Model Differences
sys/feature_tests.h
index iconDifferences Between Derived Types Specific to Large Files
index iconChanges in Derived Types
sys/isa_defs.h
index iconHeader Files
index iconFeature Test Macros
sys/types.h
index iconChanges in Derived Types
index iconImplementing Single Source Code

I

i386 ABI
alignment of 32-bit and 64-bit numbersindex iconAlignment Issues
ILP32  See Alsoindex icon32-bit
data model
index iconChanges in Derived Types
index iconOverview of the Data Model Differences
implicit declarations
conversion guidelinesindex iconBeware of Implicit Declaration
int type
conversion guidelinesindex iconDo Not Assume int and long Are the Same Size
integer typesindex iconFixed-Width Integer Types
limitsindex iconLimits of Integer Types
internal data structures
conversion guidelinesindex iconInternal Data Structure Checking
interoperability
64-bit and 32-bitindex iconInteroperability Issues
interprocess communication
primitivesindex iconInterprocess Communication
inttypes.h header file
index iconinttypes.h Header File
index iconImplementing Single Source Code
ioctl() system call
64-bit and 32-bit differencesindex iconioctl Does Not Type Check at Compile Time
isainfo commandindex iconShow That 64-bit and 32-bit Applications Run on Your Oracle Solaris 11 System

K

kernel memory readersindex iconKernel Memory Readers

L

/lib/64 library pathindex iconBuilding FOSS on Oracle Solaris Systems
Large Files  Seeindex iconlarge files
large files
applications andindex iconLarge Files
differences between derived typesindex iconDifferences Between Derived Types Specific to Large Files
EOVERFLOW errorindex iconEOVERFLOW Indicates System Call Issue
large virtual address space
definitionindex iconLarge Virtual Address Space
LD_LIBRARY_PATH environment variableindex iconLD_LIBRARY_PATH Environment Variable
LDFLAGS flagindex iconBuilding FOSS on Oracle Solaris Systems
libc libraryindex iconChanges to stdio
libkstat libraryindex iconlibkstat Kernel Statistics
libkvm library
index iconlibkvm and /dev/ksyms
index iconKernel Memory Readers
libraries
32-bit and 64-bitindex icon32-bit and 64-bit Libraries
64-bitindex icon64-bit Libraries
different for 32-bit and 64-bitindex iconSPARC V9 ABI Features
FOSS components, forindex iconBuilding FOSS on Oracle Solaris Systems
libcindex iconChanges to stdio
libkstatindex iconlibkstat Kernel Statistics
libkvm
index iconlibkvm and /dev/ksyms
index iconKernel Memory Readers
not combining 32-bit and 64-bitindex iconFrequently Asked Questions (FAQs)
sharedindex icon32-bit and 64-bit Libraries
limits
4GB barrier on 32-bitindex iconGetting Past the 4 Gigabyte Barrier
integer typesindex iconLimits of Integer Types
open streamsindex iconChanges to stdio
stdio streamsindex iconChanges to stdio
year 2038 for 32-bit applicationsindex iconFrequently Asked Questions (FAQs)
linking
using ld link-editorindex iconLinking Object Files
lint command
detecting porting errorsindex iconFinding Errors With lint
long type
conversion guidelines
index iconCheck Whether Literal Uses of long Still Make Sense
index iconDo Not Assume int and long Are the Same Size
LP64  See Alsoindex icon64-bit
application developers andindex iconWhen to Use 64-bit for Applications
data model
index iconChanges in Derived Types
index iconOverview of the Data Model Differences
guidelines for converting toindex iconGuidelines for Converting to LP64 Data Type Model

M

macros
constants, forindex iconMacros for Constants
feature test
index iconsize_t Definition in _LP64
index iconChanges in Derived Types
index iconUse #ifdef for Explicit 32-bit and 64-bit Prototypes
format stringindex iconFormat String Macros

O

$ORIGIN keywordindex icon$ORIGIN Keyword
Oracle Developer Studio
lint commandindex iconFinding Errors With lint

P

/proc interface
64-bit and 32-bitindex icon/proc Interface
restrictionsindex icon/proc Restrictions
/proc interface
compilation requirement
index iconFrequently Asked Questions (FAQs)
index iconApplication Binaries
debugging tools
index iconDebugging 64-bit Applications
index iconWhen to Use 64-bit for Applications
packaging
application naming conventionsindex iconApplication Naming Conventions
FOSS componentsindex iconBuilding FOSS on Oracle Solaris Systems
guidelinesindex iconPackaging Guidelines
library and program placementindex iconPlacement of Libraries and Programs
performance
64-bit issuesindex iconPerformance Issues
conversion guidelinesindex iconCompiling LP64 Programs
pointer arithmeticindex iconUse Pointer Arithmetic Instead of Integers
pointer typesindex iconHelpful Types Such as unintptr_t
pointers
32-bit and 64-bit differenceindex iconWhen to Use 64-bit for Applications
guidelines for 64-bit
index iconDo Not Assume int and long Are the Same Size
index iconDo Not Assume int and Pointers Are the Same Size
helpful typesindex iconHelpful Types Such as unintptr_t
porting code
detecting errors with lintindex iconFinding Errors With lint

S

sign extension
conversionindex iconSign Extension
conversion rules andindex iconSign Extension
integral promotionindex iconSign Extension
signed integer typesindex iconFixed-Width Integer Types
single source code
exampleindex iconSample 64-bit From 32-bit Program
implementing for 32-bit and 64-bitindex iconImplementing Single Source Code
maintaining for 32-bit and 64-bitindex iconConverting Applications to 64-bit
sizeof() functionindex iconsizeof unsigned long in LP64
SPARC V8 ABI
alignment of 32-bit and 64-bit numbersindex iconAlignment Issues
SPARC V9 ABI
address space layoutindex iconAddress Space Layout of the SPARC V9 ABI
alignment of 32-bit and 64-bit numbersindex iconAlignment Issues
code modelindex iconCode Models of the SPARC V9 ABI
data and text placementindex iconPlacement of Text and Data of the SPARC V9 ABI
featuresindex iconSPARC V9 ABI Features
stack biasindex iconStack Bias
versionsindex iconApplication Binary Interfaces
stdio.h header fileindex iconOverview of the Data Model Differences
stdio
changes toindex iconChanges to stdio
streams
limits toindex iconChanges to stdio
sys/feature_tests.h header file
index iconDifferences Between Derived Types Specific to Large Files
index iconChanges in Derived Types
sys/isa_defs.h header fileindex iconHeader Files
sys/isa_defs.h header fileindex iconFeature Test Macros
sys/types.h header file
index iconChanges in Derived Types
index iconsys/types.h Header File
index iconImplementing Single Source Code
sysinfo()
extensions toindex iconExtensions to sysinfo System Call
system calls
64-bit and 32-bit differencesindex iconSystem Call Issues
EOVERFLOW meaningindex iconEOVERFLOW Indicates System Call Issue
ioctl() difference between 64-bit and 32-bitindex iconioctl Does Not Type Check at Compile Time

T

text placement in SPARC V9 ABIindex iconPlacement of Text and Data of the SPARC V9 ABI
types
changes in derived between _ILP32 and _LP64index iconChanges in Derived Types
derivedindex iconDerived Types
fixed-width statisticindex iconlibkstat Kernel Statistics

U

/usr/lib/64 library pathindex iconBuilding FOSS on Oracle Solaris Systems
uintptr_t pointer typeindex iconHelpful Types Such as unintptr_t
unions
conversion guidelinesindex iconCheck Unions
unsigned integer typesindex iconFixed-Width Integer Types
utmp file
conversion guidelinesindex iconCheck for Derived Types That Have Grown in Size
utmpx file
conversion guidelinesindex iconCheck for Derived Types That Have Grown in Size

V

virtual address space
18 exabytesindex iconLarge Virtual Address Space
32-bit applicationsindex iconGetting Past the 4 Gigabyte Barrier
largeindex iconLarge Virtual Address Space