Package org.eclipse.cdt.utils.elf.parser

# Class GNUElfBinaryObject

java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.cdt.utils.BinaryFile
org.eclipse.cdt.utils.BinaryObjectAdapter
org.eclipse.cdt.utils.elf.parser.ElfBinaryObject
org.eclipse.cdt.utils.elf.parser.GNUElfBinaryObject

All Implemented Interfaces:
  `IBinaryParser.IBinaryFile`, `IBinaryParser.IBinaryObject`, `org.eclipse.core.runtime.IAdaptable`

Direct Known Subclasses:
  `GNUElfBinaryExecutable`, `GNUElfBinaryShared`

public class GNUElfBinaryObject extends ElfBinaryObject

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.cdt.utils.BinaryObjectAdapter

`BinaryObjectAdapter.BinaryObjectInfo`

## Field Summary

### Fields inherited from class org.eclipse.cdt.utils.BinaryObjectAdapter

`NO_SYMBOLS`

### Fields inherited from interface org.eclipse.cdt.core.IBinaryParser.IBinaryFile

`ARCHIVE, CORE, EXECUTABLE, OBJECT, SHARED`

## Constructor Summary

Constructors
Constructor
Description
`GNUElfBinaryObject(IBinaryParser parser, org.eclipse.core.runtime.IPath path, int type)`
`GNUElfBinaryObject(IBinaryParser parser, org.eclipse.core.runtime.IPath path, AR.ARHeader header)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addSymbols(Elf.Symbol[] array, int type, List<Symbol> list)`
`<T> T`
`getAdapter(Class<T> adapter)`
`Addr2line`
`getAddr2line(boolean autodisposing)`
`InputStream`
`getContents()`
`protected CPPFilt`
`getCPPFilt()`
`protected Objdump`
`getObjdump()`
`protected void`
`loadSymbols(ElfHelper helper)`

### Methods inherited from class org.eclipse.cdt.utils.elf.parser.ElfBinaryObject

`getAddressFactory, getBinaryObjectInfo, getCPU, getElfHelper, getName, getSymbols, isLittleEndian, loadAll, loadInfo, loadInfo`

### Methods inherited from class org.eclipse.cdt.utils.BinaryObjectAdapter

`getBSS, getData, getNeededSharedLibs, getSoName, getSymbol, getText, hasDebug, toString`

### Methods inherited from class org.eclipse.cdt.utils.BinaryFile

`getBinaryParser, getPath, getType, hasChanged`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.cdt.core.IBinaryParser.IBinaryFile

`getBinaryParser, getPath, getType`

## Constructor Details

### GNUElfBinaryObject

public GNUElfBinaryObject(IBinaryParser parser, org.eclipse.core.runtime.IPath path, AR.ARHeader header)

Parameters:
  `parser` -
  `path` -
  `header` -

### GNUElfBinaryObject

public GNUElfBinaryObject(IBinaryParser parser, org.eclipse.core.runtime.IPath path, int type)

Parameters:
  `parser` -
  `path` -
  `type` -

## Method Details

### getAddr2line

public Addr2line getAddr2line(boolean autodisposing)

### getCPPFilt

protected CPPFilt getCPPFilt()

### getObjdump

protected Objdump getObjdump()

### getContents

public InputStream getContents() throws IOException

Specified by:
  `getContents` in interface `IBinaryParser.IBinaryFile`
Overrides:
  `getContents` in class `ElfBinaryObject`
Returns:
  the binary contents.
Throws:
  `IOException`
See Also:
  - `IBinaryParser.IBinaryFile.getContents()`

### loadSymbols

protected void loadSymbols(ElfHelper helper) throws IOException

Overrides:
  `loadSymbols` in class `ElfBinaryObject`
Throws:
  `IOException`

### addSymbols

protected void addSymbols(Elf.Symbol[] array, int type, List<Symbol> list)

Overrides:
  `addSymbols` in class `ElfBinaryObject`

### getAdapter

public <T> T getAdapter(Class<T> adapter)

Specified by:
  `getAdapter` in interface `org.eclipse.core.runtime.IAdaptable`
Overrides:
  `getAdapter` in class `ElfBinaryObject`