1# $FreeBSD: head/gnu/usr.bin/binutils/libbfd/Makefile.arm 162299 2006-09-14 07:02:17Z 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-arm-fbsd.c \
11 elf32.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
23CLEANFILES+= elf32-arm-fbsd.c
24
25# XXX: We should really add the FreeBSD case in elf32_arm_nabi_grok_prstatus
26# instead of defining our own elf32_fbsd_arm_grok_prstatus.
27#
28elf32-arm-fbsd.c: elfarm-nabi.c
29 cat ${.ALLSRC} | sed \
30 -e s/ELFOSABI_ARM/ELFOSABI_FREEBSD/g \
31 -e "s/\(.*#define.*\)elf32_arm_nabi_grok_prstatus/\1elf32_fbsd_arm_grok_prstatus/"
32 -e s/"#include.*elf32-arm.h.*//" >${.TARGET}
33 echo '\
34 static bfd_boolean \
35 elf32_fbsd_arm_grok_prstatus(bfd *abfd, Elf_Internal_Note *note) \
36 { size_t raw_size =68 ; int offset = 28; \
37 if (note->descsz != 96) return (FALSE); \
38 if (elf_tdata(abfd)->core_signal == 0) \
39 elf_tdata (abfd)->core_signal = ((int *)(note->descdata))[5]; \
40 elf_tdata (abfd)->core_pid = ((int *)(note->descdata))[6]; \
41 /* Make a ".reg/999" section. */ \
42 return _bfd_elfcore_make_pseudosection (abfd, ".reg",raw_size, \
43 note->descpos + offset); \
44 }' >> ${.TARGET}
45 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-arm-fbsd.c \
11 elf32.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
23CLEANFILES+= elf32-arm-fbsd.c
24
25# XXX: We should really add the FreeBSD case in elf32_arm_nabi_grok_prstatus
26# instead of defining our own elf32_fbsd_arm_grok_prstatus.
27#
28elf32-arm-fbsd.c: elfarm-nabi.c
29 cat ${.ALLSRC} | sed \
30 -e s/ELFOSABI_ARM/ELFOSABI_FREEBSD/g \
31 -e "s/\(.*#define.*\)elf32_arm_nabi_grok_prstatus/\1elf32_fbsd_arm_grok_prstatus/"
32 -e s/"#include.*elf32-arm.h.*//" >${.TARGET}
33 echo '\
34 static bfd_boolean \
35 elf32_fbsd_arm_grok_prstatus(bfd *abfd, Elf_Internal_Note *note) \
36 { size_t raw_size =68 ; int offset = 28; \
37 if (note->descsz != 96) return (FALSE); \
38 if (elf_tdata(abfd)->core_signal == 0) \
39 elf_tdata (abfd)->core_signal = ((int *)(note->descdata))[5]; \
40 elf_tdata (abfd)->core_pid = ((int *)(note->descdata))[6]; \
41 /* Make a ".reg/999" section. */ \
42 return _bfd_elfcore_make_pseudosection (abfd, ".reg",raw_size, \
43 note->descpos + offset); \
44 }' >> ${.TARGET}
45 echo '#include "elf32-arm.h"' >> ${.TARGET}