Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用musl编译时给出:';重新定位时出错-找不到secure#u getenv:符号';_C_Linux_Gcc_Musl - Fatal编程技术网

使用musl编译时给出:';重新定位时出错-找不到secure#u getenv:符号';

使用musl编译时给出:';重新定位时出错-找不到secure#u getenv:符号';,c,linux,gcc,musl,C,Linux,Gcc,Musl,我试图在x86_64 Debian上使用v1.2.1编译一个简单的C程序 程序secgetenv.c如下所示: #define _GNU_SOURCE #include <stdlib.h> #include <stdio.h> int main() { char *res; res = secure_getenv("TEST_ENV_VAR"); fprintf(stdout, "%s\n", re

我试图在x86_64 Debian上使用v1.2.1编译一个简单的C程序

程序
secgetenv.c
如下所示:

#define _GNU_SOURCE
#include <stdlib.h> 
#include <stdio.h>

int main()
{
    char *res;

    res = secure_getenv("TEST_ENV_VAR");

    fprintf(stdout, "%s\n", res);

    return 0;
}
musl在早期补丁中添加了对
secure\u getenv
的支持,我确实在
/usr/local/x86\u 64-linux-musl/include/stdlib.h
中看到了声明:

#ifdef _GNU_SOURCE
...
char *secure_getenv(const char *);
...
#endif
src/env/secure\u getenv.c
中有相应的定义:

#define _GNU_SOURCE
#include <stdlib.h>
#include "libc.h"

char *secure_getenv(const char *name)
{
    return libc.secure ? NULL : getenv(name);
}
我尝试将
LD_LIBRARY_PATH
设置为指向
/usr/local/x86_64-linux-musl/lib
(musl的libc所在的位置),但这似乎没有解决任何问题。我尝试了一些其他的编译器选项,但似乎没有什么可以解决它。我做错什么了吗?我如何解决这个问题


我想如果我添加了编译方式,可能会很有用,下面是详细的输出:

$ /usr/local/bin/x86_64-linux-musl-gcc -v -o secgetenv-musl secgetenv.c -fPIC -ggdb
Using built-in specs.
COLLECT_GCC=/usr/local/bin/x86_64-linux-musl-gcc
COLLECT_LTO_WRAPPER=/usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/lto-wrapper
Target: x86_64-linux-musl
Configured with: ../src_gcc/configure --enable-languages=c,c++ --enable-languages=c,c++ --enable-default-pie --disable-bootstrap --disable-assembly --disable-werror --target=x86_64-linux-musl --prefix= --libdir=/lib --disable-multilib --with-sysroot=/x86_64-linux-musl --enable-tls --disable-libmudflap --disable-libsanitizer --disable-gnu-indirect-function --disable-libmpx --enable-libstdcxx-time=rt --with-build-sysroot=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_sysroot AR_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/ar AS_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/gas/as-new LD_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/ld/ld-new NM_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/nm-new OBJCOPY_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/objcopy OBJDUMP_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/objdump RANLIB_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/ranlib READELF_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/readelf STRIP_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/strip-new --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
Thread model: posix
gcc version 9.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
 /usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/cc1 -quiet -v -iprefix /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/ -isysroot /usr/local/bin/../x86_64-linux-musl secgetenv.c -quiet -dumpbase secgetenv.c -mtune=generic -march=x86-64 -auxbase secgetenv -ggdb -version -fPIC -o /tmp/cczjeoUa.s
GNU C17 (GCC) version 9.2.0 (x86_64-linux-musl)
    compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/bin/../x86_64-linux-musl/usr/local/include"
ignoring duplicate directory "/usr/local/bin/../lib/gcc/../../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/include"
ignoring nonexistent directory "/usr/local/bin/../x86_64-linux-musl/usr/include"
ignoring duplicate directory "/usr/local/bin/../lib/gcc/../../lib/gcc/x86_64-linux-musl/9.2.0/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/include
 /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/include
End of search list.
GNU C17 (GCC) version 9.2.0 (x86_64-linux-musl)
    compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 02d33dfe51251a8723bc0ce5bbca8406
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
 /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/as -v --64 -o /tmp/ccMKBInY.o /tmp/cczjeoUa.s
