Changeset 630b9d35 in mainline for kernel/generic/include/lib/memfnc.h


Ignore:
Timestamp:
2014-04-21T11:19:29Z (10 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
170e181
Parents:
5792d6e
Message:

Unbreak link-time-optimization builds

Apparently, newer version of GCC discards more functions that it
is supposed to and thus it is necessary to explicitly say that
memset & co implementations shall not be discarded.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/lib/memfnc.h

    r5792d6e r630b9d35  
    3939#include <cc.h>
    4040
     41#ifdef CONFIG_LTO
     42#define DO_NOT_DISCARD ATTRIBUTE_USED
     43#else
     44#define DO_NOT_DISCARD
     45#endif
     46
    4147extern void *memset(void *, int, size_t)
    42     ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns");
     48    ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns") DO_NOT_DISCARD;
    4349extern void *memcpy(void *, const void *, size_t)
    44     ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns");
     50    ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns") DO_NOT_DISCARD;
    4551
    4652#endif
Note: See TracChangeset for help on using the changeset viewer.