mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-10 06:03:31 +02:00
maint: tests: refactor gcc commands for building shared lib
* init.cfg (gcc_shared_): A new function refactored from tests. (require_gcc_shared_): Adjust to call gcc_shared_() to build the test library, and remove that library before the function returns. * tests/cp/nfs-removal-race.sh: Call the new gcc_shared_(). * tests/df/no-mtab-status.sh: Likewise. * tests/df/skip-duplicates.sh: Likewise. * tests/ls/getxattr-speedup.sh: Likewise. * tests/rm/r-root.sh: Likewise.
This commit is contained in:
15
init.cfg
15
init.cfg
@@ -500,13 +500,26 @@ require_sparse_support_()
|
||||
fi
|
||||
}
|
||||
|
||||
# Compile a shared lib using the GCC options for doing so.
|
||||
# Pass input and output file as parameters respectively.
|
||||
# Any other optional parmeters are passed to $CC.
|
||||
gcc_shared_()
|
||||
{
|
||||
local in=$1
|
||||
local out=$2
|
||||
shift 2 || return 1
|
||||
|
||||
$CC -Wall -shared --std=gnu99 -fPIC -ldl -O2 $* "$in" -o "$out"
|
||||
}
|
||||
|
||||
# There are a myriad of ways to build shared libs,
|
||||
# so we only consider running tests requiring shared libs,
|
||||
# on platforms that support building them as follows.
|
||||
require_gcc_shared_()
|
||||
{
|
||||
$CC -shared -fPIC -O2 -xc -o d.so -ldl - < /dev/null 2>&1 \
|
||||
gcc_shared_ '-' 'd.so' -xc < /dev/null 2>&1 \
|
||||
|| skip_ '$CC -shared ... failed to build a shared lib'
|
||||
rm -f d.so
|
||||
}
|
||||
|
||||
mkfifo_or_skip_()
|
||||
|
||||
@@ -58,7 +58,7 @@ __xstat (int ver, const char *path, struct stat *st)
|
||||
EOF
|
||||
|
||||
# Then compile/link it:
|
||||
$CC -shared -fPIC -O2 k.c -o k.so -ldl \
|
||||
gcc_shared_ k.c k.so \
|
||||
|| framework_failure_ 'failed to build shared library'
|
||||
|
||||
touch d2 || framework_failure_
|
||||
|
||||
@@ -45,7 +45,7 @@ struct mntent *getmntent (FILE *fp)
|
||||
EOF
|
||||
|
||||
# Then compile/link it:
|
||||
$CC -shared -fPIC -ldl -O2 k.c -o k.so \
|
||||
gcc_shared_ k.c k.so \
|
||||
|| framework_failure_ 'failed to build shared library'
|
||||
|
||||
# Test if LD_PRELOAD works:
|
||||
|
||||
@@ -60,7 +60,7 @@ struct mntent *getmntent (FILE *fp)
|
||||
EOF
|
||||
|
||||
# Then compile/link it:
|
||||
gcc --std=gnu99 -shared -fPIC -ldl -O2 k.c -o k.so \
|
||||
gcc_shared_ k.c k.so \
|
||||
|| framework_failure_ 'failed to build shared library'
|
||||
|
||||
# Test if LD_PRELOAD works:
|
||||
|
||||
@@ -48,7 +48,7 @@ ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size)
|
||||
EOF
|
||||
|
||||
# Then compile/link it:
|
||||
$CC -shared -fPIC -O2 k.c -o k.so \
|
||||
gcc_shared_ k.c k.so \
|
||||
|| framework_failure_ 'failed to build shared library'
|
||||
|
||||
# Create a few files:
|
||||
|
||||
@@ -60,7 +60,7 @@ int unlinkat (int dirfd, const char *pathname, int flags)
|
||||
EOF
|
||||
|
||||
# Then compile/link it:
|
||||
gcc -Wall --std=gnu99 -shared -fPIC -ldl -O2 k.c -o k.so \
|
||||
gcc_shared_ k.c k.so \
|
||||
|| framework_failure_ 'failed to build shared library'
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user