1# $FreeBSD: head/gnu/usr.bin/binutils/libbfd/Makefile.arm 162302 2006-09-14 07:48:16Z imp $
2
3.if defined(TARGET_BIG_ENDIAN)
4DEFAULT_VECTOR= bfd_elf32_bigarm_vec
5.else
6DEFAULT_VECTOR= bfd_elf32_littlearm_vec
7.endif
8
9SRCS+= cpu-arm.c \
10 elf32.c \
11 elf32-arm-fbsd.c \
12 elf32-gen.c \
13 elf32-target.h \
14 elflink.c
15
16VECS+= ${DEFAULT_VECTOR}
17.if defined(TARGET_BIG_ENDIAN)
18VECS+= bfd_elf32_littlearm_vec
19.else
20VECS+= bfd_elf32_bigarm_vec
21.endif
22
23CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
24
25CLEANFILES+= elf32-arm-fbsd.c
26
27# XXX: We should really add the FreeBSD case in elf32_arm_nabi_grok_prstatus
28# instead of defining our own elf32_fbsd_arm_grok_prstatus.
29#
30elf32-arm-fbsd.c: elfarm-nabi.c
31 cat ${.ALLSRC} | sed \
32 -e s/ELFOSABI_ARM/ELFOSABI_FREEBSD/g \
33 -e "s/\(.*#define.*\)elf32_arm_nabi_grok_prstatus/\1elf32_fbsd_arm_grok_prstatus/" \
34 -e s/"#include.*elf32-arm.h.*//" >${.TARGET}
35 echo ' \
36 static bfd_boolean \
37 elf32_fbsd_arm_grok_prstatus(bfd *abfd, Elf_Internal_Note *note) \
38 { size_t raw_size =68 ; int offset = 28; \
39 if (note->descsz != 96) return (FALSE); \
40 if (elf_tdata(abfd)->core_signal == 0) \
41 elf_tdata (abfd)->core_signal = ((int *)(note->descdata))[5]; \
42 elf_tdata (abfd)->core_pid = ((int *)(note->descdata))[6]; \
43 /* Make a ".reg/999" section. */ \
44 return _bfd_elfcore_make_pseudosection (abfd, ".reg",raw_size, \
45 note->descpos + offset); \
46 }' >> ${.TARGET}
47 echo '#include "elf32-arm.h"' >> ${.TARGET}
2
3.if defined(TARGET_BIG_ENDIAN)
4DEFAULT_VECTOR= bfd_elf32_bigarm_vec
5.else
6DEFAULT_VECTOR= bfd_elf32_littlearm_vec
7.endif
8
9SRCS+= cpu-arm.c \
10 elf32.c \
11 elf32-arm-fbsd.c \
12 elf32-gen.c \
13 elf32-target.h \
14 elflink.c
15
16VECS+= ${DEFAULT_VECTOR}
17.if defined(TARGET_BIG_ENDIAN)
18VECS+= bfd_elf32_littlearm_vec
19.else
20VECS+= bfd_elf32_bigarm_vec
21.endif
22
23CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
24
25CLEANFILES+= elf32-arm-fbsd.c
26
27# XXX: We should really add the FreeBSD case in elf32_arm_nabi_grok_prstatus
28# instead of defining our own elf32_fbsd_arm_grok_prstatus.
29#
30elf32-arm-fbsd.c: elfarm-nabi.c
31 cat ${.ALLSRC} | sed \
32 -e s/ELFOSABI_ARM/ELFOSABI_FREEBSD/g \
33 -e "s/\(.*#define.*\)elf32_arm_nabi_grok_prstatus/\1elf32_fbsd_arm_grok_prstatus/" \
34 -e s/"#include.*elf32-arm.h.*//" >${.TARGET}
35 echo ' \
36 static bfd_boolean \
37 elf32_fbsd_arm_grok_prstatus(bfd *abfd, Elf_Internal_Note *note) \
38 { size_t raw_size =68 ; int offset = 28; \
39 if (note->descsz != 96) return (FALSE); \
40 if (elf_tdata(abfd)->core_signal == 0) \
41 elf_tdata (abfd)->core_signal = ((int *)(note->descdata))[5]; \
42 elf_tdata (abfd)->core_pid = ((int *)(note->descdata))[6]; \
43 /* Make a ".reg/999" section. */ \
44 return _bfd_elfcore_make_pseudosection (abfd, ".reg",raw_size, \
45 note->descpos + offset); \
46 }' >> ${.TARGET}
47 echo '#include "elf32-arm.h"' >> ${.TARGET}