Drop inline keyword from some functions.

While trying to build with -Os I've encountered some build
failures.

util/vircommand.c: In function 'virCommandAddEnvFormat':
util/vircommand.c:1257:1: error: inlining failed in call to 'virCommandAddEnv': call is unlikely and code size would grow [-Werror=inline]
 virCommandAddEnv(virCommandPtr cmd, char *env)
 ^
util/vircommand.c:1308:5: error: called from here [-Werror=inline]
     virCommandAddEnv(cmd, env);
     ^
This function is big enough for the compiler to be not inlined.
This is the error message I'm seeing:

Then virDomainNumatuneNodeSpecified is exported and called from
other places. It shouldn't be inlined then.

In file included from network/bridge_driver_platform.h:30:0,
                 from network/bridge_driver_platform.c:26:
network/bridge_driver_linux.c: In function 'networkRemoveRoutingFirewallRules':
./conf/network_conf.h:350:1: error: inlining failed in call to 'virNetworkDefForwardIf.constprop': call is unlikely and code size would grow [-Werror=inline]
 virNetworkDefForwardIf(const virNetworkDef *def, size_t n)
 ^

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Michal Privoznik 2016-03-03 08:14:37 +01:00
parent e53f2dc875
commit be8b536af1
5 changed files with 12 additions and 9 deletions

View File

@ -2925,6 +2925,14 @@ virNetworkObjFormat(virNetworkObjPtr net,
return NULL;
}
const char *
virNetworkDefForwardIf(const virNetworkDef *def, size_t n)
{
return ((def->forward.ifs && (def->forward.nifs > n) &&
def->forward.ifs[n].type == VIR_NETWORK_FORWARD_HOSTDEV_DEVICE_NETDEV)
? def->forward.ifs[n].device.dev : NULL);
}
virPortGroupDefPtr virPortGroupFindByName(virNetworkDefPtr net,
const char *portgroup)
{

View File

@ -346,13 +346,7 @@ int virNetworkDefFormatBuf(virBufferPtr buf,
const virNetworkDef *def,
unsigned int flags);
static inline const char *
virNetworkDefForwardIf(const virNetworkDef *def, size_t n)
{
return ((def->forward.ifs && (def->forward.nifs > n) &&
def->forward.ifs[n].type == VIR_NETWORK_FORWARD_HOSTDEV_DEVICE_NETDEV)
? def->forward.ifs[n].device.dev : NULL);
}
const char * virNetworkDefForwardIf(const virNetworkDef *def, size_t n);
virPortGroupDefPtr virPortGroupFindByName(virNetworkDefPtr net,
const char *portgroup);

View File

@ -72,7 +72,7 @@ struct _virDomainNuma {
};
inline bool
bool
virDomainNumatuneNodeSpecified(virDomainNumaPtr numatune,
int cellid)
{

View File

@ -589,6 +589,7 @@ virNetworkConfigFile;
virNetworkDefCopy;
virNetworkDefFormat;
virNetworkDefFormatBuf;
virNetworkDefForwardIf;
virNetworkDefFree;
virNetworkDefGetIpByIndex;
virNetworkDefGetRouteByIndex;

View File

@ -1253,7 +1253,7 @@ virCommandRawStatus(virCommandPtr cmd)
* string like "name=value". If the named environment variable is
* already set, then it is replaced in the list.
*/
static inline void
static void
virCommandAddEnv(virCommandPtr cmd, char *env)
{
size_t namelen;