Chris, Frank,

I don't feel particularly comfortable with this patch. It works here on Ubuntu 20.04 with python 3.3 and Ubuntu 22.04 with Python 3.10, but I have to admit semantics of this cfg language is beyond my liking and a lot is in complete darkness here. E.g. how &&, < operator are working here. Delete both int conversions and it'll not work at all. Keep one and it'll work well. The problem is probably lack of time to go thorough all the docs on docs.rtems.org to find relevant bits while working on the patch.

Anyway, if you have time, please review and test on your platforms.

Thanks,
Karel

On 4/20/22 20:30, Karel Gardas wrote:
Fixes #4631
---
  source-builder/config/gdb-common-1.cfg | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/source-builder/config/gdb-common-1.cfg 
b/source-builder/config/gdb-common-1.cfg
index c7f39552..dba6f212 100644
--- a/source-builder/config/gdb-common-1.cfg
+++ b/source-builder/config/gdb-common-1.cfg
@@ -109,7 +109,13 @@
    %endif
    %if %{gdb-python-config} != %{nil}
      %define gdb-python-lib-filter awk 'BEGIN{FS=" 
"}/python/{for(i=1;i<NF;++i)if(match($i,".*lpython.*")) print "lib"substr($i,3)"*";}'
-    %if %{gdb-python-ver-mm} < 3.8
+    %define gdb-python-ver-mm-major %(echo "%{gdb-python-ver-mm}" | sed -e 
's/\..*//')
+    %define gdb-python-ver-mm-minor %(echo "%{gdb-python-ver-mm}" | sed -e 
's/.*\.//')
+    # following comparion works correctly even for python 2 as it ends with 
version 2.7.x
+    # so we do not get possibly problematic 2.8 and others here.
+    # Note: int(...) usage is necessary in order to enforce numerical 
comparison instead of lexicographical
+    # if we do not use that then 10 < 8 would be true
+    %if int(%{gdb-python-ver-mm-major}) <= 3 && int(%{gdb-python-ver-mm-major}) 
< 8
          %define gdb-python-config-lib-check-flags --ldflags
      %else
          %define gdb-python-config-lib-check-flags --ldflags --embed


_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to