提交 c7f52cdc 编写于 作者: J Jeremy Fitzhardinge

support multiple .discard.* sections to avoid section type conflicts

gcc 4.4.4 will complain if you use a .discard section for both text and
data ("causes a section type conflict").  Add support for ".discard.*"
sections, and use .discard.text for a dummy function in the x86
RESERVE_BRK() macro.
Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
上级 b43275d6
...@@ -82,7 +82,7 @@ void *extend_brk(size_t size, size_t align); ...@@ -82,7 +82,7 @@ void *extend_brk(size_t size, size_t align);
* executable.) * executable.)
*/ */
#define RESERVE_BRK(name,sz) \ #define RESERVE_BRK(name,sz) \
static void __section(.discard) __used \ static void __section(.discard.text) __used \
__brk_reservation_fn_##name##__(void) { \ __brk_reservation_fn_##name##__(void) { \
asm volatile ( \ asm volatile ( \
".pushsection .brk_reservation,\"aw\",@nobits;" \ ".pushsection .brk_reservation,\"aw\",@nobits;" \
......
...@@ -643,6 +643,7 @@ ...@@ -643,6 +643,7 @@
EXIT_DATA \ EXIT_DATA \
EXIT_CALL \ EXIT_CALL \
*(.discard) \ *(.discard) \
*(.discard.*) \
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册