Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2016-09-22 Thread Fathi Boudra
On 22 September 2016 at 11:56, Fathi Boudra  wrote:
> On 20 September 2016 at 17:21, Randy MacLeod
>  wrote:
>> On 2016-09-20 07:57 AM, Fathi Boudra wrote:
>>>
>>> Hi,
>>>
>>> On 20 September 2016 at 05:12, ChenQi >> > wrote:

 On 09/26/2014 05:59 PM, Fathi Boudra wrote:
>
>
> * pass --enable-debug-frame on aarch64 architecture



 Hi Fathi,

 I'm now dealing with a problem related to libunwind support on aarch64.
 Could you please tell me why '--enable-debug-frame' is needed for
 aarch64?
>>>
>>>
>>> libunwind needs to be configured with --enable-debug-frame to prevent a
>>> linkage error.
>>> Note: --enable-debug-frame is automatically selected on ARM32, not on
>>> ARM64.
>>>
>
> Admittedly, I haven't checked recently and things may have progressed 
> upstream.
> I'm going to double check with our toolchain guys.

After asking to the TC guys, AArch64 doesn't default to debug-frame usage yet.
But as it is the only unwinding mechanism implemented in it, it would
make sense to make it the default.
They're going to give a deeper look to it, and propose a patch if needed.

>> Thanks.
>> We dropped the configuration flag and don't see any linking/linkage
>> problems yet. Can you be more specific about the problems encountered?
>>
>> Our goal is to make tcmalloc from gperftools work on ARM64.

tcmalloc >= 2.4 has support for arm64. We've upstreamed support a year ago.
If you use latest release (2.5), it should work without issues.

>> ../Randy
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2016-09-22 Thread Fathi Boudra
On 20 September 2016 at 17:21, Randy MacLeod
 wrote:
> On 2016-09-20 07:57 AM, Fathi Boudra wrote:
>>
>> Hi,
>>
>> On 20 September 2016 at 05:12, ChenQi > > wrote:
>>>
>>> On 09/26/2014 05:59 PM, Fathi Boudra wrote:


 * pass --enable-debug-frame on aarch64 architecture
>>>
>>>
>>>
>>> Hi Fathi,
>>>
>>> I'm now dealing with a problem related to libunwind support on aarch64.
>>> Could you please tell me why '--enable-debug-frame' is needed for
>>> aarch64?
>>
>>
>> libunwind needs to be configured with --enable-debug-frame to prevent a
>> linkage error.
>> Note: --enable-debug-frame is automatically selected on ARM32, not on
>> ARM64.
>>

Admittedly, I haven't checked recently and things may have progressed upstream.
I'm going to double check with our toolchain guys.

> Thanks.
> We dropped the configuration flag and don't see any linking/linkage
> problems yet. Can you be more specific about the problems encountered?
>
> Our goal is to make tcmalloc from gperftools work on ARM64.
>
> ../Randy
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2016-09-20 Thread Khem Raj
On Tue, Sep 20, 2016 at 7:21 AM, Randy MacLeod
 wrote:
> On 2016-09-20 07:57 AM, Fathi Boudra wrote:
>>
>> Hi,
>>
>> On 20 September 2016 at 05:12, ChenQi > > wrote:
>>>
>>> On 09/26/2014 05:59 PM, Fathi Boudra wrote:


 * pass --enable-debug-frame on aarch64 architecture
>>>
>>>
>>>
>>> Hi Fathi,
>>>
>>> I'm now dealing with a problem related to libunwind support on aarch64.
>>> Could you please tell me why '--enable-debug-frame' is needed for
>>> aarch64?
>>
>>
>> libunwind needs to be configured with --enable-debug-frame to prevent a
>> linkage error.
>> Note: --enable-debug-frame is automatically selected on ARM32, not on
>> ARM64.
>>
>
> Thanks.
> We dropped the configuration flag and don't see any linking/linkage
> problems yet. Can you be more specific about the problems encountered?

This would enable .debug_frame instead of .eh_frame for unwinding.
AFAICT it was only
needed on arm ( 32bit) not sure you need this on aarch64

>
> Our goal is to make tcmalloc from gperftools work on ARM64.
>
> ../Randy
>
>
>>> Best Regards,
>>> Chen Qi
>>
>>
>> Cheers,
>> Fathi
>>
>>
>
>
> --
> # Randy MacLeod. SMTS, Linux, Wind River
> Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada,
> K2K 2W5
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2016-09-20 Thread Randy MacLeod

On 2016-09-20 07:57 AM, Fathi Boudra wrote:

