elf

BDM elf file vs normal elf file

Whats the advantage that the BDM ELF file has over the nomral ELF file in terms of memory used? I know the following things about both: 1) BDM ELF file could be used for debugging through any debugger tools like Trace32 by plugging in JTAG. The normal ELF file also can be used for debugging purpose, provided we have the corresponding F...

My Cross Compiler Always Compiles the Same File

I'm testing to make sure that my cross compiler is working. When I compile hello world it seems to compile fine but when I change hello.cpp to the same program that loops 1000 times the elf file generated is exactly the same size. No matter what changes I make the file is always the same size and as far as I can tell, has the same cont...

Linking an executable

I'm trying to figure out how to manually link an ELF file. I am aware of the file structure, but how do I determine the order in which the relocatable objects are to be linked? ...

Simple way to reorder ELF file sections

I'm looking for a simple way to reorder the ELF file sections. I've got a sequence of custom sections that I would like all to be aligned in a certain order. The only way I've found how to do it is to use a Linker script. However the documentation indicates that specifying a custom linker script overrides the default. The default l...

Can ELF file contain more than one symbol table?

Can ELF file contain more than one symbol table? Is it standardized somehow? ...

Explaining readelf -S output

I'm trying to load an elf file into a MIPS simulator I made. The problem I'm having is that I don't quite understand the meaning behind the elf section header offset. When I do a segment dump, segments 25 - 31 and 33 - 35 "start" at 0x00000000 but the header states that the segment starts at an offset of some value (ex. 010190). Also ...

how can shared library get its own base address

I have the offset address's of all symbols (obtained with libelf executing on its own binary .so). Now, at runtime, I would need to calculate the absolutue address's of all those symbols and for that I would need to get the base address (where the shared library is loaded) and do a calculation: symbol_address = base_address + symbol_off...

How do i unstrip an object file ?

How do i unstrip a stripped object file ? Does eu-unstrip from elfutils can make this for me ? I need this to convert a zImage kernel to vmlinux without recompiling. This is apart of my script: magic="1f 8b 08 00" full_line=$(od -A d -t x1 zImage | grep "$magic" ) offset_full_line=$( echo $full_line | cut -f1 -d" ") data_full_line=...

objdump ELF and Windows

Hello, I am fairly new to this subject, that is ELF and any Linux related stuff. I am trying to write an ELF file and would prefer to do it on WinXP. My question is, can this be done with MS Visual Studio including the compilation? As far as my understanding goes, ELF files can not be compiled on Windows OSs. Well, at least that's wha...

how about .bss section not zero initialized

as we know .bss contains un-initialized variables. if in c code, programer initialize the variables before using them. then .bss is not necessary to be zero before executing C code. Am I right? Thanks ...

ELF file by hand

Hey, I've created an ELF file by hand, it has two sections(.text and .shstrtab) and a programm header which loads the .text section. The .text section is very small and it only consists of following three instructions... # and exit movl $0,%ebx # first argument: exit code movl $1,%eax # system call number...

Is there an open source library to read ELF files in .NET?

I am searching a library to extract information from ELF files, preferably in .NET. ...

How to get the function name of a C function pointer

I have the following problem: when I get a backtrace in C using the backtrace(3) function the symbols returned the name of the functions is easily determinable with the dwarf library and dladdr(3). The problem is that if I have a simple function pointer (e.g. by passing it &function) the dladdr + dwarf functions can't help. It seems tha...

How to remap a symbol to call a different function

Hi, I have an ELF shared object, and i want to modify it so that calls to the system function memcpy are actually routed through to a custom version of memcpy. Ive been researching and i have read about PLT Redirection and ELF Infection, but im still not sure how i can accomplish my goal Can anyone give me some hint and tips, or elabo...

How can I trace a link to see why a symbol got included?

I have two binaries: js and firefox-bin. Both link with libjs_static.a. I have a symbol (javascript_execute__done_semaphore) in libjs_static.a that I want included in both binaries, but it is only appearing in js and not firefox-bin. How can I tell why it got included in js (so I can use that to figure out why it is NOT getting included ...

How can I get the architecture of a '.a' file?

I have a .a file from which I want to get architecture information. Running file myFile.a results in file.a: current ar archive. How can I get more information on what architecture the file contains? ...

KDbg: disassemble "unkown" elf code

How to make KDbg(interface to gdb) display/disassemble elf? If I add -g while compile the code, KDbg will show the c code. Instead, how to display the assembly code? ...

Where can I find a good reference for the ELF file format?

I'm in the process of writing a compiler that will be generating ELF executable files for the i386 platform. However, I need a good reference for the file format (information on headers, relocations, etc.). Is there such a reference? ...

What sections are required for a usable ELF executable?

I'm creating an ELF executable file and I need to know what sections are required by the operating system in order to load and execute it. Details: OS: Ubuntu 10.04 (64-bit) Kernel version: 2.6.32-24 Architecture: i386 I realize that the following would probably be necessary: .text .symtab .rel.text Are t...

How to import a function from libc6 into an ELF executable?

I am creating an i386 ELF executable that needs to import a function from libc6. (It's printf, by the way.) I have created a very small ELF executable that prints "Hello, world!" to the console by using the Linux kernel interrupt 0x80. This is not optimal and I would like to have the application make use of libc instead. Here is what I...