<div dir="ltr"><br>Hi Lucian,<br><br>Yes, the 'section .data exec' in the .asm file works for me too.<br>But this solution assumes that you are compiling with the nasm an .asm file, right ?<br><br>The idea was to be able to do this thing by starting from a C source. And converting<br>from .s file obtained with the gcc compiler into an .asm file is not very natural and easy.<br>I think the syntax for the gcc compiler applied to the .s file <br>should be: `.section .data,"x",@progbits`, but the compiler does not like it and will warn:<br><br>main.s: Assembler messages:<br>main.s:2: Warning: ignoring changed section attributes for .data<br><br>I mean, if you want the stack executable and add in the .s file '.section .note.GNU-stack,"x",@progbits'<br>works, but for .data section does not.<br><br>Thanks, Alex<br><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Oct 26, 2014 at 11:08 AM, Lucian Mogosanu <span dir="ltr"><<a href="mailto:lucian.mogosanu@cs.pub.ro" target="_blank">lucian.mogosanu@cs.pub.ro</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On Sat, Oct 25, 2014 at 05:06:17PM +0300, Alex Teaca wrote:<br>
> Also, I tried to compile with -S flag, and update the task5.s with<br>
> ".section .data,"awx",@progbits"<br>
> but, when I compile, I get<br>
><br>
> gcc -C task5.s<br>
> test5.s: Assembler messages:<br>
> test5.s:5: Warning: ignoring changed section attributes for .data<br>
><br>
> and the .data section remains WA.<br>
<br>
</span>I managed to make .data executable with NASM, with a little help from the<br>
documentation [1]: I added the `exec` directive to .data on hello.asm, and now<br>
readelf -S gives me the following output:<br>
<br>
---<br>
There are 15 section headers, starting at offset 0x2d4:<br>
<br>
Section Headers:<br>
[...]<br>
  [ 9] .text             PROGBITS        08048190 000190 00000a 00  AX  0   0 16<br>
  [10] .eh_frame         PROGBITS        0804819c 00019c 000000 00   A  0   0  4<br>
  [11] .dynamic          DYNAMIC         0804919c 00019c 0000a0 08  WA  4   0  4<br>
  [12] .got.plt          PROGBITS        0804923c 00023c 000010 04  WA  0   0  4<br>
  [13] .data             PROGBITS        0804924c 00024c 00000e 00 WAX  0   0  4<br>
[...]<br>
---<br>
<br>
Does that work for you?<br>
<br>
[1]: <a href="http://www.nasm.us/doc/nasmdoc7.html#section-7.9.2" target="_blank">http://www.nasm.us/doc/nasmdoc7.html#section-7.9.2</a><br>
<br>
Lucian<br>
_______________________________________________<br>
<a href="http://elf.cs.pub.ro/oss/wiki/resources/mailing-list" target="_blank">http://elf.cs.pub.ro/oss/wiki/resources/mailing-list</a></blockquote></div><br></div></div>