mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] Compile gcc-12 with musl and report errors
@ 2023-02-13 12:17 花静云
  2023-02-13 14:12 ` alice
  0 siblings, 1 reply; 5+ messages in thread
From: 花静云 @ 2023-02-13 12:17 UTC (permalink / raw)
  To: musl

[-- Attachment #1: Type: text/plain, Size: 2258 bytes --]

Hi:
   I installed the Alpine Linux system on the x86_64 platform, and exposed a problem when compiling gcc 12 using musl (master branch) in this system:
​/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: d/common-outbuffer.o: in function `_D3dmd6common4file__T11FileMappingThZQq6__ctorMFNbNcxPaZSQCdQCcQBy__TQBwThZQCc':
outbuffer.d:(.text+0x29f): undefined reference to `mmap64'
 
I uploaded more detailed logs to gcc_ build_ Error.log file,and other information is as follows:
1、linux-lts(kernel)version:6.1.10-r0
2、gcc version:12.2.1_git20220924-r9
3、binutils version:binutils-2.40-r4
4、musl:master branch and commit is f47a8cdd250d9163fcfb39bf4e9d813957c0b187

I suspect that the error is caused by the difference of the musl code,When I checked musl source, I found that there was a big difference between the master branch code and the v1.2.3 version code. For example, a large number of weaks_alias were removed during the 246f1c811448f37a44b41cd8df8d0ef9736d95f4 commit,include “weak_alias(mmap, mmap64);” in src/mman/mmap.c.

I want to compile gcc 12 based on musl (master branch). and I try to apply the old code to the latest branch, but this seems to be not a wise choice. so I share this error and look forward to some suggestions from the community experts.

I'm Looking forward to your reply,thanks.

Jingyun Hua




本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 
This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. 

[-- Attachment #2: gcc_build_error.log --]
[-- Type: text/plain, Size: 24488 bytes --]

x86_64-alpine-linux-musl-gdc -no-pie -lstdc++   -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Wl,--as-needed,-O1,--sort-common -static-libphobos -o d21 \
	d/access.o d/aggregate.o d/aliasthis.o d/apply.o d/arrayop.o d/arraytypes.o d/attrib.o d/ast_node.o d/astcodegen.o d/astenums.o d/blockexit.o d/builtin.o d/canthrow.o d/chkformat.o d/clone.o d/common-bitfields.o d/common-file.o d/common-outbuffer.o d/common-string.o d/compiler.o d/cond.o d/constfold.o d/cparse.o d/cppmangle.o d/ctfeexpr.o d/ctorflow.o d/dcast.o d/dclass.o d/declaration.o d/delegatize.o d/denum.o d/dimport.o d/dinterpret.o d/dmacro.o d/dmangle.o d/dmodule.o d/doc.o d/dscope.o d/dstruct.o d/dsymbol.o d/dsymbolsem.o d/dtemplate.o d/dtoh.o d/dversion.o d/entity.o d/errors.o d/escape.o d/expression.o d/expressionsem.o d/file_manager.o d/foreachvar.o d/func.o d/globals.o d/gluelayer.o d/hdrgen.o d/iasm.o d/iasmgcc.o d/id.o d/identifier.o d/impcnvtab.o d/imphint.o d/importc.o d/init.o d/initsem.o d/inline.o d/intrange.o d/json.o d/lambdacomp.o d/lexer.o d/mtype.o d/mustuse.o d/nogc.o d/nspace.o d/ob.o d/objc.o d/opover.o d/optimize.o d/parse.o d/parsetimevisitor.o d/permissivevisitor.o d/printast.o d/root-aav.o d/root-array.o d/root-bitarray.o d/root-complex.o d/root-ctfloat.o d/root-file.o d/root-filename.o d/root-hash.o d/root-longdouble.o d/root-optional.o d/root-port.o d/root-region.o d/root-rmem.o d/root-rootobject.o d/root-speller.o d/root-string.o d/root-stringtable.o d/root-utf.o d/safe.o d/sapply.o d/semantic2.o d/semantic3.o d/sideeffect.o d/statement.o d/statement_rewrite_walker.o d/statementsem.o d/staticassert.o d/staticcond.o d/stmtstate.o d/target.o d/templateparamsem.o d/tokens.o d/traits.o d/transitivevisitor.o d/typesem.o d/typinf.o d/utils.o d/visitor.o d/d-attribs.o d/d-builtins.o d/d-codegen.o d/d-compiler.o d/d-convert.o d/d-ctfloat.o d/d-diagnostic.o d/d-frontend.o d/d-gimplify.o d/d-incpath.o d/d-lang.o d/d-longdouble.o d/d-port.o d/d-target.o d/decl.o d/expr.o d/imports.o d/intrinsics.o d/modules.o d/runtime.o d/toir.o d/typeinfo.o d/types.o i386-d.o glibc-d.o attribs.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lisl -lmpc -lmpfr -lgmp -rdynamic  -lz -lzstd 
g++ -std=c++11 -no-pie   -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Wl,--as-needed,-O1,--sort-common -o lto1 \
	lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o lto/lto-common.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -lisl -lmpc -lmpfr -lgmp -rdynamic  -lz -lzstd  libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a 
g++ -std=c++11 -no-pie   -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Wl,--as-needed,-O1,--sort-common -o lto-dump \
	lto/lto-lang.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o lto/lto-dump.o lto/lto-common.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -lisl -lmpc -lmpfr -lgmp -rdynamic  -lz -lzstd  libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a 
g++ -std=c++11  -fno-PIE -c  -DIN_GCC_FRONTEND -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -I. -I. -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/. -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../include -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libcpp/include -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libcody  -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libdecnumber -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libdecnumber/bid -I../libdecnumber -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libbacktrace  -Os -fomit-frame-pointer -O2 -o cc1-checksum.o -MT cc1-checksum.o -MMD -MP -MF ./.deps/cc1-checksum.TPo cc1-checksum.cc
g++ -std=c++11  -fno-PIE -c  -DIN_GCC_FRONTEND -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -I. -I. -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/. -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../include -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libcpp/include -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libcody  -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libdecnumber -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libdecnumber/bid -I../libdecnumber -I/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../libbacktrace  -Os -fomit-frame-pointer -O2 -o cc1plus-checksum.o -MT cc1plus-checksum.o -MMD -MP -MF ./.deps/cc1plus-checksum.TPo cc1plus-checksum.cc
g++ -std=c++11 -no-pie   -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Wl,--as-needed,-O1,--sort-common -o cc1 c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c/c-fold.o c/gimple-parser.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-ubsan.o c-family/known-headers.o c-family/c-attribs.o c-family/c-warn.o c-family/c-spellcheck.o i386-c.o glibc-c.o \
  cc1-checksum.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lisl -lmpc -lmpfr -lgmp -rdynamic  -lz -lzstd 
g++ -std=c++11 -no-pie   -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Wl,--as-needed,-O1,--sort-common -o cc1plus \
      cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/class.o cp/constexpr.o cp/constraint.o cp/coroutines.o cp/cp-gimplify.o cp/cp-objcp-common.o cp/cp-ubsan.o cp/cvt.o cp/cxx-pretty-print.o cp/decl.o cp/decl2.o cp/dump.o cp/error.o cp/except.o cp/expr.o cp/friend.o cp/init.o cp/lambda.o cp/lex.o cp/logic.o cp/mangle.o cp/mapper-client.o cp/mapper-resolver.o cp/method.o cp/module.o cp/name-lookup.o cp/optimize.o cp/parser.o cp/pt.o cp/ptree.o cp/rtti.o cp/search.o cp/semantics.o cp/tree.o cp/typeck.o cp/typeck2.o cp/vtable-class-hierarchy.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-ubsan.o c-family/known-headers.o c-family/c-attribs.o c-family/c-warn.o c-family/c-spellcheck.o i386-c.o glibc-c.o cc1plus-checksum.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcody/libcody.a  \
	libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lisl -lmpc -lmpfr -lgmp -rdynamic  -lz -lzstd 
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: d/common-outbuffer.o: in function `_D3dmd6common4file__T11FileMappingThZQq6__ctorMFNbNcxPaZSQCdQCcQBy__TQBwThZQCc':
outbuffer.d:(.text+0x29f): undefined reference to `mmap64'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: d/common-outbuffer.o: in function `_D3dmd6common4file__T11FileMappingTxhZQr6__ctorMFNbNcxPaZSQCeQCdQBz__TQBxTxhZQCe':
outbuffer.d:(.text+0x65c): undefined reference to `mmap64'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: d/common-outbuffer.o: in function `_D3dmd6common4file__T11FileMappingThZQq6resizeMFNaNbmZ9__lambda2MFNbNiZv':
outbuffer.d:(.text+0x1d97): undefined reference to `mmap64'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../lib/libgphobos.a(os.o): in function `_D4core8internal2gc2os10os_mem_mapFNbNimbZPv':
(.text._D4core8internal2gc2os10os_mem_mapFNbNimbZPv+0x2a): undefined reference to `mmap64'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../lib/libgphobos.a(fiber.o): in function `_D4core6thread5fiber5Fiber10allocStackMFNbmmZv':
(.text._D4core6thread5fiber5Fiber10allocStackMFNbmmZv+0x6f): undefined reference to `mmap64'
echo | /home/alpine/aports/main/gcc/src/build/./gcc/xgcc -B/home/alpine/aports/main/gcc/src/build/./gcc/ -E -dM - | \
  sed -n -e 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p' \
	 -e 's/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \
  sort -u > tmp-macro_list
/bin/sh /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../move-if-change tmp-macro_list macro_list
echo timestamp > s-macro_list
rm -rf include-fixed; mkdir include-fixed
chmod a+rx include-fixed
if [ -d ../prev-gcc ]; then \
  cd ../prev-gcc && \
  make real-install-headers-tar DESTDIR=`pwd`/../gcc/ \
    libsubdir=. ; \
else \
  set -e; for ml in `cat fixinc_list`; do \
    sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \
    multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
    fix_dir=include-fixed${multi_dir}; \
    if ! false && test ! -d `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`; then \
      echo The directory that should contain system headers does not exist: >&2 ; \
      echo "  `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" >&2 ; \
      tooldir_sysinc=`echo "/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \
      if test "x`echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" = "x${tooldir_sysinc}"; \
      then sleep 1; else exit 1; fi; \
    fi; \
    /bin/sh /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../mkinstalldirs ${fix_dir}; \
    chmod a+rx ${fix_dir} || true; \
    (TARGET_MACHINE='x86_64-alpine-linux-musl'; srcdir=`cd /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc; ${PWDCMD-pwd}`; \
      SHELL='/bin/sh'; MACRO_LIST=`${PWDCMD-pwd}`/macro_list ; \
      gcc_dir=`${PWDCMD-pwd}` ; \
      export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
      cd ../build-x86_64-alpine-linux-musl/fixincludes && \
      /bin/sh ./fixinc.sh "${gcc_dir}/${fix_dir}" \
        `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`  ); \
    rm -f ${fix_dir}/syslimits.h; \
    if [ -f ${fix_dir}/limits.h ]; then \
      mv ${fix_dir}/limits.h ${fix_dir}/syslimits.h; \
    else \
      cp /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/gsyslimits.h ${fix_dir}/syslimits.h; \
    fi; \
    chmod a+r ${fix_dir}/syslimits.h; \
  done; \