Hi,

On 20 September 2016 at 05:12, ChenQi > wrote:

On 09/26/2014 05:59 PM, Fathi Boudra wrote:


* pass --enable-debug-frame on aarch64 architecture



Hi Fathi,

I'm now dealing with a problem related to libunwind support on aarch64.
Could you please tell me why '--enable-debug-frame' is needed for aarch64?


libunwind needs to be configured with --enable-debug-frame to prevent a
linkage error.
Note: --enable-debug-frame is automatically selected on ARM32, not on ARM64.



Thanks.
We dropped the configuration flag and don't see any linking/linkage
problems yet. Can you be more specific about the problems encountered?

Our goal is to make tcmalloc from gperftools work on ARM64.

../Randy


Best Regards,
Chen Qi


Cheers,
Fathi





--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, 
Canada, K2K 2W5

--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2016-09-20 Thread Fathi Boudra
Hi,

On 20 September 2016 at 05:12, ChenQi  wrote:
> On 09/26/2014 05:59 PM, Fathi Boudra wrote:
>>
>> * pass --enable-debug-frame on aarch64 architecture
>
>
> Hi Fathi,
>
> I'm now dealing with a problem related to libunwind support on aarch64.
> Could you please tell me why '--enable-debug-frame' is needed for aarch64?

libunwind needs to be configured with --enable-debug-frame to prevent a
linkage error.
Note: --enable-debug-frame is automatically selected on ARM32, not on ARM64.

> Best Regards,
> Chen Qi

Cheers,
Fathi
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2016-09-19 Thread ChenQi

On 09/26/2014 05:59 PM, Fathi Boudra wrote:

* pass --enable-debug-frame on aarch64 architecture


Hi Fathi,

I'm now dealing with a problem related to libunwind support on aarch64.
Could you please tell me why '--enable-debug-frame' is needed for aarch64?

Best Regards,
Chen Qi


