Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
module.c File Reference
#include <linux/moduleloader.h>
#include <linux/elf.h>
#include <linux/vmalloc.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/kernel.h>

Go to the source code of this file.

Macros

#define DEBUGP(fmt...)
 
#define COPY_UNALIGNED_WORD(sw, tw, align)
 
#define COPY_UNALIGNED_HWORD(sw, tw, align)
 

Functions

int apply_relocate_add (Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, unsigned int relsec, struct module *me)
 

Macro Definition Documentation

#define COPY_UNALIGNED_HWORD (   sw,
  tw,
  align 
)
Value:
{ \
void *__s = &(sw), *__t = &(tw); \
unsigned short *__s2 = __s, *__t2 =__t; \
unsigned char *__s1 = __s, *__t1 =__t; \
switch ((align)) \
{ \
case 0: \
*__t2 = *__s2; \
break; \
default: \
*__t1++ = *__s1++; \
*__t1 = *__s1; \
break; \
} \
}

Definition at line 54 of file module.c.

#define COPY_UNALIGNED_WORD (   sw,
  tw,
  align 
)
Value:
{ \
void *__s = &(sw), *__t = &(tw); \
unsigned short *__s2 = __s, *__t2 =__t; \
unsigned char *__s1 = __s, *__t1 =__t; \
switch ((align)) \
{ \
case 0: \
*(unsigned long *) __t = *(unsigned long *) __s; \
break; \
case 2: \
*__t2++ = *__s2++; \
*__t2 = *__s2; \
break; \
default: \
*__t1++ = *__s1++; \
*__t1++ = *__s1++; \
*__t1++ = *__s1++; \
*__t1 = *__s1; \
break; \
} \
}

Definition at line 31 of file module.c.

#define DEBUGP (   fmt...)

Definition at line 28 of file module.c.

Function Documentation

int apply_relocate_add ( Elf32_Shdr sechdrs,
const char strtab,
unsigned int  symindex,
unsigned int  relsec,
struct module me 
)

Definition at line 71 of file module.c.