Fix missing apps section issue on clang
Clang linker would remove apps section even though variable insied it are marked as "used". Per clang doc, we need to add "retain" attribute to prevent section gc. Bug: 294283461 Test: th Change-Id: I5fc0aee885a419f314de811a2cf92b77af230c0c
This commit is contained in:
committed by
Kelvin Zhang
parent
c572b70083
commit
4e9edd234f
@@ -20,7 +20,10 @@
|
||||
#define likely(x) __builtin_expect(!!(x), 1)
|
||||
#define unlikely(x) __builtin_expect(!!(x), 0)
|
||||
#define __UNUSED __attribute__((__unused__))
|
||||
#define __USED __attribute__((__used__))
|
||||
// Per https://clang.llvm.org/docs/AttributeReference.html#used
|
||||
// __used__ does not prevent linkers from removing unused sections
|
||||
// (if --gc-sections is passed). Need to specify "retain" as well.
|
||||
#define __USED __attribute__((__used__, retain))
|
||||
#define __PACKED __attribute__((packed))
|
||||
#define __ALIGNED(x) __attribute__((aligned(x)))
|
||||
#define __PRINTFLIKE(__fmt,__varargs) __attribute__((__format__ (__printf__, __fmt, __varargs)))
|
||||
|
||||
Reference in New Issue
Block a user