Bug 214556

Summary: www/firefox: fails to build on aarch64 with DTRACE=on
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Mark Linimon <linimon>
Status: Closed Overcome By Events    
Severity: Affects Only Me CC: Andrew, br, emaste, linimon, markj
Priority: --- Keywords: needs-patch
Version: Latest   
Hardware: arm64   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224271
Bug Depends on:    
Bug Blocks: 201763    

Description Jan Beich freebsd_committer freebsd_triage 2016-11-16 01:45:46 UTC
dtrace -x nolibs -G -C -s js/src/devtools/javascript-trace.d -o js-dtrace.o RegExp.o CTypes.o ...
ld: js-dtrace.o.Zniq3E: Relocations in generic ELF (EM: 0)
js-dtrace.o.Zniq3E: error adding symbols: File in wrong format
dtrace: failed to link script js/src/devtools/javascript-trace.d: failed to link js-dtrace.o: ld exited with status 1
dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
[...]

http://thunderx1.nyi.freebsd.org/data/110arm64-default/426137/logs/firefox-50.0_2,1.log
Comment 1 Jan Beich freebsd_committer freebsd_triage 2016-11-16 01:54:22 UTC
Are static dtrace probes supported on aarch64 at all?

  $ ssh ref12-aarch64.freebsd.org # or use qemu-user-static via poudriere

  $ cat main.c
  #include <sys/sdt.h>
  #include <unistd.h>

  int main()
  {
    DTRACE_PROBE(test, foo);
    sleep(300);
    return 0;
  }

  $ cat test.d
  provider test {
	  probe foo();
  };

  $ cc -c main.c

  $ dtrace -G -s test.d main.o
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  ld: test.o.Fycn9m: Relocations in generic ELF (EM: 0)
  test.o.Fycn9m: error adding symbols: File in wrong format
  test: failed to link script test: failed to link test.o: ld exited with status 1
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-01-01 15:51:30 UTC
A commit references this bug:

Author: jbeich
Date: Sun Jan  1 15:50:57 UTC 2017
New revision: 430259
URL: https://svnweb.freebsd.org/changeset/ports/430259

Log:
  gecko: temporarily hide DTRACE option on aarch64

  PR:		214556

Changes:
  head/mail/thunderbird/Makefile
  head/www/firefox/Makefile
  head/www/firefox/Makefile.options
  head/www/firefox-esr/Makefile
  head/www/libxul/Makefile
  head/www/seamonkey/Makefile
Comment 3 Mark Johnston freebsd_committer freebsd_triage 2017-01-01 20:39:04 UTC
Indeed, some of the required code in dt_link.c is not implemented for aarch64.
Some other bits may be missing as well.
Comment 4 commit-hook freebsd_committer freebsd_triage 2017-01-20 14:32:20 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 20 14:31:27 UTC 2017
New revision: 431960
URL: https://svnweb.freebsd.org/changeset/ports/431960

Log:
  lang/php70: temporarily hide DTRACE option on aarch64

  ld: Zend/zend_dtrace.d.o.h0Xec8: Relocations in generic ELF (EM: 0)
  Zend/zend_dtrace.d.o.h0Xec8: error adding symbols: File in wrong format
  dtrace: failed to link script /wrkdirs/usr/ports/lang/php70/work/php-7.0.14/Zend/zend_dtrace.d: failed to link Zend/zend_dtrace.d.o: ld exited with status 1
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  [...]

  PR:		214556
  Reported by:	pkg-fallout

Changes:
  head/lang/php70/Makefile
Comment 5 commit-hook freebsd_committer freebsd_triage 2017-01-20 14:36:25 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 20 14:36:20 UTC 2017
New revision: 431961
URL: https://svnweb.freebsd.org/changeset/ports/431961

Log:
  MFH: r431960

  lang/php70: temporarily hide DTRACE option on aarch64

  ld: Zend/zend_dtrace.d.o.h0Xec8: Relocations in generic ELF (EM: 0)
  Zend/zend_dtrace.d.o.h0Xec8: error adding symbols: File in wrong format
  dtrace: failed to link script /wrkdirs/usr/ports/lang/php70/work/php-7.0.14/Zend/zend_dtrace.d: failed to link Zend/zend_dtrace.d.o: ld exited with status 1
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  [...]

  PR:		214556
  Reported by:	pkg-fallout
  Approved by:	ports-secteam blanket

Changes:
_U  branches/2017Q1/
  branches/2017Q1/lang/php70/Makefile
