[fpc-devel] sprint/bof @ Debconf to fix fpc bugs #695547 and #826300

Steve McIntyre steve at einval.com
Sun Jul 17 02:08:34 CEST 2016


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 at 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 at odroidu2:/#
>
>root at 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              Type            Addr     Off    Size   ES Flg Lk Inf Al
>  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
>  [ 1] .note.ABI-tag     NOTE            000100c0 0000c0 000020 00   A  0   0 16
>  [ 2] .text             PROGBITS        000100e0 0000e0 0501a4 00  AX  0   0  4
>  [ 3] .rodata           PROGBITS        00060288 050288 010828 00   A  0   0  8
>  [ 4] .data             PROGBITS        00081000 061000 003395 00  WA  0   0  8
>  [ 5] .bss              NOBITS          00084398 064395 00237c 00  WA  0   0  4
>  [ 6] .ARM.attributes   ARM_ATTRIBUTES  00000000 064395 000021 00      0   0  1
>  [ 7] .shstrtab         STRTAB          00000000 0643b6 000042 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           0x000000 0x00010000 0x00010000 0x60ab0 0x60ab0 R E 0x10000
>  LOAD           0x061000 0x00081000 0x00081000 0x03395 0x05714 RW  0x10000
>  NOTE           0x0000c0 0x000100c0 0x000100c0 0x00020 0x00020 R   0x10
>  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 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 0x000000c0 with length 0x00000020:
>  Owner                 Data size       Description
>  GNU                  0x00000010       NT_GNU_ABI_TAG (ABI version tag)
>    OS: Linux, ABI: 2.0.0
>Attribute Section: aeabi
>File Attributes
>  Tag_CPU_name: "7-A"
>  Tag_CPU_arch: v7
>  Tag_CPU_arch_profile: Application
>  Tag_ARM_ISA_use: Yes
>  Tag_THUMB_ISA_use: Thumb-2
>  Tag_FP_arch: VFPv3-D16
>  Tag_ABI_VFP_args: VFP registers
>root at odroidu2:/#
>
>Which looks good to me, does it look ok to others here?

That all looks good to me, yes. Thanks for this!

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
Google-bait:       http://www.debian.org/CD/free-linux-cd
  Debian does NOT ship free CDs. Please do NOT contact the mailing
  lists asking us to send them to you.




More information about the fpc-devel mailing list