Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 909 → Rev 910

/kernel/trunk/generic/src/lib/elf32.c
26,7 → 26,7
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#include <elf32.h>
#include <elf.h>
 
/** 32bit ELF loader
*
35,5 → 35,24
* @return EE_OK on success
*/
int elf32_load(__address header, as_t * as) {
return EE_UNSUPPORTED;
elf32_header_t * e_header;
 
e_header = (elf32_header_t *) header;
/* Identify ELF */
if ( e_header->e_ident[EI_MAG0] != ELFMAG0 || e_header->e_ident[EI_MAG1] != ELFMAG1 ||
e_header->e_ident[EI_MAG2] != ELFMAG2 || e_header->e_ident[EI_MAG3] != ELFMAG3
) {
return EE_INVALID;
}
/* Identify ELF compatibility */
if ( e_header->e_ident[EI_DATA] != ELF_DATA_ENCODING || e_header->e_machine != ELF_MACHINE ||
e_header->e_ident[EI_VERSION] != EV_CURRENT || e_header->e_ident[EI_CLASS] != ELF_CLASS
) {
return EE_UNSUPPORTED;
}
 
return EE_UNSUPPORTED;
}