05-05-2008
editing ELF file
Hello,
This is not exactly relevant to Linux kernel but I'm gonna ask any way.
Is there any way I can modify a 64-bit ELF object file to make it look like 32-bit ELF object file and link it (using `ld`) with 32-bit ELF file?
I tried libelf but was unsuccessful. I had this pretty link
http://people.freebsd.org/~jkoshy/do...f/article.html from Freebsd website and it seems like the libelf library on Freebsd system is not similar to that on Linux system as it complained for "vis.h" headerfile and few library calls such as `elf_setshstrndx()`
Any suggestions?
Thanks :-)
/tejas
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
Dear group,
I need to load dependent libraries for an application which is in ELF format.please let me know how to parse the ELF file to find dependent libraries.
thnaks in advance,
Ravinder (3 Replies)
Discussion started by: ravinder.are
3 Replies
2. UNIX for Advanced & Expert Users
The binary file is
ELF-64 executable object file - IA64.
How i know that the source is
Is there any comamnd in unix i can read these kind of files or use a thirty party software?
Thanks for your help (8 Replies)
Discussion started by: alexcol
8 Replies
3. Programming
Is it possible to add - or edit - data (the strings) contained within the string table of an ELF executable?
I know I can access the string table with the following code;
while ((scn = elf_nextscn(m_elf, scn)) != 0) {
char *name = 0;
gelf_getshdr(scn, &shdr);
... (9 Replies)
Discussion started by: Dhodder
9 Replies
4. Linux
Folks,
I have some program(Test.cpp) as follows,
#include<iostream>
class Abc
{
private:
int _theVar;
public :
int printVar();
};
int Abc :: printVar()
{
_theVar=10;
}
main()
{
Abc _t; (0 Replies)
Discussion started by: vinod_chitrali
0 Replies
5. Programming
Folks,
I have some program(Test.cpp) as follows,
#include<iostream>
class Abc
{
private:
int _theVar;
public :
int printVar();
};
int Abc :: printVar()
{
_theVar=10;
}
main()
{
Abc _t; (2 Replies)
Discussion started by: vinod_chitrali
2 Replies
6. Solaris
Hi Anyone,
I have two disks , one is primary and anothe is mirror.
I checked my mirror disk , It was fine.
After that i booted from my primary disk, did some installations regarding kernel patches.
It did not get booted properly. It says
====================
Not a valid... (2 Replies)
Discussion started by: jegaraman
2 Replies
7. Programming
Hi!!! How do I create a file .ELF? What code should I use, could help me with a simple code or example? I know programming to Windows by important languages but this seems to be more sistematical, and I really don't know how to. (2 Replies)
Discussion started by: linecoder
2 Replies
8. Shell Programming and Scripting
I have a text file that has data like:
Data "12345#22"
Fred
ID 12345
Age 45
Wilma
Dino
Data "123#22"
Tarzan
ID 123
Age 33
Jane
I need to figure out a way of adding 1,000,000 to the specific lines (always same format) in the file, so it becomes:
Data "1012345#22"
Fred
ID... (16 Replies)
Discussion started by: say170
16 Replies
9. Shell Programming and Scripting
Dear Guru's
I'm using Putty and want to edit a file. I know we generally use vi editor to do it. As I'm not good in using vi editor, I want to convert the vi into something like text pad. Is there any option in Putty to do the same ? Thanks for your response.
Srini (6 Replies)
Discussion started by: thummi9090
6 Replies
10. Solaris
I am following the "Compilling and Installing" guide from Apache > HTTP Server > Documentation > Version 2.4 page
The configure running OK:
# export CC="gcc -m64"
# ./configure \
--prefix=/usr/local/apache2/httpd-2.4.20 \
--with-port=80 \
--with-mpm=worker \
--enable-mods-shared=most \... (0 Replies)
Discussion started by: jhuang
0 Replies
LEARN ABOUT NETBSD
elf32_getehdr
GELF_GETEHDR(3) BSD Library Functions Manual GELF_GETEHDR(3)
NAME
elf32_getehdr, elf64_getehdr, gelf_getehdr -- retrieve the object file header
LIBRARY
ELF Access Library (libelf, -lelf)
SYNOPSIS
#include <libelf.h>
Elf32_Ehdr *
elf32_getehdr(Elf *elf);
Elf64_Ehdr *
elf64_getehdr(Elf *elf);
#include <gelf.h>
GElf_Ehdr *
gelf_getehdr(Elf *elf, GElf_Ehdr *dst);
DESCRIPTION
These functions retrieve the ELF object file header from the ELF descriptor elf and return a translated header descriptor to their callers.
Functions elf32_getehdr() and elf64_getehdr() return a pointer to the appropriate class-specific header descriptor if it exists in the file
referenced by descriptor elf. These functions return NULL if an ELF header was not found in file elf.
Function gelf_getehdr() stores a translated copy of the header for ELF file elf into the descriptor pointed to by argument dst. It returns
argument dst if successful or NULL in case of failure.
RETURN VALUES
These functions return a pointer to a translated header descriptor if successful, or NULL on failure.
ERRORS
These functions can fail with the following errors:
[ELF_E_ARGUMENT] The argument elf was null.
[ELF_E_ARGUMENT] Argument elf was not a descriptor for an ELF file.
[ELF_E_ARGUMENT] The elf class of descriptor elf was not recognized.
[ELF_E_ARGUMENT] Argument dst was null.
[ELF_E_CLASS] The ELF class of descriptor elf did not match that of the API function being called.
[ELF_E_HEADER] ELF descriptor elf does not have an associated header.
[ELF_E_RESOURCE] An out of memory condition was detected during execution.
[ELF_E_SECTION] The ELF descriptor in argument elf did not adhere to the conventions used for extended numbering.
[ELF_E_VERSION] The ELF descriptor elf had an unsupported ELF version number.
SEE ALSO
elf(3), elf32_newehdr(3), elf64_newehdr(3), elf_flagehdr(3), elf_getident(3), gelf(3), gelf_newehdr(3), elf(5)
BSD
December 16, 2006 BSD