mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Update.
* stdlib/Makefile: Add rules to build and run tst-putenv. * stdlib/tst-putenv.c: New file. * stdlib/tst-putenvmod.c: New file.
This commit is contained in:
parent
3fb2606af3
commit
574b268e7f
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
* sysdeps/generic/libc-start.c [SHARED] (__libc_start_main): Don't
|
* sysdeps/generic/libc-start.c [SHARED] (__libc_start_main): Don't
|
||||||
initialize __environ again.
|
initialize __environ again.
|
||||||
|
* stdlib/Makefile: Add rules to build and run tst-putenv.
|
||||||
|
* stdlib/tst-putenv.c: New file.
|
||||||
|
* stdlib/tst-putenvmod.c: New file.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/init-first.c: Clean file up. Don't
|
* sysdeps/unix/sysv/linux/init-first.c: Clean file up. Don't
|
||||||
define unnecessary wrappers or aliases of static functions.
|
define unnecessary wrappers or aliases of static functions.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 1991-2002, 2003, 2004 Free Software Foundation, Inc.
|
# Copyright (C) 1991-2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
# This file is part of the GNU C Library.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -65,6 +65,11 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
|
|||||||
tst-rand48 bug-strtod tst-setcontext test-a64l tst-qsort \
|
tst-rand48 bug-strtod tst-setcontext test-a64l tst-qsort \
|
||||||
tst-system testmb2
|
tst-system testmb2
|
||||||
|
|
||||||
|
include ../Makeconfig
|
||||||
|
|
||||||
|
ifeq ($(build-shared),yes)
|
||||||
|
tests += tst-putenv
|
||||||
|
endif
|
||||||
|
|
||||||
# Several mpn functions from GNU MP are used by the strtod function.
|
# Several mpn functions from GNU MP are used by the strtod function.
|
||||||
mpn-routines := inlines add_n addmul_1 cmp divmod_1 divrem udiv_qrnnd \
|
mpn-routines := inlines add_n addmul_1 cmp divmod_1 divrem udiv_qrnnd \
|
||||||
@ -75,9 +80,13 @@ routines := $(strip $(routines) $(mpn-routines)) \
|
|||||||
dbl2mpn ldbl2mpn \
|
dbl2mpn ldbl2mpn \
|
||||||
mpn2flt mpn2dbl mpn2ldbl
|
mpn2flt mpn2dbl mpn2ldbl
|
||||||
aux += fpioconst mp_clz_tab
|
aux += fpioconst mp_clz_tab
|
||||||
distribute := $(distribute) $(mpn-headers) gen-mpn-copy fpioconst.h
|
distribute := $(distribute) $(mpn-headers) gen-mpn-copy fpioconst.h \
|
||||||
|
tst-putenvmod.c
|
||||||
|
|
||||||
generated += isomac isomac.out
|
tests-extras += tst-putenvmod
|
||||||
|
extra-objs += tst-putenvmod.os
|
||||||
|
|
||||||
|
generated += isomac isomac.out tst-putenvmod.so
|
||||||
|
|
||||||
CFLAGS-bsearch.c = $(uses-callbacks)
|
CFLAGS-bsearch.c = $(uses-callbacks)
|
||||||
CFLAGS-msort.c = $(uses-callbacks)
|
CFLAGS-msort.c = $(uses-callbacks)
|
||||||
@ -85,8 +94,6 @@ CFLAGS-qsort.c = $(uses-callbacks)
|
|||||||
CFLAGS-system.c = -fexceptions
|
CFLAGS-system.c = -fexceptions
|
||||||
CFLAGS-fmtmsg.c = -fexceptions
|
CFLAGS-fmtmsg.c = -fexceptions
|
||||||
|
|
||||||
include ../Makeconfig
|
|
||||||
|
|
||||||
ifneq (,$(filter %REENTRANT, $(defines)))
|
ifneq (,$(filter %REENTRANT, $(defines)))
|
||||||
CFLAGS-strfmon.c = -D_IO_MTSAFE_IO
|
CFLAGS-strfmon.c = -D_IO_MTSAFE_IO
|
||||||
CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO
|
CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO
|
||||||
@ -124,3 +131,9 @@ $(objpfx)isomac: isomac.c
|
|||||||
|
|
||||||
$(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
|
$(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
|
||||||
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/
|
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/
|
||||||
|
|
||||||
|
$(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so
|
||||||
|
|
||||||
|
$(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os
|
||||||
|
$(build-module)
|
||||||
|
CFLAGS-tst-putenvmod.c = -DNOT_IN_libc=1
|
||||||
|
18
stdlib/tst-putenv.c
Normal file
18
stdlib/tst-putenv.c
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
do_test (void)
|
||||||
|
{
|
||||||
|
char *p = getenv ("SOMETHING_NOBODY_USES");
|
||||||
|
if (p == NULL)
|
||||||
|
{
|
||||||
|
puts ("envvar not defined");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define TEST_FUNCTION do_test ()
|
||||||
|
#include "../test-skeleton.c"
|
17
stdlib/tst-putenvmod.c
Normal file
17
stdlib/tst-putenvmod.c
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
void
|
||||||
|
__attribute ((constructor))
|
||||||
|
init (void)
|
||||||
|
{
|
||||||
|
puts ("init DSO");
|
||||||
|
|
||||||
|
static char str[] = "SOMETHING_NOBODY_USES=something_else";
|
||||||
|
if (putenv (str) != 0)
|
||||||
|
{
|
||||||
|
puts ("putenv failed");
|
||||||
|
_exit (1);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user