From 5afe24a8a06e3c6228d3ac36963619cdaaea5cd2 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Wed, 8 Oct 2008 07:34:51 +0000 Subject: [PATCH] Merge [2114] and [2115] from trunk (Fix #148, clearing of GAS elf sectflags). svn path=/branches/yasm-0.7.x/; revision=2145 --- modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex | 2 +- modules/objfmts/elf/elf-objfmt.c | 8 ++++++++ modules/objfmts/elf/tests/gas64/crosssect.hex | 2 +- modules/objfmts/elf/tests/gas64/elf_gas64_curpos.hex | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex b/modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex index af09833c..562eadb6 100644 --- a/modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex +++ b/modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex @@ -90134,7 +90134,7 @@ c0 00 00 00 -00 +02 00 00 00 diff --git a/modules/objfmts/elf/elf-objfmt.c b/modules/objfmts/elf/elf-objfmt.c index 3756df30..f48a4aaf 100644 --- a/modules/objfmts/elf/elf-objfmt.c +++ b/modules/objfmts/elf/elf-objfmt.c @@ -962,6 +962,7 @@ struct elf_section_switch_data { unsigned long flags; unsigned long type; int gasflags; + int stdsect; }; /* GAS-style flags */ @@ -979,6 +980,11 @@ elf_helper_gasflags(void *obj, yasm_valparam *vp, unsigned long line, void *d, return -1; } + if (data->stdsect && strlen(s) == 0) { + data->gasflags = 1; + return 0; + } + data->flags = 0; for (i=0; i