fi
echo timestamp > stmp-fixinc
if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi
for file in .. /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/float.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/iso646.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdarg.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdbool.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stddef.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/varargs.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdfix.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdnoreturn.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdalign.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdatomic.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/cpuid.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/mmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/mm3dnow.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xmmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/emmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/pmmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/tmmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/ammintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/smmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/nmmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/bmmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/fma4intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/wmmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/immintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/x86intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avxintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xopintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/ia32intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/cross-stdarg.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/lwpintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/popcntintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/lzcntintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/bmiintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/bmi2intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/tbmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx2intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512fintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/fmaintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/f16cintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/rtmintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xtestintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/rdseedintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/prfchwintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/adxintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/fxsrintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xsaveintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xsaveoptintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512cdintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512erintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512pfintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/shaintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/clflushoptintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xsavecintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/xsavesintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512dqintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512bwintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vlbwintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vldqintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512ifmaintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512ifmavlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vbmiintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vbmivlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx5124fmapsintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx5124vnniwintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vpopcntdqintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/clwbintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/mwaitxintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/clzerointrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/pkuintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/sgxintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/cetintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/gfniintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/cet.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vbmi2intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vbmi2vlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vnniintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vnnivlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/vaesintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/vpclmulqdqintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vpopcntdqvlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512bitalgintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/pconfigintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/wbnoinvdintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/movdirintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/waitpkgintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/cldemoteintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512bf16vlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512bf16intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/enqcmdintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/serializeintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vp2intersectintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512vp2intersectvlintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/tsxldtrkintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/amxtileintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/amxint8intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/amxbf16intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/x86gprintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/uintrintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/hresetintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/keylockerintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avxvnniintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/mwaitintrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512fp16intrin.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/config/i386/avx512fp16vlintrin.h mm_malloc.h; do \
  if [ X$file != X.. ]; then \
    realfile=`echo $file | sed -e 's|.*/\([^/]*\)$|\1|'`; \
    echo timestamp > include/$realfile; \
    rm -f include/$realfile; \
    cp $file include; \
    chmod a+r include/$realfile; \
  fi; \