* include patches:
   - aarch64 port (backported from upstream)
   - Support-building-with-older-compilers (fix undefined reference to
 `unreachable' on older compilers)

Signed-off-by: Fathi Boudra 
---
  .../libunwind/libunwind-1.1/AArch64-port.patch | 2529 
  .../Support-building-with-older-compilers.patch|   72 +
  meta/recipes-support/libunwind/libunwind.inc   |1 +
  meta/recipes-support/libunwind/libunwind_1.1.bb|5 +
  4 files changed, 2607 insertions(+)
  create mode 100644 
meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
  create mode 100644 
meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch

diff --git a/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch 
b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
new file mode 100644
index 000..228ec32
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
@@ -0,0 +1,2529 @@
+From ac6c0a6535975f1dc2da6e4e2766614baac2a14a Mon Sep 17 00:00:00 2001
+From: Yvan Roux 
+Date: Sat, 11 May 2013 09:18:23 -0600
+Subject: [PATCH] AArch64 port.
+
+Upstream-Status: Backport
+
+---
+ Makefile.am  |6
+ README   |1
+ configure.ac |6
+ include/libunwind-aarch64.h  |  187 ++
+ include/libunwind.h.in   |4
+ include/tdep-aarch64/dwarf-config.h  |   52 ++
+ include/tdep-aarch64/jmpbuf.h|   33 +++
+ include/tdep-aarch64/libunwind_i.h   |  294 
+++
+ include/tdep/dwarf-config.h  |4
+ include/tdep/jmpbuf.h|2
+ include/tdep/libunwind_i.h.in|4
+ src/Makefile.am  |   39 
+ src/aarch64/Gcreate_addr_space.c |   60 +++
+ src/aarch64/Gget_proc_info.c |   39 
+ src/aarch64/Gget_save_loc.c  |  100 +++
+ src/aarch64/Gglobal.c|   57 ++
+ src/aarch64/Ginit.c  |  187 ++
+ src/aarch64/Ginit_local.c|   55 ++
+ src/aarch64/Ginit_remote.c   |   45 +
+ src/aarch64/Gis_signal_frame.c   |   64 +++
+ src/aarch64/Gregs.c  |  113 +
+ src/aarch64/Gresume.c|  177 +
+ src/aarch64/Gstep.c  |  129 +++
+ src/aarch64/Lcreate_addr_space.c |5
+ src/aarch64/Lget_proc_info.c |5
+ src/aarch64/Lget_save_loc.c  |5
+ src/aarch64/Lglobal.c|5
+ src/aarch64/Linit.c  |5
+ src/aarch64/Linit_local.c|5
+ src/aarch64/Linit_remote.c   |5
+ src/aarch64/Lis_signal_frame.c   |5
+ src/aarch64/Lregs.c  |5
+ src/aarch64/Lresume.c|5
+ src/aarch64/Lstep.c  |5
+ src/aarch64/gen-offsets.c|   68 
+ src/aarch64/init.h   |  127 +++
+ src/aarch64/is_fpreg.c   |   32 +++
+ src/aarch64/offsets.h|   49 +
+ src/aarch64/regname.c|  106 
+ src/aarch64/siglongjmp.S |   12 +
+ src/aarch64/unwind_i.h   |   43 +
+ src/coredump/_UCD_access_reg_linux.c |5
+ src/ptrace/_UPT_reg_offset.c |   36 
+ 43 files changed, 2184 insertions(+), 7 deletions(-)
+ create mode 100644 include/libunwind-aarch64.h
+ create mode 100644 include/tdep-aarch64/dwarf-config.h
+ create mode 100644 include/tdep-aarch64/jmpbuf.h
+ create mode 100644 include/tdep-aarch64/libunwind_i.h
+ create mode 100644 src/aarch64/Gcreate_addr_space.c
+ create mode 100644 src/aarch64/Gget_proc_info.c
+ create mode 100644 src/aarch64/Gget_save_loc.c
+ create mode 100644 src/aarch64/Gglobal.c
+ create mode 100644 src/aarch64/Ginit.c
+ create mode 100644 src/aarch64/Ginit_local.c
+ create mode 100644 src/aarch64/Ginit_remote.c
+ create mode 100644 src/aarch64/Gis_signal_frame.c
+ create mode 100644 src/aarch64/Gregs.c
+ create mode 100644 src/aarch64/Gresume.c
+ create mode 100644 src/aarch64/Gstep.c
+ create mode 100644 src/aarch64/Lcreate_addr_space.c
+ create mode 100644 src/aarch64/Lget_proc_info.c
+ create mode 100644 src/aarch64/Lget_save_loc.c
+ create mode 100644 src/aarch64/Lglobal.c
+ create mode 100644 src/aarch64/Linit.c
+ create mode 100644 src/aarch64/Linit_local.c
+ create mode 100644 src/aarch64/Linit_remote.c
+ create mode 100644 src/aarch64/Lis_signal_frame.c
+ create mode 100644 src/aarch64/Lregs.c
+ create mode 100644 

Re: [OE-core] [PATCH v2] libunwind: add aarch64 support

2014-09-28 Thread Kang Kai

On 2014年09月26日 17:59, Fathi Boudra wrote:

* pass --enable-debug-frame on aarch64 architecture
* include patches:
   - aarch64 port (backported from upstream)
   - Support-building-with-older-compilers (fix undefined reference to
 `unreachable' on older compilers)


Tested and staged in poky-contrib branch kangkai/qemuarm64.

--Kai



Signed-off-by: Fathi Boudra fathi.bou...@linaro.org
---
  .../libunwind/libunwind-1.1/AArch64-port.patch | 2529 
  .../Support-building-with-older-compilers.patch|   72 +
  meta/recipes-support/libunwind/libunwind.inc   |1 +
  meta/recipes-support/libunwind/libunwind_1.1.bb|5 +
  4 files changed, 2607 insertions(+)
  create mode 100644 
meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
  create mode 100644 
meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch

diff --git a/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch 
b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
new file mode 100644
index 000..228ec32
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
@@ -0,0 +1,2529 @@
+From ac6c0a6535975f1dc2da6e4e2766614baac2a14a Mon Sep 17 00:00:00 2001
+From: Yvan Roux yvan.r...@linaro.org
+Date: Sat, 11 May 2013 09:18:23 -0600
+Subject: [PATCH] AArch64 port.
+
+Upstream-Status: Backport
+
+---
+ Makefile.am  |6
+ README   |1
+ configure.ac |6
+ include/libunwind-aarch64.h  |  187 ++
+ include/libunwind.h.in   |4
+ include/tdep-aarch64/dwarf-config.h  |   52 ++
+ include/tdep-aarch64/jmpbuf.h|   33 +++
+ include/tdep-aarch64/libunwind_i.h   |  294 
+++
+ include/tdep/dwarf-config.h  |4
+ include/tdep/jmpbuf.h|2
+ include/tdep/libunwind_i.h.in|4
+ src/Makefile.am  |   39 
+ src/aarch64/Gcreate_addr_space.c |   60 +++
+ src/aarch64/Gget_proc_info.c |   39 
+ src/aarch64/Gget_save_loc.c  |  100 +++
+ src/aarch64/Gglobal.c|   57 ++
+ src/aarch64/Ginit.c  |  187 ++
+ src/aarch64/Ginit_local.c|   55 ++
+ src/aarch64/Ginit_remote.c   |   45 +
+ src/aarch64/Gis_signal_frame.c   |   64 +++
+ src/aarch64/Gregs.c  |  113 +
+ src/aarch64/Gresume.c|  177 +
+ src/aarch64/Gstep.c  |  129 +++
+ src/aarch64/Lcreate_addr_space.c |5
+ src/aarch64/Lget_proc_info.c |5
+ src/aarch64/Lget_save_loc.c  |5
+ src/aarch64/Lglobal.c|5
+ src/aarch64/Linit.c  |5
+ src/aarch64/Linit_local.c|5
+ src/aarch64/Linit_remote.c   |5
+ src/aarch64/Lis_signal_frame.c   |5
+ src/aarch64/Lregs.c  |5
+ src/aarch64/Lresume.c|5
+ src/aarch64/Lstep.c  |5
+ src/aarch64/gen-offsets.c|   68 
+ src/aarch64/init.h   |  127 +++
+ src/aarch64/is_fpreg.c   |   32 +++
+ src/aarch64/offsets.h|   49 +
+ src/aarch64/regname.c|  106 
+ src/aarch64/siglongjmp.S |   12 +
+ src/aarch64/unwind_i.h   |   43 +
+ src/coredump/_UCD_access_reg_linux.c |5
+ src/ptrace/_UPT_reg_offset.c |   36 
+ 43 files changed, 2184 insertions(+), 7 deletions(-)
+ create mode 100644 include/libunwind-aarch64.h
+ create mode 100644 include/tdep-aarch64/dwarf-config.h
+ create mode 100644 include/tdep-aarch64/jmpbuf.h
+ create mode 100644 include/tdep-aarch64/libunwind_i.h
+ create mode 100644 src/aarch64/Gcreate_addr_space.c
+ create mode 100644 src/aarch64/Gget_proc_info.c
+ create mode 100644 src/aarch64/Gget_save_loc.c
+ create mode 100644 src/aarch64/Gglobal.c
+ create mode 100644 src/aarch64/Ginit.c
+ create mode 100644 src/aarch64/Ginit_local.c
+ create mode 100644 src/aarch64/Ginit_remote.c
+ create mode 100644 src/aarch64/Gis_signal_frame.c
+ create mode 100644 src/aarch64/Gregs.c
+ create mode 100644 src/aarch64/Gresume.c
+ create mode 100644 src/aarch64/Gstep.c
+ create mode 100644 src/aarch64/Lcreate_addr_space.c
+ create mode 100644 src/aarch64/Lget_proc_info.c
+ create mode 100644 src/aarch64/Lget_save_loc.c
+ create mode 100644 src/aarch64/Lglobal.c
+ create mode 100644 src/aarch64/Linit.c
+ create mode 100644 src/aarch64/Linit_local.c
+ create mode 100644 src/aarch64/Linit_remote.c
+ create mode 100644 src/aarch64/Lis_signal_frame.c
+ create mode 100644 src/aarch64/Lregs.c
+ create mode 100644 src/aarch64/Lresume.c
+ create mode 100644 src/aarch64/Lstep.c
+ create mode 100644 src/aarch64/gen-offsets.c
+ create mode 

[OE-core] [PATCH v2] libunwind: add aarch64 support

2014-09-26 Thread Fathi Boudra
* pass --enable-debug-frame on aarch64 architecture
* include patches:
  - aarch64 port (backported from upstream)
  - Support-building-with-older-compilers (fix undefined reference to
`unreachable' on older compilers)

Signed-off-by: Fathi Boudra fathi.bou...@linaro.org
---
 .../libunwind/libunwind-1.1/AArch64-port.patch | 2529 
 .../Support-building-with-older-compilers.patch|   72 +
 meta/recipes-support/libunwind/libunwind.inc   |1 +
 meta/recipes-support/libunwind/libunwind_1.1.bb|5 +
 4 files changed, 2607 insertions(+)
 create mode 100644 
meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
 create mode 100644 
meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch

diff --git a/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch 
b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
new file mode 100644
index 000..228ec32
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
@@ -0,0 +1,2529 @@
+From ac6c0a6535975f1dc2da6e4e2766614baac2a14a Mon Sep 17 00:00:00 2001
+From: Yvan Roux yvan.r...@linaro.org
+Date: Sat, 11 May 2013 09:18:23 -0600
+Subject: [PATCH] AArch64 port.
+
+Upstream-Status: Backport
+
+---
+ Makefile.am  |6 
+ README   |1 
+ configure.ac |6 
+ include/libunwind-aarch64.h  |  187 ++
+ include/libunwind.h.in   |4 
+ include/tdep-aarch64/dwarf-config.h  |   52 ++
+ include/tdep-aarch64/jmpbuf.h|   33 +++
+ include/tdep-aarch64/libunwind_i.h   |  294 
+++
+ include/tdep/dwarf-config.h  |4 
+ include/tdep/jmpbuf.h|2 
+ include/tdep/libunwind_i.h.in|4 
+ src/Makefile.am  |   39 
+ src/aarch64/Gcreate_addr_space.c |   60 +++
+ src/aarch64/Gget_proc_info.c |   39 
+ src/aarch64/Gget_save_loc.c  |  100 +++
+ src/aarch64/Gglobal.c|   57 ++
+ src/aarch64/Ginit.c  |  187 ++
+ src/aarch64/Ginit_local.c|   55 ++
+ src/aarch64/Ginit_remote.c   |   45 +
+ src/aarch64/Gis_signal_frame.c   |   64 +++
+ src/aarch64/Gregs.c  |  113 +
+ src/aarch64/Gresume.c|  177 +
+ src/aarch64/Gstep.c  |  129 +++
+ src/aarch64/Lcreate_addr_space.c |5 
+ src/aarch64/Lget_proc_info.c |5 
+ src/aarch64/Lget_save_loc.c  |5 
+ src/aarch64/Lglobal.c|5 
+ src/aarch64/Linit.c  |5 
+ src/aarch64/Linit_local.c|5 
+ src/aarch64/Linit_remote.c   |5 
+ src/aarch64/Lis_signal_frame.c   |5 
+ src/aarch64/Lregs.c  |5 
+ src/aarch64/Lresume.c|5 
+ src/aarch64/Lstep.c  |5 
+ src/aarch64/gen-offsets.c|   68 
+ src/aarch64/init.h   |  127 +++
+ src/aarch64/is_fpreg.c   |   32 +++
+ src/aarch64/offsets.h|   49 +
+ src/aarch64/regname.c|  106 
+ src/aarch64/siglongjmp.S |   12 +
+ src/aarch64/unwind_i.h   |   43 +
+ src/coredump/_UCD_access_reg_linux.c |5 
+ src/ptrace/_UPT_reg_offset.c |   36 
+ 43 files changed, 2184 insertions(+), 7 deletions(-)
+ create mode 100644 include/libunwind-aarch64.h
+ create mode 100644 include/tdep-aarch64/dwarf-config.h
+ create mode 100644 include/tdep-aarch64/jmpbuf.h
+ create mode 100644 include/tdep-aarch64/libunwind_i.h
+ create mode 100644 src/aarch64/Gcreate_addr_space.c
+ create mode 100644 src/aarch64/Gget_proc_info.c
+ create mode 100644 src/aarch64/Gget_save_loc.c
+ create mode 100644 src/aarch64/Gglobal.c
+ create mode 100644 src/aarch64/Ginit.c
+ create mode 100644 src/aarch64/Ginit_local.c
+ create mode 100644 src/aarch64/Ginit_remote.c
+ create mode 100644 src/aarch64/Gis_signal_frame.c
+ create mode 100644 src/aarch64/Gregs.c
+ create mode 100644 src/aarch64/Gresume.c
+ create mode 100644 src/aarch64/Gstep.c
+ create mode 100644 src/aarch64/Lcreate_addr_space.c
+ create mode 100644 src/aarch64/Lget_proc_info.c
+ create mode 100644 src/aarch64/Lget_save_loc.c
+ create mode 100644 src/aarch64/Lglobal.c
+ create mode 100644 src/aarch64/Linit.c
+ create mode 100644 src/aarch64/Linit_local.c
+ create mode 100644 src/aarch64/Linit_remote.c
+ create mode 100644 src/aarch64/Lis_signal_frame.c
+ create mode 100644 src/aarch64/Lregs.c
+ create mode 100644 src/aarch64/Lresume.c
+ create mode 100644 src/aarch64/Lstep.c
+ create mode 100644 src/aarch64/gen-offsets.c
+ create mode 100644 src/aarch64/init.h
+ create mode 100644 src/aarch64/is_fpreg.c
+ create mode 100644