GNU assembler version 2.33.1 (x86_64-linux-musl) using BFD version (GNU Binutils) 2.33.1
COMPILER_PATH=/usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/:/usr/local/bin/../libexec/gcc/:/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/
LIBRARY_PATH=/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/:/usr/local/bin/../lib/gcc/:/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/:/usr/local/bin/../x86_64-linux-musl/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
 /usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/collect2 -plugin /usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/liblto_plugin.so -plugin-opt=/usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjHWTRL.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/usr/local/bin/../x86_64-linux-musl --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib/ld-musl-x86_64.so.1 -pie -o secgetenv-musl /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/Scrt1.o /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/crti.o /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/crtbeginS.o -L/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0 -L/usr/local/bin/../lib/gcc -L/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib -L/usr/local/bin/../x86_64-linux-musl/lib /tmp/ccMKBInY.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/crtendS.o /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/crtn.o
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
$/usr/local/bin/x86_64-linux-musl-gcc-v-o secgetenv musl secgetenv.c-fPIC-ggdb
使用内置规格。
COLLECT_GCC=/usr/local/bin/x86_64-linux-musl-GCC
COLLECT_LTO_WRAPPER=/usr/local/bin/。/libexec/gcc/x86_64-linux-musl/9.2.0/LTO-WRAPPER
目标:x86_64-linux-musl
配置为:./SrcIGcc/Objt-启用语言= C,C++ +使能语言= C,CC++——禁用Bootstrap——禁用汇编——禁用WError——目标=X86Y64-LIUX-MULL——前缀=-LBDIr=/LIB——禁用多个LIB——用SysRoots//X86Y64-LIUX-MULL——启用TLS-禁用LBMULTFEL禁用LBSAIIZER——禁用GNU间接函数——禁用LBMPX——启用LIbSTDCXX时间= RT--使用build sysroot=/home//musl cross-make/build/local/x86_64-linux-musl/obj_sysroot AR_FOR_TARGET=/home//musl cross-make/build/local/x86_64-linux-musl/obj_binutils/AR作为_FOR_TARGET=/home//musl cross make/build/local/x86_64-linux-musl/obj_binutils/gas/AS newLD_FOR_TARGET=/home//musl cross-make/build/local/x86_64-linux-musl/obj_binutils/LD/LD new NM_FOR_TARGET=/home//musl cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/NM new OBJCOPY_FOR_TARGET=/home////musl cross make/build/local/local/x86_-linux-musl/obj_binutils/obj_binutils/jcopyOBJDUMP_FOR_TARGET=/home//musl cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/OBJDUMP RANLIB_FOR_TARGET=/home//musl cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/RANLIB READELF_FOR_TARGET=/home////musl cross make/build/local/x86_-linux-musl/obj_binutils/binutils/READELFSTRIP_FOR_TARGET=/home//musl cross make/build/local/x86_64-linux-musl/obj_binutils/binutils/STRIP new--build=x86_64-pc-linux-gnu--host=x86_64-pc-linux-gnu
线程模型:posix
gcc版本9.2.0(gcc)
COLLECT_GCC_OPTIONS='-v'-o''secgetenv musl'-fPIC'-ggdb'-mtune=generic'-march=x86-64'
/usr/local/bin/./libexec/gcc/x86_64-linux-musl/9.2.0/cc1-quiet-v-iprefix/usr/local/bin/./lib/gcc/x86_64-linux-musl/9.2.0/-isysroot/usr/local/bin/./x86_64-linux-musl secgetenv.c-quiet-dumpbase secgetenv.c-mtune=generic-mary-march=ex86-64-auxbase secgetenv-ggdb-version-fPIC-o/tmp/cczua.s
GNU C17(GCC)9.2.0版(x86_64-linux-musl)
由GNU C版本8.3.0、GMP版本6.1.2、MPFR版本4.0.2、MPC版本1.1.0、isl版本无编译
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
忽略不存在的目录“/usr/local/bin/。/x86_64-linux-musl/usr/local/include”
忽略重复目录“/usr/local/bin/./lib/gcc/../../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/include”
忽略不存在的目录“/usr/local/bin/。/x86_64-linux-musl/usr/include”
忽略重复目录“/usr/local/bin/./lib/gcc/../../lib/gcc/x86_64-linux-musl/9.2.0/include”
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/usr/local/bin/./lib/gcc/x86_64-linux-musl/9.2.0/../../../../../../x86_64-linux-musl/include
/usr/local/bin/。/lib/gcc/x86_64-linux-musl/9.2.0/include
搜索列表结束。
GNU C17(GCC)9.2.0版(x86_64-linux-musl)
由GNU C版本8.3.0、GMP版本6.1.2、MPFR版本4.0.2、MPC版本1.1.0、isl版本无编译
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
编译器可执行校验和:02d33dfe51251a8723bc0ce5bbca8406
COLLECT_GCC_OPTIONS='-v'-o''secgetenv musl'-fPIC'-ggdb'-mtune=generic'-march=x86-64'
/usr/local/bin/./lib/gcc/x86_64-linux-musl/9.2.0/../../../../../../../../x86_64-linux-musl/bin/as-v--64-o/tmp/ccMKBInY.o/tmp/cczjeoUa.s
使用BFD版本(GNU Binutils)2.33.1的GNU汇编程序版本2.33.1(x86_64-linux-musl)
编译器_PATH=/usr/local/bin/。/libexec/gcc/x86_64-linux-musl/9.2.0/:/usr/local/bin/。/libexec/gcc/:/usr/local/bin/。/lib/gcc/x86_64-linux-musl/9.2.0/。/../../../../x86_64-linux-musl/bin/
LIBRARY_PATH=/usr/local/bin/。/lib/gcc/x86_64-linux-musl/9.2.0/:/usr/local/bin/。/lib/gcc/:/usr/local/bin/。/lib/gcc/x86_64-linux-musl/9.2.0/。/../../../../x86_64-linux-musl/lib/:/usr/local bin/。/x86_64-linux-musl/lib/
COLLECT_GCC_OPTIONS='-v'-o''secgetenv musl'-fPIC'-ggdb'-mtune=generic'-march=x86-64'
/usr/local/bin/。/libexec/gcc/x86_64-linux-musl/9.2.0/collect2-plugin/usr/local/bin/。/libexec/gcc/x86_64-linux-musl/9.2.0/liblto_plugin.so-plugin opt=/usr/local/bin/。/libexec/gcc/x86_64-linux-musl/9.2.0/lto-wrapper-plugin-opt=-fresolution=-tmp/ccjHWTRL.res-plugin=-pass=-pass=-through=-lgcc=-lgcc=-plugin-plugin opt=-pass through=-lc-plugin opt=-pass through=-lgcc_s--sysroot=/usr/local/bin//x86_64-linux-musl--eh frame hdr-m elf_x86_64-动态链接器/lib/ld-musl-x86_64.so.1-pie-o secgetenv musl/usr/local/bin//lib/gcc/x86_64-linux-musl/9.2.0/../../..///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$ readelf -s /usr/local/x86_64-linux-musl/lib/libc.so | grep secure
  1461: 0000000000020e0d    17 FUNC    GLOBAL DEFAULT    8 secure_getenv
   358: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS secure_getenv.c
  2275: 0000000000020e0d    17 FUNC    GLOBAL DEFAULT    8 secure_getenv