done
collect2: error: ld returned 1 exit status
make[3]: *** [/home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/d/Make-lang.in:230: d21] Error 1
make[3]: *** Waiting for unfinished jobs....
for file in .. ; do \
  if [ X$file != X.. ]; then \
            mv include/$file include/x_$file; \
            echo "#include_next <$file>" >include/$file; \
            cat include/x_$file >>include/$file; \
            rm -f include/x_$file; \
    chmod a+r include/$file; \
  fi; \
done
for file in .. ; do \
  if [ X$file != X.. ]; then \
    echo "#include_next <$file>" >>include/$file; \
    chmod a+r include/$file; \
  fi; \
done
rm -f include/stdint.h
if [ wrap = wrap ]; then \
  rm -f include/stdint-gcc.h; \
  cp /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdint-gcc.h include/stdint-gcc.h; \
  chmod a+r include/stdint-gcc.h; \
  cp /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdint-wrap.h include/stdint.h; \
  chmod a+r include/stdint.h; \
elif [ wrap = provide ]; then \
  cp /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/ginclude/stdint-gcc.h include/stdint.h; \
  chmod a+r include/stdint.h; \
fi
set -e; for ml in `cat fixinc_list`; do \
  sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \
  multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
  fix_dir=include-fixed${multi_dir}; \
  if [ -f `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`/limits.h ] ; then \
    cat /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/limitx.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/glimits.h /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/limity.h > tmp-xlimits.h; \
  else \
    cat /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/glimits.h > tmp-xlimits.h; \
  fi; \
  /bin/sh /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../mkinstalldirs ${fix_dir}; \
  chmod a+rx ${fix_dir} || true; \
  /bin/sh /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../move-if-change \
    tmp-xlimits.h  tmp-limits.h; \
  rm -f ${fix_dir}/limits.h; \
  cp -p tmp-limits.h ${fix_dir}/limits.h; \
  chmod a+r ${fix_dir}/limits.h; \
