* demo/dlmain.c (_WIN32): The lt_symlist structure is now const,

so my original horrible temporary win32 hack no longer worked.
Here is a new horrible temporary hack to prevent helldl from SEGVing
on win32.  I will fix this properly when we figure out how to do
data exports from dlls.
This commit is contained in:
Gary V. Vaughan 1999-02-15 14:21:10 +00:00
parent 1f8cf75537
commit b25378c96d
2 changed files with 15 additions and 24 deletions

View File

@ -1,3 +1,11 @@
1999-02-15 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/dlmain.c (_WIN32): The lt_symlist structure is now const,
so my original horrible temporary win32 hack no longer worked.
Here is a new horrible temporary hack to prevent helldl from SEGVing
on win32. I will fix this properly when we figure out how to do
data exports from dlls.
1999-02-13 Thomas Tanner <tanner@gmx.de>
* syncronized with HEAD

View File

@ -32,25 +32,6 @@ struct lt_symlist
extern const struct lt_symlist lt_preloaded_symbols[];
#ifdef __CYGWIN32__
int
win32_force_data_import_address __P((void))
{
const struct lt_symlist *s;
s = lt_preloaded_symbols;
while (s->name)
{
if (!strcmp ("nothing", s->name))
s->address = &nothing;
s++;
}
return 0;
}
#endif
int
main (argc, argv)
int argc;
@ -63,11 +44,6 @@ main (argc, argv)
printf ("Welcome to *modular* GNU Hell!\n");
#ifdef __CYGWIN32__
/* runtime table initialisation */
(void) win32_force_data_import_address();
#endif
/* Look up the symbols we require for this demonstration. */
s = lt_preloaded_symbols;
while (s->name)
@ -80,7 +56,14 @@ main (argc, argv)
else if (!strcmp ("foo", name))
pfoo = (int(*)())s->address;
else if (!strcmp ("nothing", name))
#ifndef _WIN32
/* In an ideal world we could do this... */
pnothing = (int*)s->address;
#else /* !_WIN32 */
/* In an ideal world a shared lib would be able to export data */
pnothing = (int*)&nothing;
#endif
} else
printf ("found file: %s\n", s->name);
s ++;