2006-07-22 14:37:17 +00:00
|
|
|
# $FreeBSD$
|
|
|
|
|
2006-09-12 07:02:15 +00:00
|
|
|
.if defined(TARGET_BIG_ENDIAN)
|
|
|
|
DEFAULT_VECTOR= bfd_elf32_bigarm_vec
|
|
|
|
.else
|
2006-07-22 14:37:17 +00:00
|
|
|
DEFAULT_VECTOR= bfd_elf32_littlearm_vec
|
2006-09-12 07:02:15 +00:00
|
|
|
.endif
|
2006-07-22 14:37:17 +00:00
|
|
|
|
2006-07-22 14:55:55 +00:00
|
|
|
SRCS+= cpu-arm.c \
|
2006-09-12 07:02:15 +00:00
|
|
|
elf32.c \
|
2006-09-14 07:48:16 +00:00
|
|
|
elf32-arm-fbsd.c \
|
2006-07-22 14:55:55 +00:00
|
|
|
elf32-gen.c \
|
2006-08-10 16:39:55 +00:00
|
|
|
elf32-target.h \
|
2006-07-22 14:55:55 +00:00
|
|
|
elflink.c
|
2006-07-22 14:37:17 +00:00
|
|
|
|
2006-09-12 07:02:15 +00:00
|
|
|
VECS+= ${DEFAULT_VECTOR}
|
|
|
|
.if defined(TARGET_BIG_ENDIAN)
|
|
|
|
VECS+= bfd_elf32_littlearm_vec
|
|
|
|
.else
|
|
|
|
VECS+= bfd_elf32_bigarm_vec
|
2006-09-14 07:02:17 +00:00
|
|
|
.endif
|
2006-09-12 07:03:58 +00:00
|
|
|
|
|
|
|
CLEANFILES+= elf32-arm-fbsd.c
|
|
|
|
|
|
|
|
# XXX: We should really add the FreeBSD case in elf32_arm_nabi_grok_prstatus
|
|
|
|
# instead of defining our own elf32_fbsd_arm_grok_prstatus.
|
|
|
|
#
|
|
|
|
elf32-arm-fbsd.c: elfarm-nabi.c
|
|
|
|
cat ${.ALLSRC} | sed \
|
|
|
|
-e s/ELFOSABI_ARM/ELFOSABI_FREEBSD/g \
|
2006-09-14 07:48:16 +00:00
|
|
|
-e "s/\(.*#define.*\)elf32_arm_nabi_grok_prstatus/\1elf32_fbsd_arm_grok_prstatus/" \
|
2006-09-12 07:03:58 +00:00
|
|
|
-e s/"#include.*elf32-arm.h.*//" >${.TARGET}
|
2006-09-14 07:48:16 +00:00
|
|
|
echo ' \
|
2006-09-12 07:03:58 +00:00
|
|
|
static bfd_boolean \
|
|
|
|
elf32_fbsd_arm_grok_prstatus(bfd *abfd, Elf_Internal_Note *note) \
|
|
|
|
{ size_t raw_size =68 ; int offset = 28; \
|
|
|
|
if (note->descsz != 96) return (FALSE); \
|
|
|
|
if (elf_tdata(abfd)->core_signal == 0) \
|
|
|
|
elf_tdata (abfd)->core_signal = ((int *)(note->descdata))[5]; \
|
|
|
|
elf_tdata (abfd)->core_pid = ((int *)(note->descdata))[6]; \
|
|
|
|
/* Make a ".reg/999" section. */ \
|
|
|
|
return _bfd_elfcore_make_pseudosection (abfd, ".reg",raw_size, \
|
|
|
|
note->descpos + offset); \
|
|
|
|
}' >> ${.TARGET}
|
|
|
|
echo '#include "elf32-arm.h"' >> ${.TARGET}
|