Bug#695547: sprint/bof @ Debconf to fix fpc bugs #695547 and #826300

2016-07-16 Thread Steve McIntyre
Hi Peter,

Sorry to keep you waiting - I was on VAC in South Africa after
DebConf, and I'm just catching up on things again now.

On Wed, Jul 06, 2016 at 01:31:54AM +0100, Peter Green wrote:
>Tags 695547 +patch
>Thanks
>
>On 05/07/16 23:37, Steve McIntyre wrote:
>>So Peter and I were talking a little earlier on #debian-arm,
>Specifically we were talking about the arm tag/flag stuff. I haven't looked
>into the powerpc issue.  Freepascal has a chunk of platform/cpu specific
>assembler code that is used for mixed pascal/c programs to initialise both
>the freepascal runtime library and libc. The powerpc linux version of this
>file is located at rtl/linux/powerpc/cprt0.as . It would not surprise me if
>it was something to do with this init code.
>
>It would be good to try and get a backtrace ("access violation" generally
>means that the freepascal runtime library trapped a segfault and turned it
>into an exception).
>
>The remainder of this mail is about the arm tag/flag stuff.
>>  and he
>>was making good progress on fixing stuff. He may have stuff all done
>>shortly, I guess... :-)
>I think i've fixed the arm tag/flag stuff. With the small patch attached I
>get the following.
>
>root@odroidu2:/# readelf --file-header /usr/bin/fpc
>ELF Header:
>  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>  Class: ELF32
>  Data:  2's complement, little endian
>  Version:   1 (current)
>  OS/ABI:UNIX - System V
>  ABI Version:   0
>  Type:  EXEC (Executable file)
>  Machine:   ARM
>  Version:   0x1
>  Entry point address:   0x100ec
>  Start of program headers:  52 (bytes into file)
>  Start of section headers:  410616 (bytes into file)
>  Flags: 0x5000400, Version5 EABI, hard-float ABI
>  Size of this header:   52 (bytes)
>  Size of program headers:   32 (bytes)
>  Number of program headers: 4
>  Size of section headers:   40 (bytes)
>  Number of section headers: 8
>  Section header string table index: 7
>root@odroidu2:/#
>
>root@odroidu2:/# readelf -a /usr/bin/fpc
>ELF Header:
>  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>  Class: ELF32
>  Data:  2's complement, little endian
>  Version:   1 (current)
>  OS/ABI:UNIX - System V
>  ABI Version:   0
>  Type:  EXEC (Executable file)
>  Machine:   ARM
>  Version:   0x1
>  Entry point address:   0x100ec
>  Start of program headers:  52 (bytes into file)
>  Start of section headers:  410616 (bytes into file)
>  Flags: 0x5000400, Version5 EABI, hard-float ABI
>  Size of this header:   52 (bytes)
>  Size of program headers:   32 (bytes)
>  Number of program headers: 4
>  Size of section headers:   40 (bytes)
>  Number of section headers: 8
>  Section header string table index: 7
>
>
>Section Headers:
>  [Nr] Name  TypeAddr OffSize   ES Flg Lk Inf 
> Al
>  [ 0]   NULL 00 00 00  0   0  > 0
>  [ 1] .note.ABI-tag NOTE000100c0 c0 20 00   A  0   0 
> 16
>  [ 2] .text PROGBITS000100e0 e0 0501a4 00  AX  0   0  
> 4
>  [ 3] .rodata   PROGBITS00060288 050288 010828 00   A  0   0  
> 8
>  [ 4] .data PROGBITS00081000 061000 003395 00  WA  0   0  
> 8
>  [ 5] .bss  NOBITS  00084398 064395 00237c 00  WA  0   0  
> 4
>  [ 6] .ARM.attributes   ARM_ATTRIBUTES   064395 21 00  0   0  
> 1
>  [ 7] .shstrtab STRTAB   0643b6 42 00  0   0  
> 1
>Key to Flags:
>  W (write), A (alloc), X (execute), M (merge), S (strings)
>  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
>  O (extra OS processing required) o (OS specific), p (processor specific)
>
>There are no section groups in this file.
>
>Program Headers:
>  Type   Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
>  LOAD   0x00 0x0001 0x0001 0x60ab0 0x60ab0 R E 0x1
>  LOAD   0x061000 0x00081000 0x00081000 0x03395 0x05714 RW  0x1
>  NOTE   0xc0 0x000100c0 0x000100c0 0x00020 0x00020 R   0x10
>  GNU_STACK  0x00 0x 0x 0x0 0x0 RW  0x10
>
> Section to Segment mapping:
>  Segment Sections...
>   00 .note.ABI-tag .text .rodata
>   01 .data .bss
>   02 .note.ABI-tag
>   03
>
>There is no dynamic section in this file.
>
>There are no relocations in this file.
>
>There are no unwind 

