* Makefile.in: Add finline-functions optimization to CXXFLAGS.

* autoload.cc (LoadDLLprime): Rename std_dll_init to
_std_dll_init.
(std_dll_init): Remove name mangling prototype. Add attributes
used and noinline.
(wsock_init): Ditto.
Change wsock_init to _wsock_init in wsock32 and ws2_32
LoadDLLprime.
* exceptions.cc (unused_sig_wrapper): Remove prototype. Add
attributes used and noinline.
* pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code.
(pwdgrp (__group32 *&)): Ditto.
* grp.cc (pwdgrp (passwd *&)): Outline constructor.
(pwdgrp (__group32 *&)): Ditto.
This commit is contained in:
Thomas Pfaff
2003-04-17 20:05:15 +00:00
parent a4cea44072
commit f3c1c54051
6 changed files with 44 additions and 24 deletions

View File

@ -58,7 +58,7 @@ details. */
#define LoadDLLprime(dllname, init_also) __asm__ (" \n\
.section ." #dllname "_info,\"w\" \n\
.linkonce \n\
.long std_dll_init \n\
.long _std_dll_init \n\
.long 0 \n\
.long -1 \n\
.long " #init_also " \n\
@ -201,8 +201,7 @@ union retchain
};
/* The standard DLL initialization routine. */
static long long std_dll_init () __asm__ ("std_dll_init") __attribute__ ((unused));
static long long
__attribute__ ((used, noinline)) static long long
std_dll_init ()
{
HANDLE h;
@ -241,9 +240,8 @@ std_dll_init ()
}
/* Initialization function for winsock stuff. */
static long long wsock_init () __asm__ ("wsock_init") __attribute__ ((unused, regparm(1)));
bool NO_COPY wsock_started = 0;
static long long
__attribute__ ((used, noinline, regparm(1))) static long long
wsock_init ()
{
static LONG NO_COPY here = -1L;
@ -304,8 +302,8 @@ wsock_init ()
return ret.ll;
}
LoadDLLprime (wsock32, wsock_init)
LoadDLLprime (ws2_32, wsock_init)
LoadDLLprime (wsock32, _wsock_init)
LoadDLLprime (ws2_32, _wsock_init)
LoadDLLfunc (AccessCheck, 32, advapi32)
LoadDLLfunc (AddAccessAllowedAce, 16, advapi32)