Linker error when building dmd backend
Thomas Mader
thomas.mader at gmail.com
Sat Dec 22 23:29:13 UTC 2018
On Saturday, 22 December 2018 at 23:02:04 UTC, Thomas Mader wrote:
> It's always a fresh build when building a NixOS package.
> I looked into backend.a for the symbol:
>
> objdump -D backend.a | grep modulo
> 0000000000000040 <_Z7_moduloee>:
> 40: e9 00 00 00 00 jmpq 45 <_Z7_moduloee+0x5>
>
> Maybe that's connected to
> https://forum.dlang.org/post/odimguuqtekosmtliyhf@forum.dlang.org
I enabled more debug output from the Nix environment so the
compiler flags can be seen.
CC="c++" ldmd2 -of../generated/linux/release/64/dmd -m64 -vtls
-J../generated/linux/release/64 -J../res -L-lstdc++
-version=MARS -fPIC -J../generated/linux/release/64 -w -de -O
-release -inline dmd/access.d dmd/aggregate.d dmd/aliasthis.d
dmd/apply.d dmd/argtypes.d dmd/arrayop.d dmd/arraytypes.d
dmd/astcodegen.d dmd/attrib.d dmd/builtin.d dmd/canthrow.d
dmd/cli.d dmd/clone.d dmd/compiler.d dmd/complex.d dmd/cond.d
dmd/constfold.d dmd/cppmangle.d dmd/cppmanglewin.d dmd/ctfeexpr.d
dmd/ctorflow.d dmd/dcast.d dmd/dclass.d dmd/declaration.d
dmd/delegatize.d dmd/denum.d dmd/dimport.d dmd/dinifile.d
dmd/dinterpret.d dmd/dmacro.d dmd/dmangle.d dmd/dmodule.d
dmd/doc.d dmd/dscope.d dmd/dstruct.d dmd/dsymbol.d
dmd/dsymbolsem.d dmd/dtemplate.d dmd/dversion.d dmd/escape.d
dmd/expression.d dmd/expressionsem.d dmd/func.d dmd/hdrgen.d
dmd/id.d dmd/impcnvtab.d dmd/imphint.d dmd/init.d dmd/initsem.d
dmd/inline.d dmd/inlinecost.d dmd/intrange.d dmd/json.d
dmd/lambdacomp.d dmd/lib.d dmd/libelf.d dmd/libmach.d dmd/link.d
dmd/mars.d dmd/mtype.d dmd/nogc.d dmd/nspace.d dmd/objc.d
dmd/opover.d dmd/optimize.d dmd/parse.d dmd/permissivevisitor.d
dmd/sapply.d dmd/templateparamsem.d dmd/sideeffect.d
dmd/statement.d dmd/staticassert.d dmd/target.d dmd/typesem.d
dmd/traits.d dmd/transitivevisitor.d dmd/parsetimevisitor.d
dmd/visitor.d dmd/typinf.d dmd/utils.d dmd/scanelf.d
dmd/scanmach.d dmd/statement_rewrite_walker.d dmd/statementsem.d
dmd/staticcond.d dmd/safe.d dmd/blockexit.d dmd/printast.d
dmd/semantic2.d dmd/semantic3.d dmd/irstate.d dmd/toctype.d
dmd/glue.d dmd/gluelayer.d dmd/todt.d dmd/tocsym.d dmd/toir.d
dmd/dmsc.d dmd/tocvdebug.d dmd/s2ir.d dmd/toobj.d dmd/e2ir.d
dmd/eh.d dmd/iasm.d dmd/iasmdmd.d dmd/iasmgcc.d dmd/objc_glue.d
dmd/backend/cc.d dmd/backend/cdef.d dmd/backend/cgcv.d
dmd/backend/code.d dmd/backend/cv4.d dmd/backend/dt.d
dmd/backend/el.d dmd/backend/global.d dmd/backend/obj.d
dmd/backend/oper.d dmd/backend/outbuf.d dmd/backend/rtlsym.d
dmd/backend/code_x86.d dmd/backend/iasm.d dmd/backend/ty.d
dmd/backend/type.d dmd/backend/exh.d dmd/backend/mach.d
dmd/backend/mscoff.d dmd/backend/dwarf.d dmd/backend/dwarf2.d
dmd/backend/xmm.d dmd/backend/dlist.d dmd/backend/melf.d
dmd/backend/varstats.d dmd/root/aav.d dmd/root/man.d
dmd/root/response.d dmd/root/speller.d dmd/root/longdouble.d
../generated/linux/release/64/newdelete.o
../generated/linux/release/64/backend.a
../generated/linux/release/64/lexer.a
HARDENING: disabled flags: pie
HARDENING: Is active (not completely disabled with "all" flag)
HARDENING: enabling fortify
HARDENING: enabling stackprotector
HARDENING: enabling strictoverflow
HARDENING: enabling format
HARDENING: enabling pic
extra flags before to
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/bin/g++:
-O2
-D_FORTIFY_SOURCE=2
-fstack-protector-strong
--param
ssp-buffer-size=4
-fno-strict-overflow
-Wformat
-Wformat-security
-Werror=format-security
-fPIC
-Wl\,-dynamic-linker
-Wl\,/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib/ld-linux-x86-64.so.2
original flags to
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/bin/g++:
../generated/linux/release/64/dmd.o
../generated/linux/release/64/newdelete.o
../generated/linux/release/64/backend.a
../generated/linux/release/64/lexer.a
-o
../generated/linux/release/64/dmd
-fuse-ld=gold
-lstdc++
-L/nix/store/r29igl9gz0r6cvb3i28xh03anx936qbl-ldcBuild-1.13.0/lib
-lphobos2-ldc
-ldruntime-ldc
-Wl\,--gc-sections
-lrt
-ldl
-lpthread
-lm
-m64
extra flags after to
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/bin/g++:
-B/nix/store/x6inizi5ahlyhqxxwv1rvn05a25icarq-gcc-7.3.0-lib/lib
-B/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib/
-idirafter
/nix/store/psqblh5bsgkbkhn4r648pgjw5rq4npkv-glibc-2.27-dev/include
-idirafter
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed
-B/nix/store/klci955kxil7q32ggran6lnhpnkk8yjz-gcc-wrapper-7.3.0/bin/
-isystem
/nix/store/gvmijbjia22rskv7xfm36004zsyi62mr-ldc-1.13.0/include
-isystem
/nix/store/6yf8cndis3p9awh5wmwplyrqv55y4y3a-gdb-8.2/include
-isystem
/nix/store/yhckr5a12np73av4c4k1v1ffqj0bx53h-curl-7.62.0-dev/include
-isystem
/nix/store/s7f8awsadn61qmbz1mfniw2c3zxcifq0-nghttp2-1.35.0-dev/include
-isystem
/nix/store/a50sg2xm6vflzx5kma3sih39dq9wv7z6-zlib-1.2.11-dev/include
-isystem
/nix/store/jfyrrk9xkqm06x5vcx6cs4qm34bzl39h-libkrb5-1.15.2-dev/include
-isystem
/nix/store/v7gs3pmbg43ys16fbhhc9sq89s4vj236-openssl-1.0.2q-dev/include
-isystem
/nix/store/v42mn058w6gb8ycyf1phvi8f8c9a4k8m-libssh2-1.8.0-dev/include
-isystem
/nix/store/9nzy5rd0mk57va1sr4br936pjk24ns8p-tzdata-2018g-dev/include
-isystem
/nix/store/gvmijbjia22rskv7xfm36004zsyi62mr-ldc-1.13.0/include
-isystem
/nix/store/6yf8cndis3p9awh5wmwplyrqv55y4y3a-gdb-8.2/include
-isystem
/nix/store/yhckr5a12np73av4c4k1v1ffqj0bx53h-curl-7.62.0-dev/include
-isystem
/nix/store/s7f8awsadn61qmbz1mfniw2c3zxcifq0-nghttp2-1.35.0-dev/include
-isystem
/nix/store/a50sg2xm6vflzx5kma3sih39dq9wv7z6-zlib-1.2.11-dev/include
-isystem
/nix/store/jfyrrk9xkqm06x5vcx6cs4qm34bzl39h-libkrb5-1.15.2-dev/include
-isystem
/nix/store/v7gs3pmbg43ys16fbhhc9sq89s4vj236-openssl-1.0.2q-dev/include
-isystem
/nix/store/v42mn058w6gb8ycyf1phvi8f8c9a4k8m-libssh2-1.8.0-dev/include
-isystem
/nix/store/9nzy5rd0mk57va1sr4br936pjk24ns8p-tzdata-2018g-dev/include
-Wl\,-rpath
-Wl\,/nix/store/r2xapv59sz4cpa9zy9ydzck857r6xmrx-dmdBuild-2.083.1/lib64
-Wl\,-rpath
-Wl\,/nix/store/r2xapv59sz4cpa9zy9ydzck857r6xmrx-dmdBuild-2.083.1/lib
-L/nix/store/gvmijbjia22rskv7xfm36004zsyi62mr-ldc-1.13.0/lib
-L/nix/store/6yf8cndis3p9awh5wmwplyrqv55y4y3a-gdb-8.2/lib
-L/nix/store/9vh9ysqr8hahnph1gppniv7zrdf218ds-nghttp2-1.35.0-lib/lib
-L/nix/store/nsrwlly5ikwhppcslaazp547kh7q7j6s-zlib-1.2.11/lib
-L/nix/store/yi0pwf9hybx6vhj2qdfa6krvxgvcbyi0-libkrb5-1.15.2/lib
-L/nix/store/3lk4hcp1r6pnrvf91kd5p0ni97nd2dj3-openssl-1.0.2q/lib
-L/nix/store/za7psqbn9laq73vc5rh657jqpiqn0wag-libssh2-1.8.0/lib
-L/nix/store/blrfb9855rrxva4xch4r7knwya0il5rl-curl-7.62.0/lib
-L/nix/store/9nzy5rd0mk57va1sr4br936pjk24ns8p-tzdata-2018g-dev/lib
-L/nix/store/gvmijbjia22rskv7xfm36004zsyi62mr-ldc-1.13.0/lib
-L/nix/store/6yf8cndis3p9awh5wmwplyrqv55y4y3a-gdb-8.2/lib
-L/nix/store/9vh9ysqr8hahnph1gppniv7zrdf218ds-nghttp2-1.35.0-lib/lib
-L/nix/store/nsrwlly5ikwhppcslaazp547kh7q7j6s-zlib-1.2.11/lib
-L/nix/store/yi0pwf9hybx6vhj2qdfa6krvxgvcbyi0-libkrb5-1.15.2/lib
-L/nix/store/3lk4hcp1r6pnrvf91kd5p0ni97nd2dj3-openssl-1.0.2q/lib
-L/nix/store/za7psqbn9laq73vc5rh657jqpiqn0wag-libssh2-1.8.0/lib
-L/nix/store/blrfb9855rrxva4xch4r7knwya0il5rl-curl-7.62.0/lib
-L/nix/store/9nzy5rd0mk57va1sr4br936pjk24ns8p-tzdata-2018g-dev/lib
-L/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib
-L/nix/store/x6inizi5ahlyhqxxwv1rvn05a25icarq-gcc-7.3.0-lib/lib
HARDENING: disabled flags: pie
HARDENING: Is active (not completely disabled with "all" flag)
HARDENING: enabling bindnow
HARDENING: enabling relro
extra flags before to
/nix/store/jdlb06c0kp6sms277xcclfr3gdl8pb9r-binutils-2.30/bin/ld.gold:
-z
now
-z
relro
original flags to
/nix/store/jdlb06c0kp6sms277xcclfr3gdl8pb9r-binutils-2.30/bin/ld.gold:
-plugin
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/libexec/gcc/x86_64-unknown-linux-gnu/7.3.0/liblto_plugin.so
-plugin-opt=/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/libexec/gcc/x86_64-unknown-linux-gnu/7.3.0/lto-wrapper
-plugin-opt=-fresolution=/build/ccNnlge1.res
-plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc
--eh-frame-hdr
-m
elf_x86_64
-dynamic-linker
/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib64/ld-linux-x86-64.so.2
-o
../generated/linux/release/64/dmd
/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib/crt1.o
/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib/crti.o
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/crtbegin.o
-L/nix/store/r29igl9gz0r6cvb3i28xh03anx936qbl-ldcBuild-1.13.0/lib
-L/nix/store/gvmijbjia22rskv7xfm36004zsyi62mr-ldc-1.13.0/lib
-L/nix/store/6yf8cndis3p9awh5wmwplyrqv55y4y3a-gdb-8.2/lib
-L/nix/store/9vh9ysqr8hahnph1gppniv7zrdf218ds-nghttp2-1.35.0-lib/lib
-L/nix/store/nsrwlly5ikwhppcslaazp547kh7q7j6s-zlib-1.2.11/lib
-L/nix/store/yi0pwf9hybx6vhj2qdfa6krvxgvcbyi0-libkrb5-1.15.2/lib
-L/nix/store/3lk4hcp1r6pnrvf91kd5p0ni97nd2dj3-openssl-1.0.2q/lib
-L/nix/store/za7psqbn9laq73vc5rh657jqpiqn0wag-libssh2-1.8.0/lib
-L/nix/store/blrfb9855rrxva4xch4r7knwya0il5rl-curl-7.62.0/lib
-L/nix/store/9nzy5rd0mk57va1sr4br936pjk24ns8p-tzdata-2018g-dev/lib
-L/nix/store/gvmijbjia22rskv7xfm36004zsyi62mr-ldc-1.13.0/lib
-L/nix/store/6yf8cndis3p9awh5wmwplyrqv55y4y3a-gdb-8.2/lib
-L/nix/store/9vh9ysqr8hahnph1gppniv7zrdf218ds-nghttp2-1.35.0-lib/lib
-L/nix/store/nsrwlly5ikwhppcslaazp547kh7q7j6s-zlib-1.2.11/lib
-L/nix/store/yi0pwf9hybx6vhj2qdfa6krvxgvcbyi0-libkrb5-1.15.2/lib
-L/nix/store/3lk4hcp1r6pnrvf91kd5p0ni97nd2dj3-openssl-1.0.2q/lib
-L/nix/store/za7psqbn9laq73vc5rh657jqpiqn0wag-libssh2-1.8.0/lib
-L/nix/store/blrfb9855rrxva4xch4r7knwya0il5rl-curl-7.62.0/lib
-L/nix/store/9nzy5rd0mk57va1sr4br936pjk24ns8p-tzdata-2018g-dev/lib
-L/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib
-L/nix/store/x6inizi5ahlyhqxxwv1rvn05a25icarq-gcc-7.3.0-lib/lib
-L/nix/store/x6inizi5ahlyhqxxwv1rvn05a25icarq-gcc-7.3.0-lib/lib
-L/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib
-L/nix/store/klci955kxil7q32ggran6lnhpnkk8yjz-gcc-wrapper-7.3.0/bin
-L/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0
-L/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/../../../../lib64
-L/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/../../..
-dynamic-linker
/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib/ld-linux-x86-64.so.2
../generated/linux/release/64/dmd.o
../generated/linux/release/64/newdelete.o
../generated/linux/release/64/backend.a
../generated/linux/release/64/lexer.a
-lstdc++
-lphobos2-ldc
-ldruntime-ldc
--gc-sections
-lrt
-ldl
-lpthread
-rpath
/nix/store/r2xapv59sz4cpa9zy9ydzck857r6xmrx-dmdBuild-2.083.1/lib64
-rpath
/nix/store/r2xapv59sz4cpa9zy9ydzck857r6xmrx-dmdBuild-2.083.1/lib
-lstdc++
-lm
-lgcc_s
-lgcc
-lc
-lgcc_s
-lgcc
/nix/store/p7j7qg5cri229ihf8nllwjhzgbvgx5d0-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/crtend.o
/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib/crtn.o
extra flags after to
/nix/store/jdlb06c0kp6sms277xcclfr3gdl8pb9r-binutils-2.30/bin/ld.gold:
-rpath
/nix/store/xdsjx0gba4id3yyqxv66bxnm2sqixkjj-glibc-2.27/lib
-rpath
/nix/store/x6inizi5ahlyhqxxwv1rvn05a25icarq-gcc-7.3.0-lib/lib
../generated/linux/release/64/backend.a(evalu8.o):dmd/backend/evalu8.d:function evalu8(elem*, unsigned int): error: undefined reference to '_Z7_moduloeS_'
../generated/linux/release/64/backend.a(evalu8.o):dmd/backend/evalu8.d:function evalu8(elem*, unsigned int): error: undefined reference to '_Z7_moduloeS_'
../generated/linux/release/64/backend.a(evalu8.o):dmd/backend/evalu8.d:function evalu8(elem*, unsigned int): error: undefined reference to '_Z7_moduloeS_'
collect2: error: ld returned 1 exit status
More information about the Digitalmars-d
mailing list