# $FreeBSD$ .if defined(TARGET_BIG_ENDIAN) DEFAULT_VECTOR= bfd_elf32_bigarm_vec .else DEFAULT_VECTOR= bfd_elf32_littlearm_vec .endif SRCS+= cpu-arm.c \ elf32.c \ elf32-arm-fbsd.c \ elf32-gen.c \ elf32-target.h \ elflink.c VECS+= ${DEFAULT_VECTOR} .if defined(TARGET_BIG_ENDIAN) VECS+= bfd_elf32_littlearm_vec .else VECS+= bfd_elf32_bigarm_vec .endif 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 \ -e "s/\(.*#define.*\)elf32_arm_nabi_grok_prstatus/\1elf32_fbsd_arm_grok_prstatus/" \ -e s/"#include.*elf32-arm.h.*//" >${.TARGET} echo ' \ 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}