Comment 6 commit-hook freebsd_committer freebsd_triage 2017-01-20 14:49:38 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 20 14:49:04 UTC 2017
New revision: 431962
URL: https://svnweb.freebsd.org/changeset/ports/431962

Log:
  lang/erlang: temporarily hide DTRACE option on aarch64

  obj/aarch64-portbld-freebsd11.0/opt/smp/beam_emu.o: In function `process_main':
  beam/beam_emu.c:(.text+0x1ec): undefined reference to `__dtraceenabled_erlang___process__scheduled'
  beam/beam_emu.c:(.text+0x3c4): undefined reference to `__dtrace_erlang___process__scheduled'
  beam/beam_emu.c:(.text+0x3274): undefined reference to `__dtraceenabled_erlang___local__function__entry'
  beam/beam_emu.c:(.text+0x32b0): undefined reference to `__dtrace_erlang___local__function__entry'
  beam/beam_emu.c:(.text+0x3318): undefined reference to `__dtraceenabled_erlang___local__function__entry'
  [...]

  PR:		214556 (maybe unrelated)
  Reported by:	pkg-fallout

Changes:
  head/lang/erlang/Makefile
  head/lang/erlang-runtime19/Makefile
Comment 7 commit-hook freebsd_committer freebsd_triage 2017-01-20 17:31:47 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 20 17:31:23 UTC 2017
New revision: 431973
URL: https://svnweb.freebsd.org/changeset/ports/431973

Log:
  databases/memcached: temporarily hide DTRACE option on aarch64

  /usr/sbin/dtrace  -G -o memcached_dtrace.o -s ./memcached_dtrace.d ...
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  [...]
  ld: memcached_dtrace.o.iRgx2j: Relocations in generic ELF (EM: 0)
  memcached_dtrace.o.iRgx2j: error adding symbols: File in wrong format
  dtrace: failed to link script ./memcached_dtrace.d: failed to link memcached_dtrace.o: ld exited with status 1

  PR:		214556

Changes:
  head/databases/memcached/Makefile
Comment 8 commit-hook freebsd_committer freebsd_triage 2017-01-20 17:34:52 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 20 17:34:13 UTC 2017
New revision: 431974
URL: https://svnweb.freebsd.org/changeset/ports/431974

Log:
  MFH: r431973

  databases/memcached: temporarily hide DTRACE option on aarch64

  /usr/sbin/dtrace  -G -o memcached_dtrace.o -s ./memcached_dtrace.d ...
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  [...]
  ld: memcached_dtrace.o.iRgx2j: Relocations in generic ELF (EM: 0)
  memcached_dtrace.o.iRgx2j: error adding symbols: File in wrong format
  dtrace: failed to link script ./memcached_dtrace.d: failed to link memcached_dtrace.o: ld exited with status 1

  PR:		214556
  Approved by:	ports-secteam blanket

Changes:
_U  branches/2017Q1/
  branches/2017Q1/databases/memcached/Makefile
Comment 9 commit-hook freebsd_committer freebsd_triage 2017-01-27 19:27:20 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jan 27 19:26:58 UTC 2017
New revision: 432567
URL: https://svnweb.freebsd.org/changeset/ports/432567

Log:
  lang/php71: temporarily hide DTRACE option on aarch64

  CFLAGS="-O2 -pipe -fno-strict-aliasing -DZEND_SIGNALS " dtrace -xnolibs -G -o Zend/zend_dtrace.d.o -s /wrkdirs/usr/ports/lang/php71/work/php-7.1.1/Zend/zend_dtrace.d main/main.o Zend/zend_API.o Zend/zend_execute.o Zend/zend_exceptions.o Zend/zend_dtrace.o Zend/zend.o
  ld: Zend/zend_dtrace.d.o.ckjasD: Relocations in generic ELF (EM: 0)
  Zend/zend_dtrace.d.o.ckjasD: error adding symbols: File in wrong format
  dtrace: failed to link script /wrkdirs/usr/ports/lang/php71/work/php-7.1.1/Zend/zend_dtrace.d: failed to link Zend/zend_dtrace.d.o: ld exited with status 1
  dt_modtext:/usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(841): DOODAD
  [..]
  *** [Zend/zend_dtrace.d.o] Error code 1

  PR:		214556

Changes:
  head/lang/php71/Makefile
Comment 10 Ed Maste freebsd_committer freebsd_triage 2017-11-20 21:14:39 UTC
This bug should probably be retitled
> ports using userland SDT (usdt provider) fail to build on FreeBSD/arm64
Comment 11 Mark Linimon freebsd_committer freebsd_triage 2018-03-11 06:45:15 UTC
Now being tracked in 224271.