Bug#695547: sprint/bof @ Debconf to fix fpc bugs #695547 and #826300

2016-07-05 Thread Peter Green

Tags 695547 +patch
Thanks

On 05/07/16 23:37, Steve McIntyre wrote:

So Peter and I were talking a little earlier on #debian-arm,
Specifically we were talking about the arm tag/flag stuff. I haven't 
looked into the powerpc issue.  Freepascal has a chunk of platform/cpu 
specific assembler code that is used for mixed pascal/c programs to 
initialise both the freepascal runtime library and libc. The powerpc 
linux version of this file is located at rtl/linux/powerpc/cprt0.as . It 
would not surprise me if it was something to do with this init code.


It would be good to try and get a backtrace ("access violation" 
generally means that the freepascal runtime library trapped a segfault 
and turned it into an exception).


The remainder of this mail is about the arm tag/flag stuff.

  and he
was making good progress on fixing stuff. He may have stuff all done
shortly, I guess... :-)
   
I think i've fixed the arm tag/flag stuff. With the small patch attached 
I get the following.


root@odroidu2:/# readelf --file-header /usr/bin/fpc
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class: ELF32
  Data:  2's complement, little endian
  Version:   1 (current)
  OS/ABI:UNIX - System V
  ABI Version:   0
  Type:  EXEC (Executable file)
  Machine:   ARM
  Version:   0x1
  Entry point address:   0x100ec
  Start of program headers:  52 (bytes into file)
  Start of section headers:  410616 (bytes into file)
  Flags: 0x5000400, Version5 EABI, hard-float ABI
  Size of this header:   52 (bytes)
  Size of program headers:   32 (bytes)
  Number of program headers: 4
  Size of section headers:   40 (bytes)
  Number of section headers: 8
  Section header string table index: 7
root@odroidu2:/#

root@odroidu2:/# readelf -a /usr/bin/fpc
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class: ELF32
  Data:  2's complement, little endian
  Version:   1 (current)
  OS/ABI:UNIX - System V
  ABI Version:   0
  Type:  EXEC (Executable file)
  Machine:   ARM
  Version:   0x1
  Entry point address:   0x100ec
  Start of program headers:  52 (bytes into file)
  Start of section headers:  410616 (bytes into file)
  Flags: 0x5000400, Version5 EABI, hard-float ABI
  Size of this header:   52 (bytes)
  Size of program headers:   32 (bytes)
  Number of program headers: 4
  Size of section headers:   40 (bytes)
  Number of section headers: 8
  Section header string table index: 7


Section Headers:
  [Nr] Name  TypeAddr OffSize   ES Flg Lk Inf Al
  [ 0]   NULL 00 00 00  0   0  0
  [ 1] .note.ABI-tag NOTE000100c0 c0 20 00   A  0   0 16
  [ 2] .text PROGBITS000100e0 e0 0501a4 00  AX  0   0  4
  [ 3] .rodata   PROGBITS00060288 050288 010828 00   A  0   0  8
  [ 4] .data PROGBITS00081000 061000 003395 00  WA  0   0  8
  [ 5] .bss  NOBITS  00084398 064395 00237c 00  WA  0   0  4
  [ 6] .ARM.attributes   ARM_ATTRIBUTES   064395 21 00  0   0  1
  [ 7] .shstrtab STRTAB   0643b6 42 00  0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers:
  Type   Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD   0x00 0x0001 0x0001 0x60ab0 0x60ab0 R E 0x1
  LOAD   0x061000 0x00081000 0x00081000 0x03395 0x05714 RW  0x1
  NOTE   0xc0 0x000100c0 0x000100c0 0x00020 0x00020 R   0x10
  GNU_STACK  0x00 0x 0x 0x0 0x0 RW  0x10

 Section to Segment mapping:
  Segment Sections...
   00 .note.ABI-tag .text .rodata
   01 .data .bss
   02 .note.ABI-tag
   03

There is no dynamic section in this file.

There are no relocations in this file.

There are no unwind sections in this file.

No version information found in this file.

Displaying notes found at file offset 0x00c0 with length 0x0020:
  Owner Data size   Description
  GNU  0x0010   NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 2.0.0
Attribute