Faced with the same issue:
Internal error: backend/elfobj.c 1014
on my linux boxes:
* tiny core linux x86_64, glibc 2.20, gcc-4.9
* tiny core linux x86_64, glibc 2.22, gcc-5.2
Super excited that you know what you're doing/how to root cause this. I had/have no idea how to proceed with fixing this.
Comment #4 by bugzilla — 2016-09-03T01:20:03Z
Can't do anything without a reproducible example.
Comment #5 by markisaa — 2016-09-03T18:02:10Z
I'll work on getting one at the next hackathon.
Comment #6 by lance — 2016-10-08T15:51:43Z
I got this error on Ubuntu with dmd 2.070. Upon ugrading to 2.071.2, the error disappeared.
It would be difficult to provide an example (it relies on several C libraries as well as an installation of R) but the problem surfaced when I created an alias for enforce inside a version block.
Comment #7 by Marco.Leise — 2017-07-06T14:41:54Z
This patch seems to work for me:
--- dmd2/src/dmd/backend/backconfig.c 2016-03-03 11:42:12.000000000 +0100
+++ dmd2/src/dmd/backend/backconfig.c 2017-07-06 16:32:03.540184944 +0200
@@ -95,7 +95,7 @@
#if TARGET_LINUX
if (model == 64)
{ config.exe = EX_LINUX64;
- config.ehmethod = EH_DWARF;
+ config.ehmethod = EH_DM;
config.fpxmmregs = TRUE;
}
else
It switches exception handling on 64-bit Linux back from DWARF to the old druntime method, in case someone needs a quick fix to get this old version compiling again.
Comment #8 by dlang-bugzilla — 2017-07-07T06:35:24Z
(In reply to Mark Isaacson from comment #0)
> No idea how to debug this.
Dustmite!
https://github.com/CyberShadow/DustMite
I would suggest trying to narrow it down to a certain module first, as a brute reduction of building all of Druntime may take a few days.
Comment #9 by razvan.nitu1305 — 2022-10-31T13:39:22Z
This is an old issue and it seems that it has been fixed in subsequent versions of druntime. Closing as WORKSFORME.