done
rm -f include-fixed/README
cp /home/alpine/aports/main/gcc/src/gcc-12-20220924/gcc/../fixincludes/README-fixinc include-fixed/README
chmod a+r include-fixed/README
echo timestamp > stmp-int-hdrs
rm gfdl.pod gcc.pod gcov-dump.pod gcov-tool.pod fsf-funding.pod gpl.pod cpp.pod gcov.pod lto-dump.pod gdc.pod
make[3]: Leaving directory '/home/alpine/aports/main/gcc/src/build/gcc'
make[2]: *** [Makefile:4963: all-stage1-gcc] Error 2
make[2]: Leaving directory '/home/alpine/aports/main/gcc/src/build'
make[1]: *** [Makefile:28613: stage1-bubble] Error 2
make[1]: Leaving directory '/home/alpine/aports/main/gcc/src/build'
make: *** [Makefile:1075: all] Error 2



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [musl] Compile gcc-12 with musl and report errors
  2023-02-13 12:17 [musl] Compile gcc-12 with musl and report errors 花静云
@ 2023-02-13 14:12 ` alice
  2023-02-13 14:17   ` David Wang
  2023-02-13 14:23   ` Rich Felker
  0 siblings, 2 replies; 5+ messages in thread
From: alice @ 2023-02-13 14:12 UTC (permalink / raw)
  To: musl

On Mon Feb 13, 2023 at 1:17 PM CET, 花静云 wrote:
> Hi:
> I installed the Alpine Linux system on the x86_64 platform, and exposed a
> problem when compiling gcc 12 using musl (master branch) in this system:
> ​/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: d/common-outbuffer.o: in function `_D3dmd6common4file__T11FileMappingThZQq6__ctorMFNbNcxPaZSQCdQCcQBy__TQBwThZQCc':
> outbuffer.d:(.text+0x29f): undefined reference to `mmap64'
>  
> I uploaded more detailed logs to gcc_ build_ Error.log file,and other information is as follows:
> 1、linux-lts(kernel)version:6.1.10-r0
> 2、gcc version:12.2.1_git20220924-r9
> 3、binutils version:binutils-2.40-r4
> 4、musl:master branch and commit is f47a8cdd250d9163fcfb39bf4e9d813957c0b187
>
> I suspect that the error is caused by the difference of the musl code,When
> I checked musl source, I found that there was a big difference between the
> master branch code and the v1.2.3 version code. For example, a large number of
> weaks_alias were removed during the 246f1c811448f37a44b41cd8df8d0ef9736d95f4
> commit,include “weak_alias(mmap, mmap64);” in src/mman/mmap.c.

yes, as that commit says, this was intentional. code is _not_ meant to call
these *64 functions that were removed- code should unconditionally call `mmap`
and use -D_FILE_OFFSET_BITS=64 (for C) . so, gcc (the D frontend here) needs fixing.

specifically, it's libphobos/libdruntime/core/sys/posix/sys/mman.d ,

where:

 else version (CRuntime_Musl)
 {
     static if (__USE_LARGEFILE64) void* mmap64(void*, size_t, int, int, int, off_t);
     static if (__USE_FILE_OFFSET64)
         alias mmap = mmap64;
     else
         void* mmap(void*, size_t, int, int, int, off_t);
     int munmap(void*, size_t);
 }

probably does something like expose the mmap64 symbol (no idea what this code means).
maybe __USE_LARGEFILE64 has to be unset for it?

>
> I want to compile gcc 12 based on musl (master branch). and I try to apply
> the old code to the latest branch, but this seems to be not a wise choice.
> so I share this error and look forward to some suggestions from the community
> experts.
>
> I'm Looking forward to your reply,thanks.
>
> Jingyun Hua
>
>
>
>
> 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 
> This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [musl] Compile gcc-12 with musl and report errors
  2023-02-13 14:12 ` alice
