http://build-failures.rhaalovely.net//alpha/2016-10-18/devel/elftoolchain.log

says

  elf.c:34: error: 'EM_ALPHA_EXP' undeclared here (not in a function)

EM_ALPHA_EXP comes from <machine/exec.h>

  #define ELF_TARG_MACH             EM_ALPHA_EXP

and elftoolchain on OpenBSD uses ELF_TARG_MACH to find out the
architecture.  elftoolchain doesn't define anything for EM_ALPHA_EXP,
only for EM_ALPHA, with a different value.

The ecosystem seems to use a mix of EM_ALPHA_STD==41,
EM_ALPHA_EXP=0x9026, and EM_ALPHA==41 or EM_ALPHA=0x9026, so it's not
very consistent.

This patch adds a definition for EM_ALPHA_EXP 0x9026 (as defined in
sys/exec_elf.h) and allows building elftoolchain on alpha (I didn't test
packaging on that architecture).  The REVISION bump is needed since
elfdefinitions.h is shipped by the package.

ok?


Index: Makefile
===================================================================
RCS file: /d/cvs/ports/devel/elftoolchain/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- Makefile    1 Sep 2016 11:13:12 -0000       1.2
+++ Makefile    5 Nov 2016 20:34:09 -0000
@@ -3,7 +3,7 @@
 COMMENT =              BSD-licensed implementation of compilation tools
 
 DISTNAME =             elftoolchain-0.7.1
-REVISION =             0
+REVISION =             1
 CATEGORIES =           devel
 
 # BSD
Index: patches/patch-common_elfdefinitions_h
===================================================================
RCS file: patches/patch-common_elfdefinitions_h
diff -N patches/patch-common_elfdefinitions_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-common_elfdefinitions_h       5 Nov 2016 19:56:32 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- common/elfdefinitions.h.orig       Sat Nov  5 20:55:50 2016
++++ common/elfdefinitions.h    Sat Nov  5 20:55:52 2016
+@@ -585,6 +585,7 @@ _ELF_DEFINE_EM(EM_RH32,             38, "TRW RH-32")       
        
+ _ELF_DEFINE_EM(EM_RCE,              39, "Motorola RCE")                       
\
+ _ELF_DEFINE_EM(EM_ARM,              40, "Advanced RISC Machines ARM") \
+ _ELF_DEFINE_EM(EM_ALPHA,            41, "Digital Alpha")              \
++_ELF_DEFINE_EM(EM_ALPHA_EXP,        0x9026, "Digital Alpha")          \
+ _ELF_DEFINE_EM(EM_SH,               42, "Hitachi SH")                 \
+ _ELF_DEFINE_EM(EM_SPARCV9,          43, "SPARC Version 9")            \
+ _ELF_DEFINE_EM(EM_TRICORE,          44,                                       
\


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to