search for: __start_my_ptr_section

Displaying 2 results from an estimated 2 matches for "__start_my_ptr_section".

2014 Dec 08
3
[LLVMdev] Incorrect loop optimization when building the Linux kernel
...t has a logical lowering from C. We should either adopt the GNU binutils convention of special __start_* / __end_* symbols, or invent a new representation that is compelling. Joerg suggested adding 'weak' as a workaround, but it doesn't seem particularly compelling to me: extern void *__start_my_ptr_section[]; extern void *__end_my_ptr_section[] __attribute__((weak)); // I'm assuming Joerg implied the attribute goes here... void iterate_my_section() { for (void **i = __start_my_ptr_section; i != __end_my_ptr_section; i++) { use_ptr(*i); } } LLVM has had the concept of "appending&quot...
2014 Dec 08
4
[LLVMdev] Incorrect loop optimization when building the Linux kernel
> It's difficult to say without a full example, but I'm very suspicious > of those global declarations. I think the compiler would be entirely > justified in assuming you could *never* get from __start_builtin_fw to > __end_builtin_fw, let alone on the first iteration: they're distinct > array objects and by definition (within C99) can't overlap. I think this should