@ 2023-02-13 14:17   ` David Wang
  2023-02-13 14:26     ` Rich Felker
  2023-02-13 14:23   ` Rich Felker
  1 sibling, 1 reply; 5+ messages in thread
From: David Wang @ 2023-02-13 14:17 UTC (permalink / raw)
  To: musl





在 2023-02-13 22:12:38,"alice" <alice@ayaya.dev> 写道:

>> 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 
>> This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. 


What the hack is this? Isn't this mailing list public?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [musl] Compile gcc-12 with musl and report errors
  2023-02-13 14:12 ` alice
  2023-02-13 14:17   ` David Wang
@ 2023-02-13 14:23   ` Rich Felker
  1 sibling, 0 replies; 5+ messages in thread
From: Rich Felker @ 2023-02-13 14:23 UTC (permalink / raw)
  To: alice; +Cc: musl

On Mon, Feb 13, 2023 at 03:12:38PM +0100, alice wrote:
> On Mon Feb 13, 2023 at 1:17 PM CET, 花静云 wrote:
> > Hi:
> > I installed the Alpine Linux system on the x86_64 platform, and exposed a
> > problem when compiling gcc 12 using musl (master branch) in this system:
> > ​/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: d/common-outbuffer.o: in function `_D3dmd6common4file__T11FileMappingThZQq6__ctorMFNbNcxPaZSQCdQCcQBy__TQBwThZQCc':
> > outbuffer.d:(.text+0x29f): undefined reference to `mmap64'
> >  
> > I uploaded more detailed logs to gcc_ build_ Error.log file,and other information is as follows:
> > 1、linux-lts(kernel)version:6.1.10-r0
> > 2、gcc version:12.2.1_git20220924-r9
> > 3、binutils version:binutils-2.40-r4
> > 4、musl:master branch and commit is f47a8cdd250d9163fcfb39bf4e9d813957c0b187
> >
> > I suspect that the error is caused by the difference of the musl code,When
> > I checked musl source, I found that there was a big difference between the
> > master branch code and the v1.2.3 version code. For example, a large number of
> > weaks_alias were removed during the 246f1c811448f37a44b41cd8df8d0ef9736d95f4
> > commit,include “weak_alias(mmap, mmap64);” in src/mman/mmap.c.
> 
> yes, as that commit says, this was intentional. code is _not_ meant to call
> these *64 functions that were removed- code should unconditionally call `mmap`
> and use -D_FILE_OFFSET_BITS=64 (for C) . so, gcc (the D frontend here) needs fixing.
> 
> specifically, it's libphobos/libdruntime/core/sys/posix/sys/mman.d ,
> 
> where:
> 
>  else version (CRuntime_Musl)
>  {
>      static if (__USE_LARGEFILE64) void* mmap64(void*, size_t, int, int, int, off_t);
>      static if (__USE_FILE_OFFSET64)
>          alias mmap = mmap64;
>      else
>          void* mmap(void*, size_t, int, int, int, off_t);
>      int munmap(void*, size_t);
>  }
> 
> probably does something like expose the mmap64 symbol (no idea what this code means).
> maybe __USE_LARGEFILE64 has to be unset for it?

