From owner-freebsd-questions@FreeBSD.ORG Thu Mar 15 19:46:16 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BFFEA16A407 for ; Thu, 15 Mar 2007 19:46:16 +0000 (UTC) (envelope-from robe@prodal.telemar.cu) Received: from mail1.fishnavy.inf.cu (mail1.fishnavy.inf.cu [200.55.129.131]) by mx1.freebsd.org (Postfix) with ESMTP id 713B213C48C for ; Thu, 15 Mar 2007 19:46:13 +0000 (UTC) (envelope-from robe@prodal.telemar.cu) Received: (from uucp@localhost) by mail1.fishnavy.inf.cu (8.11.7/8.11.7) id l2FKhnc98316 for ; Thu, 15 Mar 2007 15:43:49 -0500 (EST) Received: from UNKNOWN(192.168.38.2), claiming to be "prodal.telemar.cu" via SMTP by mail1.fishnavy.inf.cu, id smtpdWxC1Iy; Thu Mar 15 20:43:39 2007 Received: from [192.168.200.31] by prodal.telemar.cu (MDaemon.PRO.v8.1.3.R) with ESMTP id md50000061443.msg for ; Thu, 15 Mar 2007 15:43:07 -0500 From: Robe To: freebsd-questions@freebsd.org Content-Type: text/plain Date: Wed, 14 Mar 2007 11:37:02 -0500 Message-Id: <1173890222.15236.2.camel@robe-ubuntu> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 Content-Transfer-Encoding: 7bit X-Authenticated-Sender: robe@prodal.telemar.cu X-Spam-Processed: prodal.telemar.cu, Thu, 15 Mar 2007 15:43:07 -0500 (not processed: message from valid local sender) X-MDRemoteIP: 192.168.200.31 X-Return-Path: robe@prodal.telemar.cu X-MDaemon-Deliver-To: freebsd-questions@freebsd.org X-MDAV-Processed: prodal.telemar.cu, Thu, 15 Mar 2007 15:43:08 -0500 Subject: "elf_begin" returns NULL X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Mar 2007 19:46:16 -0000 Hi, I'm trying to create an object file (.o) using the "libelf" library. Below appear the full source code. Does any body know why the "elf_begin" statement return NULL? #include < stdio.h> #include #include int main() { int FileDes; Elf *pElf = elf_begin(FileDes, ELF_C_WRITE, NULL); // 3rd argument is ignored for "ELF_C_WRITE" if (!pElf) printf("elf_begin: error\n"); Elf32_Ehdr *pEhdr = elf32_newehdr(pElf); if (!pEhdr) printf("elf32_newehdr: error\n"); elf_end(pElf); // Free the memory free(pElf); free(pEhdr); return 0; } Thanx, Robe.