Bug#924722: ktexteditor: symbols update for riscv64

2019-03-16 Thread James Clarke
On 16 Mar 2019, at 11:55, Aurelien Jarno  wrote:
> 
> Source: ktexteditor
> Version: 5.54.0-1
> Severity: normal
> Tags: patch
> User: debian-ri...@lists.debian.org
> Usertags: riscv64
> 
> Hi,
> 
> ktexteditor currently fails to build on the riscv64 architecture due to
> differences on the symbols file, as can be seen on the following build
> log:
> 
> https://buildd.debian.org/status/fetch.php?pkg=ktexteditor=riscv64=5.54.0-1=1552467392=0
> 
> The attached patch update the symbols file. It looks like riscv64
> behaves the same way than armel and mips64el, but I do not necessarily
> understand why. It would be nice if you can include it in the next
> upload.

FWIW, the non-optional (non-template instantiation) lines are down to the
default __gnu_cxx::_Lock_policy, which is defined as follows for multi-threaded
code:

#if (defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) \
 && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4))
  _S_atomic;
#else
  _S_mutex;
#endif

However, riscv64 only has _4 and _8, which I assume is due to it only having
lr.w and lr.d. But, at the same time, this is also true for MIPS, which still
defines _1 and _2, expanding them to a masked compare-and-swap, so it seems to
me that GCC should be doing the same on riscv64 and that this is really a GCC
bug. The LLVM backend for RISC-V supports this just like for MIPS (though the
Clang frontend doesn't currently let you use atomics). Aurelien, thoughts?

James



Bug#924722: ktexteditor: symbols update for riscv64

2019-03-16 Thread Aurelien Jarno
Source: ktexteditor
Version: 5.54.0-1
Severity: normal
Tags: patch
User: debian-ri...@lists.debian.org
Usertags: riscv64

Hi,

ktexteditor currently fails to build on the riscv64 architecture due to
differences on the symbols file, as can be seen on the following build
log:

https://buildd.debian.org/status/fetch.php?pkg=ktexteditor=riscv64=5.54.0-1=1552467392=0

The attached patch update the symbols file. It looks like riscv64
behaves the same way than armel and mips64el, but I do not necessarily
understand why. It would be nice if you can include it in the next
upload.

Thanks,
Aurelien
diff -Nru ktexteditor-5.54.0/debian/changelog 
ktexteditor-5.54.0/debian/changelog
--- ktexteditor-5.54.0/debian/changelog 2019-01-17 23:27:20.0 +0100
+++ ktexteditor-5.54.0/debian/changelog 2019-03-15 21:28:59.0 +0100
@@ -1,3 +1,9 @@
+ktexteditor (5.54.0-1+riscv64) unreleased; urgency=medium
+
+  * Update symbols files for riscv64.
+
+ -- Aurelien Jarno   Fri, 15 Mar 2019 20:28:59 +
+
 ktexteditor (5.54.0-1) unstable; urgency=medium
 
   * New upstream release (5.52.0).
diff -Nru ktexteditor-5.54.0/debian/libkf5texteditor5.symbols 
ktexteditor-5.54.0/debian/libkf5texteditor5.symbols
--- ktexteditor-5.54.0/debian/libkf5texteditor5.symbols 2019-01-17 
23:27:20.0 +0100
+++ ktexteditor-5.54.0/debian/libkf5texteditor5.symbols 2019-03-15 
21:28:57.0 +0100
@@ -2547,17 +2547,17 @@
  _ZNK7KateCmd11fromHistoryEi@Base 5.9.0
  _ZNK7KateCmd12queryCommandERK7QString@Base 5.9.0
  _ZNK7KateCmd8commandsEv@Base 5.9.0
- (optional=templinst|arch=!amd64 !arm64 
!mips64el)_ZNSt10_HashtableItSt4pairIKtsESaIS2_ENSt8__detail10_Select1stESt8equal_toItESt4hashItENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb121_M_insert_unique_nodeEjjPNS4_10_Hash_nodeIS2_Lb0EEEj@Base
 5.51.0
- (optional=templinst|arch=amd64 arm64 
mips64el)_ZNSt10_HashtableItSt4pairIKtsESaIS2_ENSt8__detail10_Select1stESt8equal_toItESt4hashItENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb121_M_insert_unique_nodeEmmPNS4_10_Hash_nodeIS2_Lb0EEEm@Base
 5.50.0
- 
(optional=templinst|arch=armel)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base
 5.51.0
- 
(optional=templinst|arch=!armel)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base
 5.50.0
- 
(optional=templinst|arch=armel)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base
 5.51.0
- 
(optional=templinst|arch=!armel)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base
 5.50.0
+ (optional=templinst|arch=!amd64 !arm64 !mips64el 
!riscv64)_ZNSt10_HashtableItSt4pairIKtsESaIS2_ENSt8__detail10_Select1stESt8equal_toItESt4hashItENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb121_M_insert_unique_nodeEjjPNS4_10_Hash_nodeIS2_Lb0EEEj@Base
 5.51.0
+ (optional=templinst|arch=amd64 arm64 mips64el 
riscv64)_ZNSt10_HashtableItSt4pairIKtsESaIS2_ENSt8__detail10_Select1stESt8equal_toItESt4hashItENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb121_M_insert_unique_nodeEmmPNS4_10_Hash_nodeIS2_Lb0EEEm@Base
 5.50.0
+ (optional=templinst|arch=armel 
riscv64)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base
 5.51.0
+ (optional=templinst|arch=!armel 
!riscv64)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base
 5.50.0
+ (optional=templinst|arch=armel 
riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base
 5.51.0
+ (optional=templinst|arch=!armel 
!riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base
 5.50.0
  
(optional=templinst)_ZNSt6vectorIN11KTextEditor5RangeESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base
 5.54.0
- (optional=templinst|arch=!amd64 !arm64 
!mips64el)_ZNSt6vectorIN19KSyntaxHighlighting6FormatESaIS1_EE17_M_default_appendEj@Base
 5.51.0
- (optional=templinst|arch=amd64 arm64 
mips64el)_ZNSt6vectorIN19KSyntaxHighlighting6FormatESaIS1_EE17_M_default_appendEm@Base
 5.50.0
+ (optional=templinst|arch=!amd64 !arm64 !mips64el 
!riscv64)_ZNSt6vectorIN19KSyntaxHighlighting6FormatESaIS1_EE17_M_default_appendEj@Base
 5.51.0
+ (optional=templinst|arch=amd64 arm64 mips64el 
riscv64)_ZNSt6vectorIN19KSyntaxHighlighting6FormatESaIS1_EE17_M_default_appendEm@Base
 5.50.0
  
(optional=templinst)_ZNSt6vectorIN19KSyntaxHighlighting6FormatESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base
 5.50.0
- 
(optional=templinst|arch=!mips64el)_ZNSt6vectorIN4Kate12TextLineData7FoldingESaIS2_EE17_M_realloc_insertIJRiS6_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base
 5.50.0
+ (optional=templinst|arch=!mips64el