Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
	* dlfcn/Makefile (tests): Add errmsg1.
	(modules-names): Add errmsg1mod.
	Add rules to run errmsg1.
	* dlfcn/errmsg1.c: New file.
	* dlfcn/errmsg1mod.c: New file.
  • Loading branch information
Ulrich Drepper committed Dec 28, 2000
1 parent 9c99fa3 commit f116c77
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 2 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
2000-12-27 Ulrich Drepper <drepper@redhat.com>

* dlfcn/Makefile (tests): Add errmsg1.
(modules-names): Add errmsg1mod.
Add rules to run errmsg1.
* dlfcn/errmsg1.c: New file.
* dlfcn/errmsg1mod.c: New file.

* dlfcn/dlerror.c (dlerror): Always create output string which
includes object file name.

Expand Down
8 changes: 6 additions & 2 deletions dlfcn/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@ endif
libdl-shared-only-routines += eval

ifeq (yes,$(build-shared))
tests = glrefmain failtest tst-dladdr default
tests = glrefmain failtest tst-dladdr default errmsg1
endif
modules-names = glreflib1 glreflib2 failtestmod defaultmod1 defaultmod2
modules-names = glreflib1 glreflib2 failtestmod defaultmod1 defaultmod2 \
errmsg1mod
extra-objs += $(modules-names:=.os) eval.os
generated := $(modules-names:=.so)

Expand All @@ -63,3 +64,6 @@ $(objpfx)default: $(libdl) $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so
$(objpfx)defaultmod1.so: $(libdl)
LDFLAGS-defaultmod2.so = -Bsymbolic
$(objpfx)defaultmod2.so: $(libdl)

$(objpfx)errmsg1: $(libdl)
$(objpfx)errmsg1.out: $(objpfx)errmsg1 $(objpfx)errmsg1mod.so
42 changes: 42 additions & 0 deletions dlfcn/errmsg1.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */

#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int
main (void)
{
void *h;
const char *s;

h = dlopen ("errmsg1mod.so", RTLD_NOW);
if (h != NULL)
{
dlclose (h);
puts ("errmsg1mod.so could be loaded !?");
exit (1);
}

s = dlerror ();
puts (s);

return strstr (s, "errmsg1mod.so") == NULL;
}
25 changes: 25 additions & 0 deletions dlfcn/errmsg1mod.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */

extern int bar (void);

int
foo (void)
{
return bar ();
}

0 comments on commit f116c77

Please sign in to comment.