diff options
Diffstat (limited to 'winsup/cygwin/lib')
-rw-r--r-- | winsup/cygwin/lib/_cygwin_crt0_common.cc | 103 | ||||
-rw-r--r-- | winsup/cygwin/lib/crt0.h | 22 | ||||
-rw-r--r-- | winsup/cygwin/lib/cygwin_attach_dll.c | 25 | ||||
-rw-r--r-- | winsup/cygwin/lib/cygwin_crt0.c | 33 | ||||
-rw-r--r-- | winsup/cygwin/lib/dll_entry.c | 17 | ||||
-rw-r--r-- | winsup/cygwin/lib/dll_main.cc | 41 | ||||
-rw-r--r-- | winsup/cygwin/lib/libcmain.c | 44 | ||||
-rw-r--r-- | winsup/cygwin/lib/premain0.c | 14 | ||||
-rw-r--r-- | winsup/cygwin/lib/premain1.c | 14 | ||||
-rw-r--r-- | winsup/cygwin/lib/premain2.c | 14 | ||||
-rw-r--r-- | winsup/cygwin/lib/premain3.c | 14 | ||||
-rw-r--r-- | winsup/cygwin/lib/pseudo-reloc.c | 46 |
12 files changed, 0 insertions, 387 deletions
diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc deleted file mode 100644 index 935b84f31..000000000 --- a/winsup/cygwin/lib/_cygwin_crt0_common.cc +++ /dev/null @@ -1,103 +0,0 @@ -/* common.cc: common crt0 function for cygwin crt0's. - - Copyright 2000, 2001 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#include "winsup.h" -#include "perprocess.h" -#include "cygwin/version.h" -#include "crt0.h" -#include <reent.h> -#include <stdlib.h> - -/* Avoid an info message from linker when linking applications. */ -extern __declspec(dllimport) struct _reent *_impure_ptr; - -#undef environ - -extern "C" -{ -char **environ; -int cygwin_attach_dll (HMODULE, MainFunc); -int cygwin_attach_noncygwin_dll (HMODULE, MainFunc); -int main (int, char **, char **); -int _fmode; -void _pei386_runtime_relocator (); - -/* Set up pointers to various pieces so the dll can then use them, - and then jump to the dll. */ - -int __stdcall -_cygwin_crt0_common (MainFunc f, per_process *u) -{ - /* This is used to record what the initial sp was. The value is needed - when copying the parent's stack to the child during a fork. */ - DWORD newu; - int uwasnull; - - if (u != NULL) - uwasnull = 0; /* Caller allocated space for per_process structure */ - else if ((newu = cygwin_internal (CW_USER_DATA)) == (DWORD) -1) - return 0; - else - { - u = (per_process *) newu; /* Using DLL built-in per_process */ - uwasnull = 1; /* Remember for later */ - } - - /* The version numbers are the main source of compatibility checking. - As a backup to them, we use the size of the per_process struct. */ - u->magic_biscuit = sizeof (per_process); - - /* cygwin.dll version number in effect at the time the app was created. */ - u->dll_major = CYGWIN_VERSION_DLL_MAJOR; - u->dll_minor = CYGWIN_VERSION_DLL_MINOR; - u->api_major = CYGWIN_VERSION_API_MAJOR; - u->api_minor = CYGWIN_VERSION_API_MINOR; - - u->ctors = &__CTOR_LIST__; - u->dtors = &__DTOR_LIST__; - u->envptr = &environ; - if (uwasnull) - _impure_ptr = u->impure_ptr; /* Use field initialized in newer DLLs. */ - else - u->impure_ptr_ptr = &_impure_ptr; /* Older DLLs need this. */ - - u->forkee = 0; /* This should only be set in dcrt0.cc - when the process is actually forked */ - u->main = f; - - /* These functions are executed prior to main. They are just stubs unless the - user overrides them. */ - u->premain[0] = cygwin_premain0; - u->premain[1] = cygwin_premain1; - u->premain[2] = cygwin_premain2; - u->premain[3] = cygwin_premain3; - u->fmode_ptr = &_fmode; - u->initial_sp = (char *) __builtin_frame_address (1); - - /* Remember whatever the user linked his application with - or - point to entries in the dll. */ - u->malloc = &malloc; - u->free = &free; - u->realloc = &realloc; - u->calloc = &calloc; - - /* Setup the module handle so fork can get the path name. */ - u->hmodule = GetModuleHandle (0); - - /* variables for fork */ - u->data_start = &_data_start__; - u->data_end = &_data_end__; - u->bss_start = &_bss_start__; - u->bss_end = &_bss_end__; - - _pei386_runtime_relocator (); - return 1; -} -} /* "C" */ diff --git a/winsup/cygwin/lib/crt0.h b/winsup/cygwin/lib/crt0.h deleted file mode 100644 index 7bd240622..000000000 --- a/winsup/cygwin/lib/crt0.h +++ /dev/null @@ -1,22 +0,0 @@ -/* crt0.h: header file for crt0. - - Copyright 2000, 2001 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#ifdef __cplusplus -extern "C" { -#endif - -struct per_process; -typedef int (*MainFunc) (int argc, char *argv[], char **env); -int __stdcall _cygwin_crt0_common (MainFunc, struct per_process *); -int dll_dllcrt0 (HMODULE, struct per_process *); - -#ifdef __cplusplus -} -#endif diff --git a/winsup/cygwin/lib/cygwin_attach_dll.c b/winsup/cygwin/lib/cygwin_attach_dll.c deleted file mode 100644 index 3788bdf9c..000000000 --- a/winsup/cygwin/lib/cygwin_attach_dll.c +++ /dev/null @@ -1,25 +0,0 @@ -/* attach_dll.cc: crt0 for attaching cygwin DLL from a non-cygwin app. - - Copyright 2000, 2001 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#undef __INSIDE_CYGWIN__ -#include <windows.h> -#include <sys/cygwin.h> -#include "crt0.h" - -/* for a loaded dll */ -int -cygwin_attach_dll (HMODULE h, MainFunc f) -{ - static struct per_process u; - (void) _cygwin_crt0_common (f, &u); - - /* jump into the dll. */ - return dll_dllcrt0 (h, &u); -} diff --git a/winsup/cygwin/lib/cygwin_crt0.c b/winsup/cygwin/lib/cygwin_crt0.c deleted file mode 100644 index fb2a84b18..000000000 --- a/winsup/cygwin/lib/cygwin_crt0.c +++ /dev/null @@ -1,33 +0,0 @@ -/* cygwin_crt0.cc: crt0 for cygwin - - Copyright 2000, 2001 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#undef __INSIDE_CYGWIN__ -#include <windows.h> -#include <sys/cygwin.h> -#include <stdlib.h> -#include "crt0.h" - -extern void dll_crt0__FP11per_process (struct per_process *) __declspec (dllimport) __attribute ((noreturn)); - -/* for main module */ -void -cygwin_crt0 (MainFunc f) -{ - struct per_process *u; - if (_cygwin_crt0_common (f, NULL)) - u = NULL; /* Newer DLL. Use DLL internal per_process. */ - else /* Older DLL. Provide a per_process */ - { - u = (struct per_process *) alloca (sizeof (*u)); - memset (u, 0, sizeof (u)); - (void) _cygwin_crt0_common (f, u); - } - dll_crt0__FP11per_process (u); /* Jump into the dll, never to return */ -} diff --git a/winsup/cygwin/lib/dll_entry.c b/winsup/cygwin/lib/dll_entry.c deleted file mode 100644 index 781f6a3ea..000000000 --- a/winsup/cygwin/lib/dll_entry.c +++ /dev/null @@ -1,17 +0,0 @@ -/* dll_entry.cc: Provide the default user DLL linker entry point. - - Copyright 1998, 2000, 2001 Red Hat, Inc. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -/* Here we simply instantiate the DECLARE_CYGWIN_DLL to define the - linker entry point, __cygwin_dll_entry@12, which in turn calls - _DllMain@12 to do user-specific initialization, if any. There is a - default DllMain stub in the library if there is no user supplied - one. */ - -#include "cygwin/cygwin_dll.h" - -DECLARE_CYGWIN_DLL (DllMain); diff --git a/winsup/cygwin/lib/dll_main.cc b/winsup/cygwin/lib/dll_main.cc deleted file mode 100644 index a224a0a2f..000000000 --- a/winsup/cygwin/lib/dll_main.cc +++ /dev/null @@ -1,41 +0,0 @@ -/* dll_main.cc: Provide the DllMain stub that the user can override. - - Copyright 1998, 2000, 2001 Red Hat, Inc. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#include <windows.h> - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#undef WIN32_LEAN_AND_MEAN -#include <stdio.h> - -extern "C" -BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, - LPVOID reserved /* Not used. */); - -BOOL APIENTRY -DllMain ( - HINSTANCE hInst /* Library instance handle. */ , - DWORD reason /* Reason this function is being called. */ , - LPVOID reserved /* Not used. */) -{ - switch (reason) - { - case DLL_PROCESS_ATTACH: - break; - - case DLL_PROCESS_DETACH: - break; - - case DLL_THREAD_ATTACH: - break; - - case DLL_THREAD_DETACH: - break; - } - return TRUE; -} diff --git a/winsup/cygwin/lib/libcmain.c b/winsup/cygwin/lib/libcmain.c deleted file mode 100644 index b0c011999..000000000 --- a/winsup/cygwin/lib/libcmain.c +++ /dev/null @@ -1,44 +0,0 @@ -/* libcmain.c - - Copyright 1996, 1997, 1998, 2000, 2001 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#include <windows.h> -#include <string.h> - -#define SP " \t\n" - -/* Allow apps which don't have a main work, as long as they define WinMain */ -int -main () -{ - HMODULE x = GetModuleHandle (0); - char *s = GetCommandLine (); - STARTUPINFO si; - char *nexts; - - s += strspn (s, SP); - - if (*s != '"') - nexts = strpbrk (s, SP); - else - while ((nexts = strchr (s + 1, '"')) != NULL && nexts[-1] == '\\') - s = nexts; - - if (!nexts) - nexts = strchr (s, '\0'); - else - nexts += strspn (nexts + 1, SP); - - GetStartupInfo (&si); - - return WinMain (x, 0, nexts, - ((si.dwFlags & STARTF_USESHOWWINDOW) != 0 - ? si.wShowWindow - : SW_SHOWNORMAL)); -} diff --git a/winsup/cygwin/lib/premain0.c b/winsup/cygwin/lib/premain0.c deleted file mode 100644 index b77e02e8e..000000000 --- a/winsup/cygwin/lib/premain0.c +++ /dev/null @@ -1,14 +0,0 @@ -/* premain0.c - - Copyright 2000 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -void -cygwin_premain0(int argc, char **argv) -{ -} diff --git a/winsup/cygwin/lib/premain1.c b/winsup/cygwin/lib/premain1.c deleted file mode 100644 index 99aeac916..000000000 --- a/winsup/cygwin/lib/premain1.c +++ /dev/null @@ -1,14 +0,0 @@ -/* premain1.c - - Copyright 2000 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -void -cygwin_premain1(int argc, char **argv) -{ -} diff --git a/winsup/cygwin/lib/premain2.c b/winsup/cygwin/lib/premain2.c deleted file mode 100644 index a89e76ec3..000000000 --- a/winsup/cygwin/lib/premain2.c +++ /dev/null @@ -1,14 +0,0 @@ -/* premain2.c - - Copyright 2000 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -void -cygwin_premain2(int argc, char **argv) -{ -} diff --git a/winsup/cygwin/lib/premain3.c b/winsup/cygwin/lib/premain3.c deleted file mode 100644 index c5b99b918..000000000 --- a/winsup/cygwin/lib/premain3.c +++ /dev/null @@ -1,14 +0,0 @@ -/* premain3.c - - Copyright 2000 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -void -cygwin_premain3(int argc, char **argv) -{ -} diff --git a/winsup/cygwin/lib/pseudo-reloc.c b/winsup/cygwin/lib/pseudo-reloc.c deleted file mode 100644 index 5760a69ad..000000000 --- a/winsup/cygwin/lib/pseudo-reloc.c +++ /dev/null @@ -1,46 +0,0 @@ -/* pseudo-reloc.c - - Written by Egor Duda <deo@logos-m.ru> - THIS SOFTWARE IS NOT COPYRIGHTED - - This source code is offered for use in the public domain. You may - use, modify or distribute it freely. - - This code is distributed in the hope that it will be useful but - WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY - DISCLAMED. This includes but is not limited to warrenties of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -*/ - -#include <windows.h> - -extern char __RUNTIME_PSEUDO_RELOC_LIST__; -extern char __RUNTIME_PSEUDO_RELOC_LIST_END__; -extern char _image_base__; - -typedef struct - { - DWORD addend; - DWORD target; - } -runtime_pseudo_reloc; - -void -do_pseudo_reloc (void* start, void* end, void* base) -{ - DWORD reloc_target; - runtime_pseudo_reloc* r; - for (r = (runtime_pseudo_reloc*) start; r < (runtime_pseudo_reloc*) end; r++) - { - reloc_target = (DWORD) base + r->target; - *((DWORD*) reloc_target) += r->addend; - } -} - -void -_pei386_runtime_relocator () -{ - do_pseudo_reloc (&__RUNTIME_PSEUDO_RELOC_LIST__, - &__RUNTIME_PSEUDO_RELOC_LIST_END__, - &_image_base__); -} |