> Yes, interesting ...
> 
> Did you check that "/usr/lib/x86_64-linux-gnu/crt1.o" too?
>
> Because from your report it seems that it has two sections
> with same name ".note.GNU-stack" but different types (SHT_NOTE/SHT_PROGBITS).
>

I did not think to check it, but since you have asked it here, I did and found
that indeed ".note.GNU-stack" exists twice!

There are 15 section headers, starting at offset 0x370:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .text             PROGBITS         0000000000000000  00000040
       0000000000000031  0000000000000000  AX       0     0     16
  [ 2] .rela.text        RELA             0000000000000000  00000290
       0000000000000030  0000000000000018   I      12     1     8
  [ 3] .eh_frame         PROGBITS         0000000000000000  00000078
       000000000000005c  0000000000000000   A       0     0     8
  [ 4] .rela.eh_frame    RELA             0000000000000000  000002c0
       0000000000000030  0000000000000018   I      12     3     8
  [ 5] .data             PROGBITS         0000000000000000  000000d4
       0000000000000004  0000000000000000  WA       0     0     1
  [ 6] .bss              NOBITS           0000000000000000  000000d8
       0000000000000000  0000000000000000  WA       0     0     1
  [ 7] .note.GNU-stack   NOTE             0000000000000000  000000d8
       0000000000000000  0000000000000000           0     0     1
  [ 8] .note.gnu.pr[...] NOTE             0000000000000000  000000d8
       0000000000000020  0000000000000000   A       0     0     8
  [ 9] .note.ABI-tag     NOTE             0000000000000000  000000f8
       0000000000000020  0000000000000000   A       0     0     4
  [10] .note.GNU-stack   PROGBITS         0000000000000000  00000118
0000000000000000  0000000000000000           0     0     1 [11] .rodata.cst4
  PROGBITS         0000000000000000  00000118 0000000000000004
0000000000000004  AM       0     0     4 [12] .symtab           SYMTAB
 0000000000000000  00000120 0000000000000108  0000000000000018          13
3     8 [13] .strtab           STRTAB           0000000000000000  00000228
0000000000000067  0000000000000000           0     0     1 [14] .shstrtab
  STRTAB           0000000000000000  000002f0 000000000000007e
0000000000000000           0     0     1 Key to Flags: W (write), A (alloc), X
(execute), M (merge), S (strings), I (info), L (link order), O (extra OS
processing required), G (group), T (TLS), C (compressed), x (unknown), o (OS
specific), E (exclude), D (mbind), l (large), p (processor specific)

> Which indeed seems interesting, maybe even illegal ...
> 
> -- gr

_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to