$ /usr/local/bin/x86_64-linux-musl-gcc -v -o secgetenv-musl secgetenv.c -fPIC -ggdb
Using built-in specs.
COLLECT_GCC=/usr/local/bin/x86_64-linux-musl-gcc
COLLECT_LTO_WRAPPER=/usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/lto-wrapper
Target: x86_64-linux-musl
Configured with: ../src_gcc/configure --enable-languages=c,c++ --enable-languages=c,c++ --enable-default-pie --disable-bootstrap --disable-assembly --disable-werror --target=x86_64-linux-musl --prefix= --libdir=/lib --disable-multilib --with-sysroot=/x86_64-linux-musl --enable-tls --disable-libmudflap --disable-libsanitizer --disable-gnu-indirect-function --disable-libmpx --enable-libstdcxx-time=rt --with-build-sysroot=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_sysroot AR_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/ar AS_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/gas/as-new LD_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/ld/ld-new NM_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/nm-new OBJCOPY_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/objcopy OBJDUMP_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/objdump RANLIB_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/ranlib READELF_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/readelf STRIP_FOR_TARGET=/home/<user>/musl-cross-make/build/local/x86_64-linux-musl/obj_binutils/binutils/strip-new --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
Thread model: posix
gcc version 9.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
 /usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/cc1 -quiet -v -iprefix /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/ -isysroot /usr/local/bin/../x86_64-linux-musl secgetenv.c -quiet -dumpbase secgetenv.c -mtune=generic -march=x86-64 -auxbase secgetenv -ggdb -version -fPIC -o /tmp/cczjeoUa.s
GNU C17 (GCC) version 9.2.0 (x86_64-linux-musl)
    compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/bin/../x86_64-linux-musl/usr/local/include"
ignoring duplicate directory "/usr/local/bin/../lib/gcc/../../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/include"
ignoring nonexistent directory "/usr/local/bin/../x86_64-linux-musl/usr/include"
ignoring duplicate directory "/usr/local/bin/../lib/gcc/../../lib/gcc/x86_64-linux-musl/9.2.0/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/include
 /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/include
End of search list.
GNU C17 (GCC) version 9.2.0 (x86_64-linux-musl)
    compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 02d33dfe51251a8723bc0ce5bbca8406
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
 /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/as -v --64 -o /tmp/ccMKBInY.o /tmp/cczjeoUa.s
GNU assembler version 2.33.1 (x86_64-linux-musl) using BFD version (GNU Binutils) 2.33.1
COMPILER_PATH=/usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/:/usr/local/bin/../libexec/gcc/:/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/
LIBRARY_PATH=/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/:/usr/local/bin/../lib/gcc/:/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/:/usr/local/bin/../x86_64-linux-musl/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
 /usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/collect2 -plugin /usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/liblto_plugin.so -plugin-opt=/usr/local/bin/../libexec/gcc/x86_64-linux-musl/9.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjHWTRL.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/usr/local/bin/../x86_64-linux-musl --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib/ld-musl-x86_64.so.1 -pie -o secgetenv-musl /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/Scrt1.o /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/crti.o /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/crtbeginS.o -L/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0 -L/usr/local/bin/../lib/gcc -L/usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib -L/usr/local/bin/../x86_64-linux-musl/lib /tmp/ccMKBInY.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/crtendS.o /usr/local/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/lib/crtn.o
COLLECT_GCC_OPTIONS='-v' '-o' 'secgetenv-musl' '-fPIC' '-ggdb' '-mtune=generic' '-march=x86-64'
$ musl-ldd secgetenv-musl 
    /lib/ld-musl-x86_64.so.1 (0x7f7872779000)
    libc.so => /lib/ld-musl-x86_64.so.1 (0x7f7872779000)
Error relocating secgetenv-musl: secure_getenv: symbol not found