| 1 | /* GNU Objective C Runtime DLL Entry | 
|---|
| 2 | Copyright (C) 1997 Free Software Foundation, Inc. | 
|---|
| 3 | Contributed by Scott Christley <scottc@net-community.com> | 
|---|
| 4 |  | 
|---|
| 5 | This file is part of GNU CC. | 
|---|
| 6 |  | 
|---|
| 7 | GNU CC is free software; you can redistribute it and/or modify it | 
|---|
| 8 | under the terms of the GNU General Public License as published by the | 
|---|
| 9 | Free Software Foundation; either version 2, or (at your option) any | 
|---|
| 10 | later version. | 
|---|
| 11 |  | 
|---|
| 12 | GNU CC is distributed in the hope that it will be useful, but WITHOUT | 
|---|
| 13 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | 
|---|
| 14 | FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | 
|---|
| 15 | for more details. | 
|---|
| 16 |  | 
|---|
| 17 | You should have received a copy of the GNU General Public License | 
|---|
| 18 | along with GNU CC; see the file COPYING.  If not, write to the Free | 
|---|
| 19 | Software Foundation, 59 Temple Place - Suite 330, | 
|---|
| 20 | Boston, MA 02111-1307, USA.  */ | 
|---|
| 21 |  | 
|---|
| 22 | /* As a special exception, if you link this library with files compiled with | 
|---|
| 23 | GCC to produce an executable, this does not cause the resulting executable | 
|---|
| 24 | to be covered by the GNU General Public License. This exception does not | 
|---|
| 25 | however invalidate any other reasons why the executable file might be | 
|---|
| 26 | covered by the GNU General Public License.  */ | 
|---|
| 27 |  | 
|---|
| 28 | #include <windows.h> | 
|---|
| 29 |  | 
|---|
| 30 | /* | 
|---|
| 31 | DLL entry function for Objective-C Runtime library | 
|---|
| 32 | This function gets called everytime a process/thread attaches to DLL | 
|---|
| 33 | */ | 
|---|
| 34 | WINBOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, | 
|---|
| 35 | LPVOID lpReserved) | 
|---|
| 36 | { | 
|---|
| 37 | switch(ul_reason_for_call) | 
|---|
| 38 | { | 
|---|
| 39 | case DLL_PROCESS_ATTACH: | 
|---|
| 40 | break; | 
|---|
| 41 | case DLL_PROCESS_DETACH: | 
|---|
| 42 | break; | 
|---|
| 43 | case DLL_THREAD_ATTACH: | 
|---|
| 44 | break; | 
|---|
| 45 | case DLL_THREAD_DETACH: | 
|---|
| 46 | break; | 
|---|
| 47 | } | 
|---|
| 48 | return TRUE; | 
|---|
| 49 | } | 
|---|
| 50 |  | 
|---|
| 51 | /* | 
|---|
| 52 | This section terminates the list of imports under GCC. If you do not | 
|---|
| 53 | include this then you will have problems when linking with DLLs. | 
|---|
| 54 | */ | 
|---|
| 55 | asm (".section .idata$3\n" ".long 0,0,0,0,0,0,0,0"); | 
|---|