]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - gnu/usr.bin/binutils/libbfd/Makefile.arm
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / gnu / usr.bin / binutils / libbfd / Makefile.arm
1 # $FreeBSD$
2
3 .if defined(TARGET_BIG_ENDIAN)
4 DEFAULT_VECTOR= bfd_elf32_bigarm_vec
5 .else
6 DEFAULT_VECTOR= bfd_elf32_littlearm_vec
7 .endif
8
9 SRCS+=  cpu-arm.c \
10         elf32.c \
11         elf32-arm-fbsd.c \
12         elf32-gen.c \
13         elf32-target.h \
14         elflink.c
15
16 VECS+=  ${DEFAULT_VECTOR}
17 .if defined(TARGET_BIG_ENDIAN)
18 VECS+=  bfd_elf32_littlearm_vec
19 .else
20 VECS+=  bfd_elf32_bigarm_vec
21 .endif
22
23 CLEANFILES+=    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 #
28 elf32-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}