Well, it's a bug that they're poking at glibc-internal macros (and
possibly defining these themselves?) rather than performing a
configure test. Especially since they apparently hardcoded as
CRuntime_Musl profile with wrong information about musl...

Assuming they don't want to fix the hard-coding, the above should just
be (and should always have been):

else version (CRuntime_Musl)
{
    void* mmap(void*, size_t, int, int, int, off_t);
    int munmap(void*, size_t);
}

with no mention of mmap64 or glibc macros.

Anyone up for sending a bug report and patch to gcc (or perhaps dmd
upstream)?

In any case, unless you're using the D language, this entire problem
can be avoided by just not enabling it in --enable-languages.

Rich

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [musl] Compile gcc-12 with musl and report errors
  2023-02-13 14:17   ` David Wang
@ 2023-02-13 14:26     ` Rich Felker
  0 siblings, 0 replies; 5+ messages in thread
From: Rich Felker @ 2023-02-13 14:26 UTC (permalink / raw)
  To: David Wang; +Cc: musl

On Mon, Feb 13, 2023 at 10:17:31PM +0800, David Wang wrote:
> 
> 在 2023-02-13 22:12:38,"alice" <alice@ayaya.dev> 写道:
> 
> >> 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列
> >> 出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部
> >> 分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请
> >> 您立即电话或邮件通知发件人并删除本邮件。
> >> This email and its attachments contain confidential information
> >> from Loongson Technology , which is intended only for the person
> >> or entity whose address is listed above. Any use of the
> >> information contained herein in any way (including, but not
> >> limited to, total or partial disclosure, reproduction or
> >> dissemination) by persons other than the intended recipient(s) is
> >> prohibited. If you receive this email in error, please notify the
> >> sender by phone or email immediately and delete it.
> 
> 
> What the hack is this? Isn't this mailing list public?

Yes those mail footers are obnoxious and incorrect and should be
yeeted into the sun, but at this point I don't think it helps anyone
bringing it up every time one appears. And the folks whose mails
include them usually have no control over it; it's forced on them
either by policy or technical measures of their mail systems. :(

Rich

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-13 14:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-13 12:17 [musl] Compile gcc-12 with musl and report errors 花静云
2023-02-13 14:12 ` alice
2023-02-13 14:17   ` David Wang
2023-02-13 14:26     ` Rich Felker
2023-02-13 14:23   ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).