From 267b55ff0edcc1ffa99a94f5265b8c5e3f5f64b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Mon, 10 Oct 2022 15:39:48 +0200 Subject: [PATCH 01/84] Update gdb-6.6-buildid-locate.patch to fix RHBZ 2122947. --- gdb-6.6-buildid-locate.patch | 11 +++++------ gdb.spec | 5 ++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index 6229244..1a87c47 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -694,17 +694,16 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (debug_bfd != NULL) return debug_bfd; -@@ -174,7 +678,8 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, +@@ -174,7 +678,7 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, if (!gdb_sysroot.empty ()) { link = gdb_sysroot + link; - debug_bfd = build_id_to_debug_bfd_1 (link, build_id_len, build_id); -+ debug_bfd = build_id_to_debug_bfd_1 (link, build_id_len, build_id, -+ link_return); ++ debug_bfd = build_id_to_debug_bfd_1 (link, build_id_len, build_id, NULL); if (debug_bfd != NULL) return debug_bfd; } -@@ -183,30 +688,649 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, +@@ -183,30 +687,649 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, return {}; } @@ -1360,7 +1359,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (build_id != NULL) { if (separate_debug_file_debug) -@@ -214,8 +1338,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -214,8 +1337,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) _("\nLooking for separate debug info (build-id) for " "%s\n"), objfile_name (objfile)); @@ -1383,7 +1382,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c /* Prevent looping on a stripped .debug file. */ if (abfd != NULL && filename_cmp (bfd_get_filename (abfd.get ()), -@@ -228,3 +1365,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -228,3 +1364,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) return std::string (); } diff --git a/gdb.spec b/gdb.spec index 22109df..ba3eb68 100644 --- a/gdb.spec +++ b/gdb.spec @@ -51,7 +51,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1189,6 +1189,9 @@ fi %endif %changelog +* Fri Oct 7 2022 Alexandra Hájková - 12.1-6 +- Update gdb-6.6-buildid-locate.patch to fix RHBZ 2122947. + * Thu Jul 28 2022 Amit Shah - 12.1-5 - Use the dist_name macro to identify the distribution From c5ab349836864ef0f1bb0a1969106199b3afd7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Tue, 11 Oct 2022 14:58:12 +0200 Subject: [PATCH 02/84] Backport upstream patch "Add support for readline 8.2". (Andreas Schwab) --- _gdb.spec.Patch.include | 3 +++ _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-backport-readline_support.patch | 31 +++++++++++++++++++++++++++++ gdb.spec | 3 +++ 5 files changed, 39 insertions(+) create mode 100644 gdb-backport-readline_support.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index e22e9de..bf0e73e 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -310,3 +310,6 @@ Patch073: gdb-rhbz1398387-tab-crash-test.patch # =fedoratest Patch074: gdb-rhbz1553104-s390x-arch12-test.patch + +Patch075: gdb-backport-readline_support.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index affe771..f5bd893 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,3 +72,4 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 +%patch075 -p1 diff --git a/_patch_order b/_patch_order index e972e1b..9442472 100644 --- a/_patch_order +++ b/_patch_order @@ -72,3 +72,4 @@ gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch gdb-rhbz1398387-tab-crash-test.patch gdb-rhbz1553104-s390x-arch12-test.patch +gdb-backport-readline_support.patch diff --git a/gdb-backport-readline_support.patch b/gdb-backport-readline_support.patch new file mode 100644 index 0000000..89f381b --- /dev/null +++ b/gdb-backport-readline_support.patch @@ -0,0 +1,31 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= +Date: Mon, 10 Oct 2022 15:44:52 +0200 +Subject: gdb-backport-readline_support.patch + +Add support for readline 8.2 + +In readline 8.2 the type of rl_completer_word_break_characters changed to +include const. + +diff --git a/gdb/completer.c b/gdb/completer.c +--- a/gdb/completer.c ++++ b/gdb/completer.c +@@ -36,7 +36,7 @@ + calling a hook instead so we eliminate the CLI dependency. */ + #include "gdbcmd.h" + +-/* Needed for rl_completer_word_break_characters() and for ++/* Needed for rl_completer_word_break_characters and for + rl_filename_completion_function. */ + #include "readline/readline.h" + +@@ -2011,7 +2011,7 @@ gdb_completion_word_break_characters_throw () + rl_basic_quote_characters = NULL; + } + +- return rl_completer_word_break_characters; ++ return (char *) rl_completer_word_break_characters; + } + + char * diff --git a/gdb.spec b/gdb.spec index ba3eb68..9f3ea3c 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1189,6 +1189,9 @@ fi %endif %changelog +* Tue Oct 13 2022 Alexandra Hájková - 12.1-6 +- Backport upstream patch "Add support for readline 8.2". (Andreas Schwab) + * Fri Oct 7 2022 Alexandra Hájková - 12.1-6 - Update gdb-6.6-buildid-locate.patch to fix RHBZ 2122947. From e599c1296e87d9863ea2d04e844e93ae70a8eda5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Tue, 11 Oct 2022 15:34:49 +0200 Subject: [PATCH 03/84] gdb.spec: Fix the wrong date in a changelog. --- gdb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 9f3ea3c..0750d59 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1189,7 +1189,7 @@ fi %endif %changelog -* Tue Oct 13 2022 Alexandra Hájková - 12.1-6 +* Tue Oct 11 2022 Alexandra Hájková - 12.1-6 - Backport upstream patch "Add support for readline 8.2". (Andreas Schwab) * Fri Oct 7 2022 Alexandra Hájková - 12.1-6 From d6591abf53e21f76e26e9eb61a0243e932a41b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Thu, 13 Oct 2022 18:04:14 +0200 Subject: [PATCH 04/84] Bump the release number. --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 0750d59..784f152 100644 --- a/gdb.spec +++ b/gdb.spec @@ -51,7 +51,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1189,6 +1189,9 @@ fi %endif %changelog +* Thu Oct 13 2022 Alexandra Hájková - 12.1-7 +- Bump the release number. + * Tue Oct 11 2022 Alexandra Hájková - 12.1-6 - Backport upstream patch "Add support for readline 8.2". (Andreas Schwab) From 89341dc86535b94ada1849f0d1606d1d784bba92 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Wed, 12 Oct 2022 09:41:33 +0200 Subject: [PATCH 05/84] remove gdb-6.3-test-dtor-fix, since it was upstreamed. --- _gdb.spec.Patch.include | 148 ++++++++--------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-test-dtorfix-20050121.patch | 247 ---------------------------- gdb.spec | 4 + 5 files changed, 76 insertions(+), 325 deletions(-) delete mode 100644 gdb-6.3-test-dtorfix-20050121.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index bf0e73e..dca185a 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -7,291 +7,287 @@ Patch001: gdb-6.3-rh-testversion-20041202.patch #=push Patch002: gdb-6.3-gstack-20050411.patch -# Test support of multiple destructors just like multiple constructors -#=fedoratest -Patch003: gdb-6.3-test-dtorfix-20050121.patch - # Fix to support executable moving #=fedoratest -Patch004: gdb-6.3-test-movedir-20050125.patch +Patch003: gdb-6.3-test-movedir-20050125.patch # Test sibling threads to set threaded watchpoints for x86 and x86-64 #=fedoratest -Patch005: gdb-6.3-threaded-watchpoints2-20050225.patch +Patch004: gdb-6.3-threaded-watchpoints2-20050225.patch # Verify printing of inherited members test #=fedoratest -Patch006: gdb-6.3-inheritancetest-20050726.patch +Patch005: gdb-6.3-inheritancetest-20050726.patch # Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). #=push+jan: It should be replaced by Infinity project. -Patch007: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +Patch006: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch # Fix TLS symbols resolving for shared libraries with a relative pathname. # The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. #=fedoratest: One should recheck if it is really fixed upstream. -Patch008: gdb-6.5-sharedlibrary-path.patch +Patch007: gdb-6.5-sharedlibrary-path.patch # Improved testsuite results by the testsuite provided by the courtesy of BEA. #=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful. -Patch009: gdb-6.5-BEA-testsuite.patch +Patch008: gdb-6.5-BEA-testsuite.patch # Testcase for deadlocking on last address space byte; for corrupted backtraces. #=fedoratest -Patch010: gdb-6.5-last-address-space-byte-test.patch +Patch009: gdb-6.5-last-address-space-byte-test.patch # Fix readline segfault on excessively long hand-typed lines. #=fedoratest -Patch011: gdb-6.5-readline-long-line-crash-test.patch +Patch010: gdb-6.5-readline-long-line-crash-test.patch # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch012: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch011: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Find symbols properly at their original (included) file (BZ 109921). #=fedoratest -Patch013: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch012: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Update PPC unwinding patches to their upstream variants (BZ 140532). #=fedoratest -Patch014: gdb-6.3-bz140532-ppc-unwinding-test.patch +Patch013: gdb-6.3-bz140532-ppc-unwinding-test.patch # Testcase for exec() from threaded program (BZ 202689). #=fedoratest -Patch015: gdb-6.3-bz202689-exec-from-pthread-test.patch +Patch014: gdb-6.3-bz202689-exec-from-pthread-test.patch # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). #=fedoratest -Patch016: gdb-6.6-bz230000-power6-disassembly-test.patch +Patch015: gdb-6.6-bz230000-power6-disassembly-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch017: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch016: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch018: gdb-6.6-testsuite-timeouts.patch +Patch017: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch019: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch018: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch020: gdb-6.3-attach-see-vdso-test.patch +Patch019: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch021: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch020: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch022: gdb-6.6-buildid-locate.patch +Patch021: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch023: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch022: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch024: gdb-6.6-buildid-locate-rpm.patch +Patch023: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch025: gdb-6.7-charsign-test.patch +Patch024: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch026: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch025: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch027: gdb-6.7-testsuite-stable-results.patch +Patch026: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch028: gdb-6.5-ia64-libunwind-leak-test.patch +Patch027: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch029: gdb-6.5-missed-trap-on-step-test.patch +Patch028: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch030: gdb-6.5-gcore-buffer-limit-test.patch +Patch029: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch031: gdb-6.3-mapping-zero-inode-test.patch +Patch030: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on `focus cmd', `focus prev' commands. #=fedoratest -Patch032: gdb-6.3-focus-cmd-prev-test.patch +Patch031: gdb-6.3-focus-cmd-prev-test.patch # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch033: gdb-6.8-bz442765-threaded-exec-test.patch +Patch032: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch034: gdb-6.5-section-num-fixup-test.patch +Patch033: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch035: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch034: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch036: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch035: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch037: gdb-core-open-vdso-warning.patch +Patch036: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch038: gdb-ccache-workaround.patch +Patch037: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch039: gdb-lineno-makeup-test.patch +Patch038: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch040: gdb-ppc-power7-test.patch +Patch039: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch041: gdb-archer-next-over-throw-cxx-exec.patch +Patch040: gdb-archer-next-over-throw-cxx-exec.patch # Backport DWARF-4 support (BZ 601887, Tom Tromey). #=fedoratest -Patch042: gdb-bz601887-dwarf4-rh-test.patch +Patch041: gdb-bz601887-dwarf4-rh-test.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch043: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch042: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch044: gdb-test-bt-cfi-without-die.patch +Patch043: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch045: gdb-bz634108-solib_address.patch +Patch044: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch046: gdb-test-pid0-core.patch +Patch045: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch047: gdb-test-dw2-aranges.patch +Patch046: gdb-test-dw2-aranges.patch # [archer-keiths-expr-cumulative+upstream] Import C++ testcases. #=fedoratest -Patch048: gdb-test-expr-cumulative-archer.patch +Patch047: gdb-test-expr-cumulative-archer.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch049: gdb-physname-pr11734-test.patch +Patch048: gdb-physname-pr11734-test.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch050: gdb-physname-pr12273-test.patch +Patch049: gdb-physname-pr12273-test.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch051: gdb-test-ivy-bridge.patch +Patch050: gdb-test-ivy-bridge.patch # Hack for proper PIE run of the testsuite. #=fedoratest -Patch052: gdb-runtest-pie-override.patch +Patch051: gdb-runtest-pie-override.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch053: gdb-glibc-strstr-workaround.patch +Patch052: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch054: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch053: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch055: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch054: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch056: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch055: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch057: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch056: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch058: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch057: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Display Fortran strings in backtraces. #=fedoratest -Patch059: gdb-fortran-frame-string.patch +Patch058: gdb-fortran-frame-string.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch060: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch059: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch061: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch060: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch062: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch061: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch063: gdb-rhbz1350436-type-printers-error.patch +Patch062: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch064: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch063: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch065: gdb-fedora-libncursesw.patch +Patch064: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch066: gdb-opcodes-clflushopt-test.patch +Patch065: gdb-opcodes-clflushopt-test.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch067: gdb-6.6-buildid-locate-rpm-scl.patch +Patch066: gdb-6.6-buildid-locate-rpm-scl.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch068: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch067: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch069: gdb-container-rh-pkg.patch +Patch068: gdb-container-rh-pkg.patch # New test for Python "Cannot locate object file for block" (for RH BZ 1325795). #=fedoratest -Patch070: gdb-rhbz1325795-framefilters-test.patch +Patch069: gdb-rhbz1325795-framefilters-test.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch071: gdb-linux_perf-bundle.patch +Patch070: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -300,16 +296,16 @@ Patch071: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch072: gdb-libexec-add-index.patch +Patch071: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch073: gdb-rhbz1398387-tab-crash-test.patch +Patch072: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch074: gdb-rhbz1553104-s390x-arch12-test.patch +Patch073: gdb-rhbz1553104-s390x-arch12-test.patch -Patch075: gdb-backport-readline_support.patch +Patch074: gdb-backport-readline_support.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f5bd893..affe771 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,4 +72,3 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 -%patch075 -p1 diff --git a/_patch_order b/_patch_order index 9442472..356ca91 100644 --- a/_patch_order +++ b/_patch_order @@ -1,6 +1,5 @@ gdb-6.3-rh-testversion-20041202.patch gdb-6.3-gstack-20050411.patch -gdb-6.3-test-dtorfix-20050121.patch gdb-6.3-test-movedir-20050125.patch gdb-6.3-threaded-watchpoints2-20050225.patch gdb-6.3-inheritancetest-20050726.patch diff --git a/gdb-6.3-test-dtorfix-20050121.patch b/gdb-6.3-test-dtorfix-20050121.patch deleted file mode 100644 index 01c0d56..0000000 --- a/gdb-6.3-test-dtorfix-20050121.patch +++ /dev/null @@ -1,247 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-test-dtorfix-20050121.patch - -;; Test support of multiple destructors just like multiple constructors -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.cp/constructortest.cc b/gdb/testsuite/gdb.cp/constructortest.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/constructortest.cc -@@ -0,0 +1,99 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2005 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ -+ -+class A -+{ -+ public: -+ A(); -+ ~A(); -+ int k; -+ private: -+ int x; -+}; -+ -+class B: public A -+{ -+ public: -+ B(); -+ private: -+ int y; -+}; -+ -+/* C and D are for the $delete destructor. */ -+ -+class C -+{ -+ public: -+ C(); -+ virtual ~C(); -+ private: -+ int x; -+}; -+ -+class D: public C -+{ -+ public: -+ D(); -+ private: -+ int y; -+}; -+ -+int main(int argc, char *argv[]) -+{ -+ A* a = new A; -+ B* b = new B; -+ D* d = new D; -+ delete a; -+ delete b; -+ delete d; -+ return 0; -+} -+ -+A::A() /* Constructor A */ -+{ -+ x = 1; /* First line A */ -+ k = 4; /* Second line A */ -+} -+ -+A::~A() /* Destructor A */ -+{ -+ x = 3; /* First line ~A */ -+ k = 6; /* Second line ~A */ -+} -+ -+B::B() -+{ -+ y = 2; /* First line B */ -+ k = 5; -+} -+ -+C::C() /* Constructor C */ -+{ -+ x = 1; /* First line C */ -+} -+ -+C::~C() /* Destructor C */ -+{ -+ x = 3; /* First line ~C */ -+} -+ -+D::D() -+{ -+ y = 2; /* First line D */ -+} -diff --git a/gdb/testsuite/gdb.cp/constructortest.exp b/gdb/testsuite/gdb.cp/constructortest.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/constructortest.exp -@@ -0,0 +1,130 @@ -+# This testcase is part of GDB, the GNU debugger. -+ -+# Copyright 2005, 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Check that GDB can break at multiple forms of constructors. -+ -+set testfile "constructortest" -+set srcfile ${testfile}.cc -+set binfile [standard_output_file ${testfile}] -+# PIE is required for testing proper BREAKPOINT_RE_SET of the multiple-PC -+# breakpoints. -+if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ "additional_flags=-fpie -pie"}] != "" } { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+# -+# Run to `main' where we begin our tests. -+# -+ -+if ![runto_main] then { -+ gdb_suppress_tests -+} -+ -+# Break on the various forms of the A::A constructor. -+# " (2 locations)" is displayed depending on G++ version. -+gdb_test "break A\:\:A" "Breakpoint 2 at .*" "breaking on A::A" -+ -+# Verify that we break for the A constructor two times -+# Once for new A and once for new B -+gdb_continue_to_breakpoint "First line A" -+gdb_test "bt" "#0.*A.*#1.*main.*" "Verify in in-charge A::A" -+gdb_continue_to_breakpoint "First line A" -+gdb_test "bt" "#0.*A.*#1.*B.*#2.*main.*" "Verify in not-in-charge A::A" -+ -+# Now do the same for destructors -+gdb_test "break 'A::~A()'" "" -+ -+# Verify that we break for the A destructor two times -+# Once for delete a and once for delete b -+gdb_continue_to_breakpoint "First line ~A" -+gdb_test "bt" "#0.*~A.*#1.*main.*" "Verify in in-charge A::~A" -+gdb_continue_to_breakpoint "First line ~A" -+gdb_test "bt" "#0.*~A.*#1.*~B.*#2.*main.*" "Verify in not-in-charge A::~A" -+ -+ -+# Verify that we can break by line number in a constructor and find -+# both occurrences -+runto_main -+gdb_test "break 'A::A()'" "" "break in constructor A 2" -+gdb_continue_to_breakpoint "First line A" -+set second_line [gdb_get_line_number "Second line A"] -+# " (2 locations)" is displayed depending on G++ version. -+gdb_test "break $second_line" "Breakpoint .*, line $second_line\\..*" "break by line in constructor" -+gdb_continue_to_breakpoint "Second line A" -+gdb_test "bt" "#0.*A.*#1.*main.*" "Verify in in-charge A::A second line" -+gdb_continue_to_breakpoint "Second line A" -+gdb_test "bt" "#0.*A.*#1.*B.*#2.*main.*" "Verify in not-in-charge A::A second line" -+ -+# Verify that we can break by line number in a destructor and find -+# both occurrences -+gdb_test "break 'A::~A()'" "" "break in constructor ~A 2" -+gdb_continue_to_breakpoint "First line ~A" -+set second_line_dtor [gdb_get_line_number "Second line ~A"] -+# " (2 locations)" is displayed depending on G++ version. -+gdb_test "break $second_line_dtor" "Breakpoint .*, line $second_line_dtor\\..*" "break by line in destructor" -+gdb_continue_to_breakpoint "Second line ~A" -+gdb_test "bt" "#0.*A.*#1.*main.*" "Verify in in-charge A::~A second line" -+# FIXME: Analyse this case better. -+gdb_continue_to_breakpoint "Second line ~A" -+gdb_test "bt" "#0.*A.*#1.*main.*" "Verify in A::~A second line #2" -+gdb_continue_to_breakpoint "Second line ~A" -+gdb_test "bt" "#0.*A.*#1.*B.*#2.*main.*" "Verify in not-in-charge A::~A second line" -+ -+ -+# Test now the $delete destructors. -+ -+gdb_load ${binfile} -+runto_main -+ -+set first_line_dtor [gdb_get_line_number "First line ~C"] -+set define_line_dtor [gdb_get_line_number "Destructor C"] -+# Break on the various forms of the C::~C destructor -+# " ([23] locations)" is displayed depending on G++ version. -+gdb_test "break C\:\:~C" "Breakpoint .*: C::~C\\. \\(2 locations\\)" "breaking on C::~C" -+gdb_continue_to_breakpoint "First line ~C" -+ -+# Verify that we can break by line number in a destructor and find -+# the $delete occurence -+ -+gdb_load ${binfile} -+delete_breakpoints -+ -+# " (3 locations)" is displayed depending on G++ version. -+gdb_test "break $first_line_dtor" "Breakpoint .*, line $first_line_dtor\\..*" "break by line in destructor" -+ -+# Run to `main' where we begin our tests. -+# Set the breakpoints first to test PIE multiple-PC BREAKPOINT_RE_SET. -+# RUNTO_MAIN or RUNTO MAIN are not usable here as it runs DELETE_BREAKPOINTS. -+ -+if ![gdb_breakpoint main] { -+ gdb_suppress_tests -+} -+gdb_run_cmd -+set test "running to main" -+gdb_test_multiple "" $test { -+ -re "Breakpoint \[0-9\]*, main .*$gdb_prompt $" { -+ pass $test -+ } -+} -+ -+gdb_continue_to_breakpoint "First line ~C" diff --git a/gdb.spec b/gdb.spec index 784f152..13ee14c 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1189,6 +1189,10 @@ fi %endif %changelog +* Wed Oct 18 2022 Bruno Larsen - 12.1-7 +- Remove patch gdb-6.3-test-dtorfix. + Was upstreamed, will be back in the next rebase. + * Thu Oct 13 2022 Alexandra Hájková - 12.1-7 - Bump the release number. From eff447ffe14179b9ef31173908b67695502a1370 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Tue, 18 Oct 2022 12:10:01 +0200 Subject: [PATCH 06/84] backport fix to gdb.base/break-main-file-remove-fail --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...port-fix-break-main-file-remove-fail.patch | 101 ++++++++++++++++++ gdb.spec | 8 +- 5 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 gdb-backport-fix-break-main-file-remove-fail.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index dca185a..a32e678 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -309,3 +309,7 @@ Patch073: gdb-rhbz1553104-s390x-arch12-test.patch Patch074: gdb-backport-readline_support.patch +# [gdb/testsuite] Use prototype to call libc functions +# (Tom de Vries) +Patch075: gdb-backport-fix-break-main-file-remove-fail.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index affe771..f5bd893 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,3 +72,4 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 +%patch075 -p1 diff --git a/_patch_order b/_patch_order index 356ca91..cb69eba 100644 --- a/_patch_order +++ b/_patch_order @@ -72,3 +72,4 @@ gdb-libexec-add-index.patch gdb-rhbz1398387-tab-crash-test.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-backport-readline_support.patch +gdb-backport-fix-break-main-file-remove-fail.patch diff --git a/gdb-backport-fix-break-main-file-remove-fail.patch b/gdb-backport-fix-break-main-file-remove-fail.patch new file mode 100644 index 0000000..970d8b2 --- /dev/null +++ b/gdb-backport-fix-break-main-file-remove-fail.patch @@ -0,0 +1,101 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Bruno Larsen +Date: Tue, 18 Oct 2022 11:10:41 +0200 +Subject: gdb-backport-fix-break-main-file-remove-fail.patch + +;; [gdb/testsuite] Use prototype to call libc functions +;; (Tom de Vries) + +On openSUSE Tumbleweed (using glibc 2.36), I run into: +... +(gdb) print /d (int) munmap (4198400, 4096)^M +Invalid cast.^M +(gdb) FAIL: gdb.base/break-main-file-remove-fail.exp: cmdline: \ + get integer valueof "(int) munmap (4198400, 4096)" +... + +The problem is that after starting the executable, the symbol has type +"void (*) (void)": +... +(gdb) p munmap +$1 = {} 0x401030 +(gdb) start + ... +(gdb) p munmap +$2 = {void (void)} 0x7ffff7feb9a0 <__GI_munmap> +... +which causes the "Invalid cast" error. + +Looking at the debug info for glibc for symbol __GI_munmap: +... + <0><189683>: Abbrev Number: 1 (DW_TAG_compile_unit) + <189691> DW_AT_name : ../sysdeps/unix/syscall-template.S + <189699> DW_AT_producer : GNU AS 2.39.0 +<1><1896ae>: Abbrev Number: 2 (DW_TAG_subprogram) + <1896af> DW_AT_name : __GI___munmap + <1896b3> DW_AT_external : 1 + <1896b4> DW_AT_low_pc : 0x10cad0 + <1896bc> DW_AT_high_pc : 37 +... +that's probably caused by this bit (or similar bits for other munmap aliases). + +This is fixed in gas on trunk by commit 5578fbf672e ("GAS: Add a return type +tag to DWARF DIEs generated for function symbols"). + +Work around this (for say gas 2.39) by explicitly specifying the prototype for +munmap. + +Likewise for getpid in a couple of other test-cases. + +Tested on x86_64-linux. + +diff --git a/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp b/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp +--- a/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp ++++ b/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp +@@ -87,7 +87,9 @@ proc test_remove_bp { initial_load } { + # should warn the user about it. + set pagesize [get_integer_valueof "pg_size" 0] + set align_addr [expr $bp_addr - $bp_addr % $pagesize] +- set munmap [get_integer_valueof "(int) munmap ($align_addr, $pagesize)" -1] ++ set munmap_prototype "int (*) (void *, size_t)" ++ set munmap_expr "(($munmap_prototype) munmap) ($align_addr, $pagesize)" ++ set munmap [get_integer_valueof $munmap_expr -1] + + if {$munmap != 0} { + unsupported "can't munmap foo's page" +diff --git a/gdb/testsuite/gdb.base/dprintf-detach.exp b/gdb/testsuite/gdb.base/dprintf-detach.exp +--- a/gdb/testsuite/gdb.base/dprintf-detach.exp ++++ b/gdb/testsuite/gdb.base/dprintf-detach.exp +@@ -52,7 +52,7 @@ proc dprintf_detach_test { breakpoint_always_inserted dprintf_style disconnected + # Get PID of test program. + set inferior_pid -1 + set test "get inferior process ID" +- gdb_test_multiple "call (int) getpid ()" $test { ++ gdb_test_multiple "call ((int (*) (void)) getpid) ()" $test { + -re ".* = ($decimal).*$gdb_prompt $" { + set inferior_pid $expect_out(1,string) + pass $test +diff --git a/gdb/testsuite/gdb.base/info-os.exp b/gdb/testsuite/gdb.base/info-os.exp +--- a/gdb/testsuite/gdb.base/info-os.exp ++++ b/gdb/testsuite/gdb.base/info-os.exp +@@ -39,7 +39,7 @@ if ![runto_main] then { + # Get PID of test program. + set inferior_pid "" + set test "get inferior process ID" +-gdb_test_multiple "call (int) getpid()" $test { ++gdb_test_multiple "call ((int (*) (void)) getpid) ()" $test { + -re ".* = ($decimal).*$gdb_prompt $" { + set inferior_pid $expect_out(1,string) + pass $test +diff --git a/gdb/testsuite/gdb.threads/siginfo-threads.exp b/gdb/testsuite/gdb.threads/siginfo-threads.exp +--- a/gdb/testsuite/gdb.threads/siginfo-threads.exp ++++ b/gdb/testsuite/gdb.threads/siginfo-threads.exp +@@ -41,7 +41,7 @@ gdb_breakpoint [gdb_get_line_number "break-at-exit"] + + set test "get pid" + set pid "" +-gdb_test_multiple "p (int) getpid ()" $test { ++gdb_test_multiple "p ((int (*) (void))getpid) ()" $test { + -re " = (\[0-9\]+)\r\n$gdb_prompt $" { + set pid $expect_out(1,string) + pass $test diff --git a/gdb.spec b/gdb.spec index 13ee14c..093d672 100644 --- a/gdb.spec +++ b/gdb.spec @@ -51,7 +51,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1189,7 +1189,11 @@ fi %endif %changelog -* Wed Oct 18 2022 Bruno Larsen - 12.1-7 +* Tue Oct 18 2022 Bruno Larsen - 12.1-8 +- Backport fix to gdb.base/break-main-file-remove-fail.exp + (Tom de Vries) + +* Tue Oct 18 2022 Bruno Larsen - 12.1-7 - Remove patch gdb-6.3-test-dtorfix. Was upstreamed, will be back in the next rebase. From 73953d59d49162387717caa4b51a1667bce8023f Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 11 Oct 2022 08:17:57 -0700 Subject: [PATCH 07/84] Constify target_desc and enable LTO This patch backports the upstream commit to constify target_desc. This eliminates the problems preventing us from enabling LTO. --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-sw22395-constify-target_desc.patch | 1153 ++++++++++++++++++++++++ gdb.spec | 11 +- 5 files changed, 1165 insertions(+), 5 deletions(-) create mode 100644 gdb-sw22395-constify-target_desc.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index a32e678..46a964b 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -313,3 +313,7 @@ Patch074: gdb-backport-readline_support.patch # (Tom de Vries) Patch075: gdb-backport-fix-break-main-file-remove-fail.patch +# Constify target_desc to fix PPC ODR violations. +# (Keith Seitz, build/22395) +Patch076: gdb-sw22395-constify-target_desc.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f5bd893..9fec500 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -73,3 +73,4 @@ %patch073 -p1 %patch074 -p1 %patch075 -p1 +%patch076 -p1 diff --git a/_patch_order b/_patch_order index cb69eba..a475607 100644 --- a/_patch_order +++ b/_patch_order @@ -73,3 +73,4 @@ gdb-rhbz1398387-tab-crash-test.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-backport-readline_support.patch gdb-backport-fix-break-main-file-remove-fail.patch +gdb-sw22395-constify-target_desc.patch diff --git a/gdb-sw22395-constify-target_desc.patch b/gdb-sw22395-constify-target_desc.patch new file mode 100644 index 0000000..9a3c128 --- /dev/null +++ b/gdb-sw22395-constify-target_desc.patch @@ -0,0 +1,1153 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Keith Seitz +Date: Fri, 2 Sep 2022 12:43:03 -0700 +Subject: gdb-sw22395-constify-target_desc.patch + +;; Constify target_desc to fix PPC ODR violations. +;; (Keith Seitz, build/22395) + +cleanup: Add missing feature/ XML files to Makefile + + This patch adds some missing .xml files to features/Makefile so that when the + directory's C files are regenerated, all files are appropriately remade. + + This has demonstrated that there have been several "misses" in regenerating + files in this directory. Namely, arm-secext.c and sparc{32,64}-solaris.c. For + the former case, there was what essentially amounts to a typo regarding the + create feature function's name. In the later case, this file has missed at least + one important update in July, 2020, when allocate_target_description was + changed to return a unique pointer. + + Those corrections are included. + +Constify target_desc declarations + + This patch changes various global target_desc declarations to const, thereby + correcting a prominent source of ODR violations in PowerPC-related target code. + The majority of files/changes are mechanical const-ifications accomplished by + regenerating the C files in features/. + + This also required manually updating mips-linux-tdep.h, s390-linux-tdep.h, + nios2-tdep.h, s390-tdep.h, arch/ppc-linux-tdesc.h, arch/ppc-linux-common.c, + and rs6000-tdep.c. + + Patch tested against the sourceware trybot, and fully regression tested against + our (Red Hat's) internal test infrastructure on Rawhide aarch64, s390x, x86_64, + and powerpcle. + + With this patch, I can finally enable LTO in our GDB package builds. [Tested + with a rawhide scratch build containing this patch.] + + Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395 + +diff --git a/gdb/arch/ppc-linux-common.c b/gdb/arch/ppc-linux-common.c +--- a/gdb/arch/ppc-linux-common.c ++++ b/gdb/arch/ppc-linux-common.c +@@ -46,7 +46,7 @@ ppc_linux_has_isa205 (CORE_ADDR hwcap) + const struct target_desc * + ppc_linux_match_description (struct ppc_linux_features features) + { +- struct target_desc *tdesc = NULL; ++ const struct target_desc *tdesc = NULL; + + if (features.wordsize == 8) + { +diff --git a/gdb/arch/ppc-linux-tdesc.h b/gdb/arch/ppc-linux-tdesc.h +--- a/gdb/arch/ppc-linux-tdesc.h ++++ b/gdb/arch/ppc-linux-tdesc.h +@@ -22,25 +22,25 @@ + + struct target_desc; + +-extern struct target_desc *tdesc_powerpc_32l; +-extern struct target_desc *tdesc_powerpc_altivec32l; +-extern struct target_desc *tdesc_powerpc_vsx32l; +-extern struct target_desc *tdesc_powerpc_isa205_32l; +-extern struct target_desc *tdesc_powerpc_isa205_altivec32l; +-extern struct target_desc *tdesc_powerpc_isa205_vsx32l; +-extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; +-extern struct target_desc *tdesc_powerpc_isa207_vsx32l; +-extern struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; +-extern struct target_desc *tdesc_powerpc_e500l; +- +-extern struct target_desc *tdesc_powerpc_64l; +-extern struct target_desc *tdesc_powerpc_altivec64l; +-extern struct target_desc *tdesc_powerpc_vsx64l; +-extern struct target_desc *tdesc_powerpc_isa205_64l; +-extern struct target_desc *tdesc_powerpc_isa205_altivec64l; +-extern struct target_desc *tdesc_powerpc_isa205_vsx64l; +-extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; +-extern struct target_desc *tdesc_powerpc_isa207_vsx64l; +-extern struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; ++extern const struct target_desc *tdesc_powerpc_32l; ++extern const struct target_desc *tdesc_powerpc_altivec32l; ++extern const struct target_desc *tdesc_powerpc_vsx32l; ++extern const struct target_desc *tdesc_powerpc_isa205_32l; ++extern const struct target_desc *tdesc_powerpc_isa205_altivec32l; ++extern const struct target_desc *tdesc_powerpc_isa205_vsx32l; ++extern const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; ++extern const struct target_desc *tdesc_powerpc_isa207_vsx32l; ++extern const struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; ++extern const struct target_desc *tdesc_powerpc_e500l; ++ ++extern const struct target_desc *tdesc_powerpc_64l; ++extern const struct target_desc *tdesc_powerpc_altivec64l; ++extern const struct target_desc *tdesc_powerpc_vsx64l; ++extern const struct target_desc *tdesc_powerpc_isa205_64l; ++extern const struct target_desc *tdesc_powerpc_isa205_altivec64l; ++extern const struct target_desc *tdesc_powerpc_isa205_vsx64l; ++extern const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; ++extern const struct target_desc *tdesc_powerpc_isa207_vsx64l; ++extern const struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; + + #endif /* ARCH_PPC_LINUX_TDESC_H */ +diff --git a/gdb/features/Makefile b/gdb/features/Makefile +--- a/gdb/features/Makefile ++++ b/gdb/features/Makefile +@@ -74,6 +74,7 @@ mips-dsp-expedite = r29,pc + mips64-expedite = r29,pc + mips64-dsp-expedite = r29,pc + nios2-linux-expedite = sp,pc ++or1k-expedite = r1,npc + powerpc-expedite = r1,pc + s390-linux32-expedite = r14,r15,pswa + s390-linux32v1-expedite = r14,r15,pswa +@@ -108,6 +109,7 @@ XMLTOC = \ + nds32.xml \ + nios2.xml \ + or1k.xml \ ++ or1k-linux.xml \ + rs6000/powerpc-32.xml \ + rs6000/powerpc-32l.xml \ + rs6000/powerpc-403.xml \ +@@ -164,6 +166,8 @@ XMLTOC = \ + s390x-vx-linux64.xml \ + s390-gs-linux64.xml \ + s390x-gs-linux64.xml \ ++ sparc/sparc32-solaris.xml \ ++ sparc/sparc64-solaris.xml \ + z80.xml + + TDESC_CFILES = $(patsubst %.xml,%.c,$(XMLTOC)) +diff --git a/gdb/features/microblaze-with-stack-protect.c b/gdb/features/microblaze-with-stack-protect.c +--- a/gdb/features/microblaze-with-stack-protect.c ++++ b/gdb/features/microblaze-with-stack-protect.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_microblaze_with_stack_protect; ++const struct target_desc *tdesc_microblaze_with_stack_protect; + static void + initialize_tdesc_microblaze_with_stack_protect (void) + { +diff --git a/gdb/features/microblaze.c b/gdb/features/microblaze.c +--- a/gdb/features/microblaze.c ++++ b/gdb/features/microblaze.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_microblaze; ++const struct target_desc *tdesc_microblaze; + static void + initialize_tdesc_microblaze (void) + { +diff --git a/gdb/features/mips-dsp-linux.c b/gdb/features/mips-dsp-linux.c +--- a/gdb/features/mips-dsp-linux.c ++++ b/gdb/features/mips-dsp-linux.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_mips_dsp_linux; ++const struct target_desc *tdesc_mips_dsp_linux; + static void + initialize_tdesc_mips_dsp_linux (void) + { +diff --git a/gdb/features/mips-linux.c b/gdb/features/mips-linux.c +--- a/gdb/features/mips-linux.c ++++ b/gdb/features/mips-linux.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_mips_linux; ++const struct target_desc *tdesc_mips_linux; + static void + initialize_tdesc_mips_linux (void) + { +diff --git a/gdb/features/mips64-dsp-linux.c b/gdb/features/mips64-dsp-linux.c +--- a/gdb/features/mips64-dsp-linux.c ++++ b/gdb/features/mips64-dsp-linux.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_mips64_dsp_linux; ++const struct target_desc *tdesc_mips64_dsp_linux; + static void + initialize_tdesc_mips64_dsp_linux (void) + { +diff --git a/gdb/features/mips64-linux.c b/gdb/features/mips64-linux.c +--- a/gdb/features/mips64-linux.c ++++ b/gdb/features/mips64-linux.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_mips64_linux; ++const struct target_desc *tdesc_mips64_linux; + static void + initialize_tdesc_mips64_linux (void) + { +diff --git a/gdb/features/nds32.c b/gdb/features/nds32.c +--- a/gdb/features/nds32.c ++++ b/gdb/features/nds32.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_nds32; ++const struct target_desc *tdesc_nds32; + static void + initialize_tdesc_nds32 (void) + { +diff --git a/gdb/features/nios2.c b/gdb/features/nios2.c +--- a/gdb/features/nios2.c ++++ b/gdb/features/nios2.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_nios2; ++const struct target_desc *tdesc_nios2; + static void + initialize_tdesc_nios2 (void) + { +diff --git a/gdb/features/or1k-linux.c b/gdb/features/or1k-linux.c +--- a/gdb/features/or1k-linux.c ++++ b/gdb/features/or1k-linux.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_or1k_linux; ++const struct target_desc *tdesc_or1k_linux; + static void + initialize_tdesc_or1k_linux (void) + { +diff --git a/gdb/features/or1k.c b/gdb/features/or1k.c +--- a/gdb/features/or1k.c ++++ b/gdb/features/or1k.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_or1k; ++const struct target_desc *tdesc_or1k; + static void + initialize_tdesc_or1k (void) + { +diff --git a/gdb/features/rs6000/powerpc-32.c b/gdb/features/rs6000/powerpc-32.c +--- a/gdb/features/rs6000/powerpc-32.c ++++ b/gdb/features/rs6000/powerpc-32.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_32; ++const struct target_desc *tdesc_powerpc_32; + static void + initialize_tdesc_powerpc_32 (void) + { +diff --git a/gdb/features/rs6000/powerpc-32l.c b/gdb/features/rs6000/powerpc-32l.c +--- a/gdb/features/rs6000/powerpc-32l.c ++++ b/gdb/features/rs6000/powerpc-32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_32l; ++const struct target_desc *tdesc_powerpc_32l; + static void + initialize_tdesc_powerpc_32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-403.c b/gdb/features/rs6000/powerpc-403.c +--- a/gdb/features/rs6000/powerpc-403.c ++++ b/gdb/features/rs6000/powerpc-403.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_403; ++const struct target_desc *tdesc_powerpc_403; + static void + initialize_tdesc_powerpc_403 (void) + { +diff --git a/gdb/features/rs6000/powerpc-403gc.c b/gdb/features/rs6000/powerpc-403gc.c +--- a/gdb/features/rs6000/powerpc-403gc.c ++++ b/gdb/features/rs6000/powerpc-403gc.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_403gc; ++const struct target_desc *tdesc_powerpc_403gc; + static void + initialize_tdesc_powerpc_403gc (void) + { +diff --git a/gdb/features/rs6000/powerpc-405.c b/gdb/features/rs6000/powerpc-405.c +--- a/gdb/features/rs6000/powerpc-405.c ++++ b/gdb/features/rs6000/powerpc-405.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_405; ++const struct target_desc *tdesc_powerpc_405; + static void + initialize_tdesc_powerpc_405 (void) + { +diff --git a/gdb/features/rs6000/powerpc-505.c b/gdb/features/rs6000/powerpc-505.c +--- a/gdb/features/rs6000/powerpc-505.c ++++ b/gdb/features/rs6000/powerpc-505.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_505; ++const struct target_desc *tdesc_powerpc_505; + static void + initialize_tdesc_powerpc_505 (void) + { +diff --git a/gdb/features/rs6000/powerpc-601.c b/gdb/features/rs6000/powerpc-601.c +--- a/gdb/features/rs6000/powerpc-601.c ++++ b/gdb/features/rs6000/powerpc-601.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_601; ++const struct target_desc *tdesc_powerpc_601; + static void + initialize_tdesc_powerpc_601 (void) + { +diff --git a/gdb/features/rs6000/powerpc-602.c b/gdb/features/rs6000/powerpc-602.c +--- a/gdb/features/rs6000/powerpc-602.c ++++ b/gdb/features/rs6000/powerpc-602.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_602; ++const struct target_desc *tdesc_powerpc_602; + static void + initialize_tdesc_powerpc_602 (void) + { +diff --git a/gdb/features/rs6000/powerpc-603.c b/gdb/features/rs6000/powerpc-603.c +--- a/gdb/features/rs6000/powerpc-603.c ++++ b/gdb/features/rs6000/powerpc-603.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_603; ++const struct target_desc *tdesc_powerpc_603; + static void + initialize_tdesc_powerpc_603 (void) + { +diff --git a/gdb/features/rs6000/powerpc-604.c b/gdb/features/rs6000/powerpc-604.c +--- a/gdb/features/rs6000/powerpc-604.c ++++ b/gdb/features/rs6000/powerpc-604.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_604; ++const struct target_desc *tdesc_powerpc_604; + static void + initialize_tdesc_powerpc_604 (void) + { +diff --git a/gdb/features/rs6000/powerpc-64.c b/gdb/features/rs6000/powerpc-64.c +--- a/gdb/features/rs6000/powerpc-64.c ++++ b/gdb/features/rs6000/powerpc-64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_64; ++const struct target_desc *tdesc_powerpc_64; + static void + initialize_tdesc_powerpc_64 (void) + { +diff --git a/gdb/features/rs6000/powerpc-64l.c b/gdb/features/rs6000/powerpc-64l.c +--- a/gdb/features/rs6000/powerpc-64l.c ++++ b/gdb/features/rs6000/powerpc-64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_64l; ++const struct target_desc *tdesc_powerpc_64l; + static void + initialize_tdesc_powerpc_64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-7400.c b/gdb/features/rs6000/powerpc-7400.c +--- a/gdb/features/rs6000/powerpc-7400.c ++++ b/gdb/features/rs6000/powerpc-7400.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_7400; ++const struct target_desc *tdesc_powerpc_7400; + static void + initialize_tdesc_powerpc_7400 (void) + { +diff --git a/gdb/features/rs6000/powerpc-750.c b/gdb/features/rs6000/powerpc-750.c +--- a/gdb/features/rs6000/powerpc-750.c ++++ b/gdb/features/rs6000/powerpc-750.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_750; ++const struct target_desc *tdesc_powerpc_750; + static void + initialize_tdesc_powerpc_750 (void) + { +diff --git a/gdb/features/rs6000/powerpc-860.c b/gdb/features/rs6000/powerpc-860.c +--- a/gdb/features/rs6000/powerpc-860.c ++++ b/gdb/features/rs6000/powerpc-860.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_860; ++const struct target_desc *tdesc_powerpc_860; + static void + initialize_tdesc_powerpc_860 (void) + { +diff --git a/gdb/features/rs6000/powerpc-altivec32.c b/gdb/features/rs6000/powerpc-altivec32.c +--- a/gdb/features/rs6000/powerpc-altivec32.c ++++ b/gdb/features/rs6000/powerpc-altivec32.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_altivec32; ++const struct target_desc *tdesc_powerpc_altivec32; + static void + initialize_tdesc_powerpc_altivec32 (void) + { +diff --git a/gdb/features/rs6000/powerpc-altivec32l.c b/gdb/features/rs6000/powerpc-altivec32l.c +--- a/gdb/features/rs6000/powerpc-altivec32l.c ++++ b/gdb/features/rs6000/powerpc-altivec32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_altivec32l; ++const struct target_desc *tdesc_powerpc_altivec32l; + static void + initialize_tdesc_powerpc_altivec32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-altivec64.c b/gdb/features/rs6000/powerpc-altivec64.c +--- a/gdb/features/rs6000/powerpc-altivec64.c ++++ b/gdb/features/rs6000/powerpc-altivec64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_altivec64; ++const struct target_desc *tdesc_powerpc_altivec64; + static void + initialize_tdesc_powerpc_altivec64 (void) + { +diff --git a/gdb/features/rs6000/powerpc-altivec64l.c b/gdb/features/rs6000/powerpc-altivec64l.c +--- a/gdb/features/rs6000/powerpc-altivec64l.c ++++ b/gdb/features/rs6000/powerpc-altivec64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_altivec64l; ++const struct target_desc *tdesc_powerpc_altivec64l; + static void + initialize_tdesc_powerpc_altivec64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-e500.c b/gdb/features/rs6000/powerpc-e500.c +--- a/gdb/features/rs6000/powerpc-e500.c ++++ b/gdb/features/rs6000/powerpc-e500.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_e500; ++const struct target_desc *tdesc_powerpc_e500; + static void + initialize_tdesc_powerpc_e500 (void) + { +diff --git a/gdb/features/rs6000/powerpc-e500l.c b/gdb/features/rs6000/powerpc-e500l.c +--- a/gdb/features/rs6000/powerpc-e500l.c ++++ b/gdb/features/rs6000/powerpc-e500l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_e500l; ++const struct target_desc *tdesc_powerpc_e500l; + static void + initialize_tdesc_powerpc_e500l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-32l.c b/gdb/features/rs6000/powerpc-isa205-32l.c +--- a/gdb/features/rs6000/powerpc-isa205-32l.c ++++ b/gdb/features/rs6000/powerpc-isa205-32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_32l; ++const struct target_desc *tdesc_powerpc_isa205_32l; + static void + initialize_tdesc_powerpc_isa205_32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-64l.c b/gdb/features/rs6000/powerpc-isa205-64l.c +--- a/gdb/features/rs6000/powerpc-isa205-64l.c ++++ b/gdb/features/rs6000/powerpc-isa205-64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_64l; ++const struct target_desc *tdesc_powerpc_isa205_64l; + static void + initialize_tdesc_powerpc_isa205_64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.c b/gdb/features/rs6000/powerpc-isa205-altivec32l.c +--- a/gdb/features/rs6000/powerpc-isa205-altivec32l.c ++++ b/gdb/features/rs6000/powerpc-isa205-altivec32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_altivec32l; ++const struct target_desc *tdesc_powerpc_isa205_altivec32l; + static void + initialize_tdesc_powerpc_isa205_altivec32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.c b/gdb/features/rs6000/powerpc-isa205-altivec64l.c +--- a/gdb/features/rs6000/powerpc-isa205-altivec64l.c ++++ b/gdb/features/rs6000/powerpc-isa205-altivec64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_altivec64l; ++const struct target_desc *tdesc_powerpc_isa205_altivec64l; + static void + initialize_tdesc_powerpc_isa205_altivec64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c +--- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c ++++ b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; ++const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; + static void + initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c +--- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c ++++ b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; ++const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; + static void + initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-vsx32l.c +--- a/gdb/features/rs6000/powerpc-isa205-vsx32l.c ++++ b/gdb/features/rs6000/powerpc-isa205-vsx32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_vsx32l; ++const struct target_desc *tdesc_powerpc_isa205_vsx32l; + static void + initialize_tdesc_powerpc_isa205_vsx32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-vsx64l.c +--- a/gdb/features/rs6000/powerpc-isa205-vsx64l.c ++++ b/gdb/features/rs6000/powerpc-isa205-vsx64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa205_vsx64l; ++const struct target_desc *tdesc_powerpc_isa205_vsx64l; + static void + initialize_tdesc_powerpc_isa205_vsx64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c +--- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c ++++ b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; ++const struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; + static void + initialize_tdesc_powerpc_isa207_htm_vsx32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c +--- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c ++++ b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; ++const struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; + static void + initialize_tdesc_powerpc_isa207_htm_vsx64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-vsx32l.c +--- a/gdb/features/rs6000/powerpc-isa207-vsx32l.c ++++ b/gdb/features/rs6000/powerpc-isa207-vsx32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa207_vsx32l; ++const struct target_desc *tdesc_powerpc_isa207_vsx32l; + static void + initialize_tdesc_powerpc_isa207_vsx32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-vsx64l.c +--- a/gdb/features/rs6000/powerpc-isa207-vsx64l.c ++++ b/gdb/features/rs6000/powerpc-isa207-vsx64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_isa207_vsx64l; ++const struct target_desc *tdesc_powerpc_isa207_vsx64l; + static void + initialize_tdesc_powerpc_isa207_vsx64l (void) + { +diff --git a/gdb/features/rs6000/powerpc-vsx32.c b/gdb/features/rs6000/powerpc-vsx32.c +--- a/gdb/features/rs6000/powerpc-vsx32.c ++++ b/gdb/features/rs6000/powerpc-vsx32.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_vsx32; ++const struct target_desc *tdesc_powerpc_vsx32; + static void + initialize_tdesc_powerpc_vsx32 (void) + { +diff --git a/gdb/features/rs6000/powerpc-vsx32l.c b/gdb/features/rs6000/powerpc-vsx32l.c +--- a/gdb/features/rs6000/powerpc-vsx32l.c ++++ b/gdb/features/rs6000/powerpc-vsx32l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_vsx32l; ++const struct target_desc *tdesc_powerpc_vsx32l; + static void + initialize_tdesc_powerpc_vsx32l (void) + { +diff --git a/gdb/features/rs6000/powerpc-vsx64.c b/gdb/features/rs6000/powerpc-vsx64.c +--- a/gdb/features/rs6000/powerpc-vsx64.c ++++ b/gdb/features/rs6000/powerpc-vsx64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_vsx64; ++const struct target_desc *tdesc_powerpc_vsx64; + static void + initialize_tdesc_powerpc_vsx64 (void) + { +diff --git a/gdb/features/rs6000/powerpc-vsx64l.c b/gdb/features/rs6000/powerpc-vsx64l.c +--- a/gdb/features/rs6000/powerpc-vsx64l.c ++++ b/gdb/features/rs6000/powerpc-vsx64l.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_powerpc_vsx64l; ++const struct target_desc *tdesc_powerpc_vsx64l; + static void + initialize_tdesc_powerpc_vsx64l (void) + { +diff --git a/gdb/features/rs6000/rs6000.c b/gdb/features/rs6000/rs6000.c +--- a/gdb/features/rs6000/rs6000.c ++++ b/gdb/features/rs6000/rs6000.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_rs6000; ++const struct target_desc *tdesc_rs6000; + static void + initialize_tdesc_rs6000 (void) + { +diff --git a/gdb/features/rx.c b/gdb/features/rx.c +--- a/gdb/features/rx.c ++++ b/gdb/features/rx.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_rx; ++const struct target_desc *tdesc_rx; + static void + initialize_tdesc_rx (void) + { +diff --git a/gdb/features/s390-gs-linux64.c b/gdb/features/s390-gs-linux64.c +--- a/gdb/features/s390-gs-linux64.c ++++ b/gdb/features/s390-gs-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_gs_linux64; ++const struct target_desc *tdesc_s390_gs_linux64; + static void + initialize_tdesc_s390_gs_linux64 (void) + { +diff --git a/gdb/features/s390-linux32.c b/gdb/features/s390-linux32.c +--- a/gdb/features/s390-linux32.c ++++ b/gdb/features/s390-linux32.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_linux32; ++const struct target_desc *tdesc_s390_linux32; + static void + initialize_tdesc_s390_linux32 (void) + { +diff --git a/gdb/features/s390-linux32v1.c b/gdb/features/s390-linux32v1.c +--- a/gdb/features/s390-linux32v1.c ++++ b/gdb/features/s390-linux32v1.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_linux32v1; ++const struct target_desc *tdesc_s390_linux32v1; + static void + initialize_tdesc_s390_linux32v1 (void) + { +diff --git a/gdb/features/s390-linux32v2.c b/gdb/features/s390-linux32v2.c +--- a/gdb/features/s390-linux32v2.c ++++ b/gdb/features/s390-linux32v2.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_linux32v2; ++const struct target_desc *tdesc_s390_linux32v2; + static void + initialize_tdesc_s390_linux32v2 (void) + { +diff --git a/gdb/features/s390-linux64.c b/gdb/features/s390-linux64.c +--- a/gdb/features/s390-linux64.c ++++ b/gdb/features/s390-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_linux64; ++const struct target_desc *tdesc_s390_linux64; + static void + initialize_tdesc_s390_linux64 (void) + { +diff --git a/gdb/features/s390-linux64v1.c b/gdb/features/s390-linux64v1.c +--- a/gdb/features/s390-linux64v1.c ++++ b/gdb/features/s390-linux64v1.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_linux64v1; ++const struct target_desc *tdesc_s390_linux64v1; + static void + initialize_tdesc_s390_linux64v1 (void) + { +diff --git a/gdb/features/s390-linux64v2.c b/gdb/features/s390-linux64v2.c +--- a/gdb/features/s390-linux64v2.c ++++ b/gdb/features/s390-linux64v2.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_linux64v2; ++const struct target_desc *tdesc_s390_linux64v2; + static void + initialize_tdesc_s390_linux64v2 (void) + { +diff --git a/gdb/features/s390-te-linux64.c b/gdb/features/s390-te-linux64.c +--- a/gdb/features/s390-te-linux64.c ++++ b/gdb/features/s390-te-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_te_linux64; ++const struct target_desc *tdesc_s390_te_linux64; + static void + initialize_tdesc_s390_te_linux64 (void) + { +diff --git a/gdb/features/s390-tevx-linux64.c b/gdb/features/s390-tevx-linux64.c +--- a/gdb/features/s390-tevx-linux64.c ++++ b/gdb/features/s390-tevx-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_tevx_linux64; ++const struct target_desc *tdesc_s390_tevx_linux64; + static void + initialize_tdesc_s390_tevx_linux64 (void) + { +diff --git a/gdb/features/s390-vx-linux64.c b/gdb/features/s390-vx-linux64.c +--- a/gdb/features/s390-vx-linux64.c ++++ b/gdb/features/s390-vx-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390_vx_linux64; ++const struct target_desc *tdesc_s390_vx_linux64; + static void + initialize_tdesc_s390_vx_linux64 (void) + { +diff --git a/gdb/features/s390x-gs-linux64.c b/gdb/features/s390x-gs-linux64.c +--- a/gdb/features/s390x-gs-linux64.c ++++ b/gdb/features/s390x-gs-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_gs_linux64; ++const struct target_desc *tdesc_s390x_gs_linux64; + static void + initialize_tdesc_s390x_gs_linux64 (void) + { +diff --git a/gdb/features/s390x-linux64.c b/gdb/features/s390x-linux64.c +--- a/gdb/features/s390x-linux64.c ++++ b/gdb/features/s390x-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_linux64; ++const struct target_desc *tdesc_s390x_linux64; + static void + initialize_tdesc_s390x_linux64 (void) + { +diff --git a/gdb/features/s390x-linux64v1.c b/gdb/features/s390x-linux64v1.c +--- a/gdb/features/s390x-linux64v1.c ++++ b/gdb/features/s390x-linux64v1.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_linux64v1; ++const struct target_desc *tdesc_s390x_linux64v1; + static void + initialize_tdesc_s390x_linux64v1 (void) + { +diff --git a/gdb/features/s390x-linux64v2.c b/gdb/features/s390x-linux64v2.c +--- a/gdb/features/s390x-linux64v2.c ++++ b/gdb/features/s390x-linux64v2.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_linux64v2; ++const struct target_desc *tdesc_s390x_linux64v2; + static void + initialize_tdesc_s390x_linux64v2 (void) + { +diff --git a/gdb/features/s390x-te-linux64.c b/gdb/features/s390x-te-linux64.c +--- a/gdb/features/s390x-te-linux64.c ++++ b/gdb/features/s390x-te-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_te_linux64; ++const struct target_desc *tdesc_s390x_te_linux64; + static void + initialize_tdesc_s390x_te_linux64 (void) + { +diff --git a/gdb/features/s390x-tevx-linux64.c b/gdb/features/s390x-tevx-linux64.c +--- a/gdb/features/s390x-tevx-linux64.c ++++ b/gdb/features/s390x-tevx-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_tevx_linux64; ++const struct target_desc *tdesc_s390x_tevx_linux64; + static void + initialize_tdesc_s390x_tevx_linux64 (void) + { +diff --git a/gdb/features/s390x-vx-linux64.c b/gdb/features/s390x-vx-linux64.c +--- a/gdb/features/s390x-vx-linux64.c ++++ b/gdb/features/s390x-vx-linux64.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_s390x_vx_linux64; ++const struct target_desc *tdesc_s390x_vx_linux64; + static void + initialize_tdesc_s390x_vx_linux64 (void) + { +diff --git a/gdb/features/sparc/sparc32-solaris.c b/gdb/features/sparc/sparc32-solaris.c +--- a/gdb/features/sparc/sparc32-solaris.c ++++ b/gdb/features/sparc/sparc32-solaris.c +@@ -5,18 +5,18 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_sparc32_solaris; ++const struct target_desc *tdesc_sparc32_solaris; + static void + initialize_tdesc_sparc32_solaris (void) + { +- struct target_desc *result = allocate_target_description (); +- struct tdesc_feature *feature; ++ target_desc_up result = allocate_target_description (); ++ set_tdesc_architecture (result.get (), bfd_scan_arch ("sparc")); + +- set_tdesc_architecture (result, bfd_scan_arch ("sparc")); ++ set_tdesc_osabi (result.get (), osabi_from_tdesc_string ("Solaris")); + +- set_tdesc_osabi (result, osabi_from_tdesc_string ("Solaris")); ++ struct tdesc_feature *feature; + +- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cpu"); ++ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cpu"); + tdesc_create_reg (feature, "g0", 0, 1, NULL, 32, "uint32"); + tdesc_create_reg (feature, "g1", 1, 1, NULL, 32, "uint32"); + tdesc_create_reg (feature, "g2", 2, 1, NULL, 32, "uint32"); +@@ -50,7 +50,7 @@ initialize_tdesc_sparc32_solaris (void) + tdesc_create_reg (feature, "fp", 30, 1, NULL, 32, "uint32"); + tdesc_create_reg (feature, "i7", 31, 1, NULL, 32, "uint32"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cp0"); ++ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cp0"); + tdesc_create_reg (feature, "y", 64, 1, NULL, 32, "uint32"); + tdesc_create_reg (feature, "psr", 65, 1, NULL, 32, "uint32"); + tdesc_create_reg (feature, "wim", 66, 1, NULL, 32, "uint32"); +@@ -60,7 +60,7 @@ initialize_tdesc_sparc32_solaris (void) + tdesc_create_reg (feature, "fsr", 70, 1, NULL, 32, "uint32"); + tdesc_create_reg (feature, "csr", 71, 1, NULL, 32, "uint32"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.fpu"); ++ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.fpu"); + tdesc_create_reg (feature, "f0", 32, 1, NULL, 32, "ieee_single"); + tdesc_create_reg (feature, "f1", 33, 1, NULL, 32, "ieee_single"); + tdesc_create_reg (feature, "f2", 34, 1, NULL, 32, "ieee_single"); +@@ -94,5 +94,5 @@ initialize_tdesc_sparc32_solaris (void) + tdesc_create_reg (feature, "f30", 62, 1, NULL, 32, "ieee_single"); + tdesc_create_reg (feature, "f31", 63, 1, NULL, 32, "ieee_single"); + +- tdesc_sparc_solaris = result; ++ tdesc_sparc32_solaris = result.release (); + } +diff --git a/gdb/features/sparc/sparc64-solaris.c b/gdb/features/sparc/sparc64-solaris.c +--- a/gdb/features/sparc/sparc64-solaris.c ++++ b/gdb/features/sparc/sparc64-solaris.c +@@ -5,18 +5,18 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_sparc64_solaris; ++const struct target_desc *tdesc_sparc64_solaris; + static void + initialize_tdesc_sparc64_solaris (void) + { +- struct target_desc *result = allocate_target_description (); +- struct tdesc_feature *feature; ++ target_desc_up result = allocate_target_description (); ++ set_tdesc_architecture (result.get (), bfd_scan_arch ("sparc:v9")); + +- set_tdesc_architecture (result, bfd_scan_arch ("sparc")); ++ set_tdesc_osabi (result.get (), osabi_from_tdesc_string ("Solaris")); + +- set_tdesc_osabi (result, osabi_from_tdesc_string ("Solaris")); ++ struct tdesc_feature *feature; + +- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cpu"); ++ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cpu"); + tdesc_create_reg (feature, "g0", 0, 1, NULL, 64, "uint64"); + tdesc_create_reg (feature, "g1", 1, 1, NULL, 64, "uint64"); + tdesc_create_reg (feature, "g2", 2, 1, NULL, 64, "uint64"); +@@ -47,18 +47,18 @@ initialize_tdesc_sparc64_solaris (void) + tdesc_create_reg (feature, "i3", 27, 1, NULL, 64, "uint64"); + tdesc_create_reg (feature, "i4", 28, 1, NULL, 64, "uint64"); + tdesc_create_reg (feature, "i5", 29, 1, NULL, 64, "uint64"); +- tdesc_create_reg (feature, "fp", 30, 1, NULL, 32, "uint64"); ++ tdesc_create_reg (feature, "fp", 30, 1, NULL, 64, "uint64"); + tdesc_create_reg (feature, "i7", 31, 1, NULL, 64, "uint64"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cp0"); ++ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cp0"); + tdesc_create_reg (feature, "pc", 80, 1, NULL, 64, "code_ptr"); + tdesc_create_reg (feature, "npc", 81, 1, NULL, 64, "code_ptr"); + tdesc_create_reg (feature, "state", 82, 1, NULL, 64, "uint64"); +- tdesc_create_reg (feature, "fsr", 83, 1, NULL, 32, "ieee_single"); +- tdesc_create_reg (feature, "fprs", 84, 1, NULL, 32, "ieee_single"); ++ tdesc_create_reg (feature, "fsr", 83, 1, NULL, 64, "uint64"); ++ tdesc_create_reg (feature, "fprs", 84, 1, NULL, 64, "uint64"); + tdesc_create_reg (feature, "y", 85, 1, NULL, 64, "uint64"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.fpu"); ++ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.fpu"); + tdesc_create_reg (feature, "f0", 32, 1, NULL, 32, "ieee_single"); + tdesc_create_reg (feature, "f1", 33, 1, NULL, 32, "ieee_single"); + tdesc_create_reg (feature, "f2", 34, 1, NULL, 32, "ieee_single"); +@@ -108,5 +108,5 @@ initialize_tdesc_sparc64_solaris (void) + tdesc_create_reg (feature, "f60", 78, 1, NULL, 64, "ieee_double"); + tdesc_create_reg (feature, "f62", 79, 1, NULL, 64, "ieee_double"); + +- tdesc_sparc64_solaris = result; ++ tdesc_sparc64_solaris = result.release (); + } +diff --git a/gdb/features/z80.c b/gdb/features/z80.c +--- a/gdb/features/z80.c ++++ b/gdb/features/z80.c +@@ -5,7 +5,7 @@ + #include "osabi.h" + #include "target-descriptions.h" + +-struct target_desc *tdesc_z80; ++const struct target_desc *tdesc_z80; + static void + initialize_tdesc_z80 (void) + { +diff --git a/gdb/mips-linux-tdep.h b/gdb/mips-linux-tdep.h +--- a/gdb/mips-linux-tdep.h ++++ b/gdb/mips-linux-tdep.h +@@ -108,9 +108,9 @@ enum { + int mips_linux_restart_reg_p (struct gdbarch *gdbarch); + + /* Target descriptions. */ +-extern struct target_desc *tdesc_mips_linux; +-extern struct target_desc *tdesc_mips64_linux; +-extern struct target_desc *tdesc_mips_dsp_linux; +-extern struct target_desc *tdesc_mips64_dsp_linux; ++extern const struct target_desc *tdesc_mips_linux; ++extern const struct target_desc *tdesc_mips64_linux; ++extern const struct target_desc *tdesc_mips_dsp_linux; ++extern const struct target_desc *tdesc_mips64_dsp_linux; + + #endif /* MIPS_LINUX_TDEP_H */ +diff --git a/gdb/nios2-tdep.h b/gdb/nios2-tdep.h +--- a/gdb/nios2-tdep.h ++++ b/gdb/nios2-tdep.h +@@ -84,7 +84,7 @@ struct nios2_gdbarch_tdep : gdbarch_tdep + int jb_pc = 0; + }; + +-extern struct target_desc *tdesc_nios2_linux; +-extern struct target_desc *tdesc_nios2; ++extern const struct target_desc *tdesc_nios2_linux; ++extern const struct target_desc *tdesc_nios2; + + #endif /* NIOS2_TDEP_H */ +diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c +--- a/gdb/rs6000-tdep.c ++++ b/gdb/rs6000-tdep.c +@@ -3466,7 +3466,7 @@ struct ppc_variant + unsigned long mach; + + /* Target description for this variant. */ +- struct target_desc **tdesc; ++ const struct target_desc **tdesc; + }; + + static struct ppc_variant variants[] = +diff --git a/gdb/s390-linux-tdep.h b/gdb/s390-linux-tdep.h +--- a/gdb/s390-linux-tdep.h ++++ b/gdb/s390-linux-tdep.h +@@ -48,20 +48,20 @@ extern const struct regset s390_gs_regset; + extern const struct regset s390_gsbc_regset; + + /* GNU/Linux target descriptions. */ +-extern struct target_desc *tdesc_s390_linux32v1; +-extern struct target_desc *tdesc_s390_linux32v2; +-extern struct target_desc *tdesc_s390_linux64; +-extern struct target_desc *tdesc_s390_linux64v1; +-extern struct target_desc *tdesc_s390_linux64v2; +-extern struct target_desc *tdesc_s390_te_linux64; +-extern struct target_desc *tdesc_s390_vx_linux64; +-extern struct target_desc *tdesc_s390_tevx_linux64; +-extern struct target_desc *tdesc_s390_gs_linux64; +-extern struct target_desc *tdesc_s390x_linux64v1; +-extern struct target_desc *tdesc_s390x_linux64v2; +-extern struct target_desc *tdesc_s390x_te_linux64; +-extern struct target_desc *tdesc_s390x_vx_linux64; +-extern struct target_desc *tdesc_s390x_tevx_linux64; +-extern struct target_desc *tdesc_s390x_gs_linux64; ++extern const struct target_desc *tdesc_s390_linux32v1; ++extern const struct target_desc *tdesc_s390_linux32v2; ++extern const struct target_desc *tdesc_s390_linux64; ++extern const struct target_desc *tdesc_s390_linux64v1; ++extern const struct target_desc *tdesc_s390_linux64v2; ++extern const struct target_desc *tdesc_s390_te_linux64; ++extern const struct target_desc *tdesc_s390_vx_linux64; ++extern const struct target_desc *tdesc_s390_tevx_linux64; ++extern const struct target_desc *tdesc_s390_gs_linux64; ++extern const struct target_desc *tdesc_s390x_linux64v1; ++extern const struct target_desc *tdesc_s390x_linux64v2; ++extern const struct target_desc *tdesc_s390x_te_linux64; ++extern const struct target_desc *tdesc_s390x_vx_linux64; ++extern const struct target_desc *tdesc_s390x_tevx_linux64; ++extern const struct target_desc *tdesc_s390x_gs_linux64; + + #endif /* S390_LINUX_TDEP_H */ +diff --git a/gdb/s390-tdep.h b/gdb/s390-tdep.h +--- a/gdb/s390-tdep.h ++++ b/gdb/s390-tdep.h +@@ -317,7 +317,7 @@ extern struct value *s390_trad_frame_prev_register + (struct frame_info *this_frame, struct trad_frame_saved_reg saved_regs[], + int regnum); + +-extern struct target_desc *tdesc_s390_linux32; +-extern struct target_desc *tdesc_s390x_linux64; ++extern const struct target_desc *tdesc_s390_linux32; ++extern const struct target_desc *tdesc_s390x_linux64; + + #endif /* S390_TDEP_H */ +diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c +--- a/gdb/target-descriptions.c ++++ b/gdb/target-descriptions.c +@@ -1367,7 +1367,7 @@ class print_c_tdesc : public tdesc_element_visitor + printf_filtered ("#include \"target-descriptions.h\"\n"); + printf_filtered ("\n"); + +- printf_filtered ("struct target_desc *tdesc_%s;\n", m_function); ++ printf_filtered ("const struct target_desc *tdesc_%s;\n", m_function); + printf_filtered ("static void\n"); + printf_filtered ("initialize_tdesc_%s (void)\n", m_function); + printf_filtered ("{\n"); diff --git a/gdb.spec b/gdb.spec index 093d672..50a583d 100644 --- a/gdb.spec +++ b/gdb.spec @@ -11,9 +11,6 @@ # Turn off the brp-python-bytecompile automagic %global _python_bytecompile_extra 0 -# Disable LTO until upstream fixes GDB's ODR woes. -%define _lto_cflags %{nil} - # Only build on x86 for RHEL6 SCL, defining missing parallel make macros. %if 0%{?scl:1} && 0%{?el6:1} ExclusiveArch: %{ix86} x86_64 @@ -51,7 +48,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1189,6 +1186,10 @@ fi %endif %changelog +* Thu Nov 3 2022 Keith Seitz - 12.1-9 +- Add patch to fix ODR violations on powerpc and + enable LTO builds. (Keith Seitz, sw build/23395) + * Tue Oct 18 2022 Bruno Larsen - 12.1-8 - Backport fix to gdb.base/break-main-file-remove-fail.exp (Tom de Vries) @@ -1206,7 +1207,7 @@ fi * Fri Oct 7 2022 Alexandra Hájková - 12.1-6 - Update gdb-6.6-buildid-locate.patch to fix RHBZ 2122947. -* Thu Jul 28 2022 Amit Shah - 12.1-5 +* Thu Jul 28 2022 Amit Shah - Use the dist_name macro to identify the distribution * Thu Jul 21 2022 Fedora Release Engineering From 7de4cb0e832cde21b28cfba6ca1278425c02c8c7 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Fri, 18 Nov 2022 12:25:59 -0700 Subject: [PATCH 08/84] Remove gdb-6.3-test-movedir-20050125.patch Upstream test gdb.base/fullname.exp provides coverage for this case and more. --- _gdb.spec.Patch.include | 150 ++++++++++++++-------------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-test-movedir-20050125.patch | 101 ------------------- gdb.spec | 4 + 5 files changed, 77 insertions(+), 180 deletions(-) delete mode 100644 gdb-6.3-test-movedir-20050125.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 46a964b..9ff79a2 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -7,287 +7,283 @@ Patch001: gdb-6.3-rh-testversion-20041202.patch #=push Patch002: gdb-6.3-gstack-20050411.patch -# Fix to support executable moving -#=fedoratest -Patch003: gdb-6.3-test-movedir-20050125.patch - # Test sibling threads to set threaded watchpoints for x86 and x86-64 #=fedoratest -Patch004: gdb-6.3-threaded-watchpoints2-20050225.patch +Patch003: gdb-6.3-threaded-watchpoints2-20050225.patch # Verify printing of inherited members test #=fedoratest -Patch005: gdb-6.3-inheritancetest-20050726.patch +Patch004: gdb-6.3-inheritancetest-20050726.patch # Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). #=push+jan: It should be replaced by Infinity project. -Patch006: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +Patch005: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch # Fix TLS symbols resolving for shared libraries with a relative pathname. # The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. #=fedoratest: One should recheck if it is really fixed upstream. -Patch007: gdb-6.5-sharedlibrary-path.patch +Patch006: gdb-6.5-sharedlibrary-path.patch # Improved testsuite results by the testsuite provided by the courtesy of BEA. #=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful. -Patch008: gdb-6.5-BEA-testsuite.patch +Patch007: gdb-6.5-BEA-testsuite.patch # Testcase for deadlocking on last address space byte; for corrupted backtraces. #=fedoratest -Patch009: gdb-6.5-last-address-space-byte-test.patch +Patch008: gdb-6.5-last-address-space-byte-test.patch # Fix readline segfault on excessively long hand-typed lines. #=fedoratest -Patch010: gdb-6.5-readline-long-line-crash-test.patch +Patch009: gdb-6.5-readline-long-line-crash-test.patch # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch011: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch010: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Find symbols properly at their original (included) file (BZ 109921). #=fedoratest -Patch012: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch011: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Update PPC unwinding patches to their upstream variants (BZ 140532). #=fedoratest -Patch013: gdb-6.3-bz140532-ppc-unwinding-test.patch +Patch012: gdb-6.3-bz140532-ppc-unwinding-test.patch # Testcase for exec() from threaded program (BZ 202689). #=fedoratest -Patch014: gdb-6.3-bz202689-exec-from-pthread-test.patch +Patch013: gdb-6.3-bz202689-exec-from-pthread-test.patch # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). #=fedoratest -Patch015: gdb-6.6-bz230000-power6-disassembly-test.patch +Patch014: gdb-6.6-bz230000-power6-disassembly-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch016: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch015: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch017: gdb-6.6-testsuite-timeouts.patch +Patch016: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch018: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch017: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch019: gdb-6.3-attach-see-vdso-test.patch +Patch018: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch020: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch019: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch021: gdb-6.6-buildid-locate.patch +Patch020: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch022: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch021: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch023: gdb-6.6-buildid-locate-rpm.patch +Patch022: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch024: gdb-6.7-charsign-test.patch +Patch023: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch025: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch024: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch026: gdb-6.7-testsuite-stable-results.patch +Patch025: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch027: gdb-6.5-ia64-libunwind-leak-test.patch +Patch026: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch028: gdb-6.5-missed-trap-on-step-test.patch +Patch027: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch029: gdb-6.5-gcore-buffer-limit-test.patch +Patch028: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch030: gdb-6.3-mapping-zero-inode-test.patch +Patch029: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on `focus cmd', `focus prev' commands. #=fedoratest -Patch031: gdb-6.3-focus-cmd-prev-test.patch +Patch030: gdb-6.3-focus-cmd-prev-test.patch # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch032: gdb-6.8-bz442765-threaded-exec-test.patch +Patch031: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch033: gdb-6.5-section-num-fixup-test.patch +Patch032: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch034: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch033: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch035: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch034: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch036: gdb-core-open-vdso-warning.patch +Patch035: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch037: gdb-ccache-workaround.patch +Patch036: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch038: gdb-lineno-makeup-test.patch +Patch037: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch039: gdb-ppc-power7-test.patch +Patch038: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch040: gdb-archer-next-over-throw-cxx-exec.patch +Patch039: gdb-archer-next-over-throw-cxx-exec.patch # Backport DWARF-4 support (BZ 601887, Tom Tromey). #=fedoratest -Patch041: gdb-bz601887-dwarf4-rh-test.patch +Patch040: gdb-bz601887-dwarf4-rh-test.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch042: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch041: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch043: gdb-test-bt-cfi-without-die.patch +Patch042: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch044: gdb-bz634108-solib_address.patch +Patch043: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch045: gdb-test-pid0-core.patch +Patch044: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch046: gdb-test-dw2-aranges.patch +Patch045: gdb-test-dw2-aranges.patch # [archer-keiths-expr-cumulative+upstream] Import C++ testcases. #=fedoratest -Patch047: gdb-test-expr-cumulative-archer.patch +Patch046: gdb-test-expr-cumulative-archer.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch048: gdb-physname-pr11734-test.patch +Patch047: gdb-physname-pr11734-test.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch049: gdb-physname-pr12273-test.patch +Patch048: gdb-physname-pr12273-test.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch050: gdb-test-ivy-bridge.patch +Patch049: gdb-test-ivy-bridge.patch # Hack for proper PIE run of the testsuite. #=fedoratest -Patch051: gdb-runtest-pie-override.patch +Patch050: gdb-runtest-pie-override.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch052: gdb-glibc-strstr-workaround.patch +Patch051: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch053: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch052: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch054: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch053: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch055: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch054: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch056: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch055: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch057: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch056: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Display Fortran strings in backtraces. #=fedoratest -Patch058: gdb-fortran-frame-string.patch +Patch057: gdb-fortran-frame-string.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch059: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch058: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch060: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch059: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch061: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch060: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch062: gdb-rhbz1350436-type-printers-error.patch +Patch061: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch063: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch062: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch064: gdb-fedora-libncursesw.patch +Patch063: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch065: gdb-opcodes-clflushopt-test.patch +Patch064: gdb-opcodes-clflushopt-test.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch066: gdb-6.6-buildid-locate-rpm-scl.patch +Patch065: gdb-6.6-buildid-locate-rpm-scl.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch067: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch066: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch068: gdb-container-rh-pkg.patch +Patch067: gdb-container-rh-pkg.patch # New test for Python "Cannot locate object file for block" (for RH BZ 1325795). #=fedoratest -Patch069: gdb-rhbz1325795-framefilters-test.patch +Patch068: gdb-rhbz1325795-framefilters-test.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch070: gdb-linux_perf-bundle.patch +Patch069: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -296,24 +292,24 @@ Patch070: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch071: gdb-libexec-add-index.patch +Patch070: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch072: gdb-rhbz1398387-tab-crash-test.patch +Patch071: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch073: gdb-rhbz1553104-s390x-arch12-test.patch +Patch072: gdb-rhbz1553104-s390x-arch12-test.patch -Patch074: gdb-backport-readline_support.patch +Patch073: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch075: gdb-backport-fix-break-main-file-remove-fail.patch +Patch074: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch076: gdb-sw22395-constify-target_desc.patch +Patch075: gdb-sw22395-constify-target_desc.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 9fec500..f5bd893 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -73,4 +73,3 @@ %patch073 -p1 %patch074 -p1 %patch075 -p1 -%patch076 -p1 diff --git a/_patch_order b/_patch_order index a475607..21ab34f 100644 --- a/_patch_order +++ b/_patch_order @@ -1,6 +1,5 @@ gdb-6.3-rh-testversion-20041202.patch gdb-6.3-gstack-20050411.patch -gdb-6.3-test-movedir-20050125.patch gdb-6.3-threaded-watchpoints2-20050225.patch gdb-6.3-inheritancetest-20050726.patch gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch diff --git a/gdb-6.3-test-movedir-20050125.patch b/gdb-6.3-test-movedir-20050125.patch deleted file mode 100644 index 31fbc60..0000000 --- a/gdb-6.3-test-movedir-20050125.patch +++ /dev/null @@ -1,101 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Elena Zannoni -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-test-movedir-20050125.patch - -;; Fix to support executable moving -;;=fedoratest - -2005-01-25 Elena Zannoni - - * gdb.base/move-dir.exp: New test. - * gdb.base/move-dir.c: Ditto. - * gdb.base/move-dir.h: Ditto. - -diff --git a/gdb/testsuite/gdb.base/move-dir.c b/gdb/testsuite/gdb.base/move-dir.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/move-dir.c -@@ -0,0 +1,9 @@ -+#include -+#include -+#include "move-dir.h" -+ -+int main() { -+ const char* hw = "hello world."; -+ printf ("%s\n", hw);; -+ other(); -+} -diff --git a/gdb/testsuite/gdb.base/move-dir.exp b/gdb/testsuite/gdb.base/move-dir.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/move-dir.exp -@@ -0,0 +1,57 @@ -+# Copyright 2005 -+# Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+set testfile "move-dir" -+set srcfile ${testfile}.c -+set incfile ${testfile}.h -+set binfile [standard_output_file ${testfile}] -+ -+set testdir [standard_output_file incdir] -+ -+remote_exec build "mkdir $testdir" -+remote_exec build "cp ${srcdir}/${subdir}/${srcfile} [standard_output_file ${srcfile}]" -+remote_exec build "cp ${srcdir}/${subdir}/${incfile} [standard_output_file ${incfile}]" -+ -+set additional_flags "additional_flags=-I${subdir}/incdir" -+ -+if { [gdb_compile [standard_output_file ${srcfile}] "${binfile}" executable [list debug $additional_flags]] != "" } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+ -+# Create and source the file that provides information about the compiler -+# used to compile the test case. -+ -+if [get_compiler_info ${binfile}] { -+ return -1; -+} -+ -+ -+set oldtimeout $timeout -+set timeout [expr "$timeout + 60"] -+ -+# Start with a fresh gdb. -+ -+gdb_exit -+gdb_start -+gdb_test "cd ../.." "" "" -+gdb_load ${binfile} -+gdb_test "list main" ".*hw.*other.*" "found main" -+gdb_test "list other" ".*ostring.*" "found include file" -+ -+ -+set timeout $oldtimeout -+return 0 -diff --git a/gdb/testsuite/gdb.base/move-dir.h b/gdb/testsuite/gdb.base/move-dir.h -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/move-dir.h -@@ -0,0 +1,6 @@ -+#include -+ -+void other() { -+ const char* ostring = "other"; -+ printf ("%s\n", ostring);; -+} diff --git a/gdb.spec b/gdb.spec index 50a583d..d34f193 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,10 @@ fi %endif %changelog +* Fri Nov 18 2022 Kevin Buettner +- Remove gdb-6.3-test-movedir-20050125.patch. Upstream test + gdb.base/fullname.exp provides coverage for this case and more. + * Thu Nov 3 2022 Keith Seitz - 12.1-9 - Add patch to fix ODR violations on powerpc and enable LTO builds. (Keith Seitz, sw build/23395) From 3d614802ea8cbb56c16f1a055b5f61aedf2a8fd6 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Wed, 23 Nov 2022 14:05:18 -0700 Subject: [PATCH 09/84] Remove gdb-6.3-inheritancetest-20050726.patch. Upstream testcase gdb.cp/impl-this.exp tests the printing of an instance variable from an inherited class in the "print c" test. --- _gdb.spec.Patch.include | 146 +++++++++++----------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-inheritancetest-20050726.patch | 160 ------------------------- gdb.spec | 5 + 5 files changed, 76 insertions(+), 237 deletions(-) delete mode 100644 gdb-6.3-inheritancetest-20050726.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 9ff79a2..e2b909c 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -11,279 +11,275 @@ Patch002: gdb-6.3-gstack-20050411.patch #=fedoratest Patch003: gdb-6.3-threaded-watchpoints2-20050225.patch -# Verify printing of inherited members test -#=fedoratest -Patch004: gdb-6.3-inheritancetest-20050726.patch - # Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). #=push+jan: It should be replaced by Infinity project. -Patch005: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +Patch004: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch # Fix TLS symbols resolving for shared libraries with a relative pathname. # The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. #=fedoratest: One should recheck if it is really fixed upstream. -Patch006: gdb-6.5-sharedlibrary-path.patch +Patch005: gdb-6.5-sharedlibrary-path.patch # Improved testsuite results by the testsuite provided by the courtesy of BEA. #=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful. -Patch007: gdb-6.5-BEA-testsuite.patch +Patch006: gdb-6.5-BEA-testsuite.patch # Testcase for deadlocking on last address space byte; for corrupted backtraces. #=fedoratest -Patch008: gdb-6.5-last-address-space-byte-test.patch +Patch007: gdb-6.5-last-address-space-byte-test.patch # Fix readline segfault on excessively long hand-typed lines. #=fedoratest -Patch009: gdb-6.5-readline-long-line-crash-test.patch +Patch008: gdb-6.5-readline-long-line-crash-test.patch # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch010: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch009: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Find symbols properly at their original (included) file (BZ 109921). #=fedoratest -Patch011: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch010: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Update PPC unwinding patches to their upstream variants (BZ 140532). #=fedoratest -Patch012: gdb-6.3-bz140532-ppc-unwinding-test.patch +Patch011: gdb-6.3-bz140532-ppc-unwinding-test.patch # Testcase for exec() from threaded program (BZ 202689). #=fedoratest -Patch013: gdb-6.3-bz202689-exec-from-pthread-test.patch +Patch012: gdb-6.3-bz202689-exec-from-pthread-test.patch # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). #=fedoratest -Patch014: gdb-6.6-bz230000-power6-disassembly-test.patch +Patch013: gdb-6.6-bz230000-power6-disassembly-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch015: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch014: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch016: gdb-6.6-testsuite-timeouts.patch +Patch015: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch017: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch016: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch018: gdb-6.3-attach-see-vdso-test.patch +Patch017: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch019: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch018: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch020: gdb-6.6-buildid-locate.patch +Patch019: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch021: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch020: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch022: gdb-6.6-buildid-locate-rpm.patch +Patch021: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch023: gdb-6.7-charsign-test.patch +Patch022: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch024: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch023: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch025: gdb-6.7-testsuite-stable-results.patch +Patch024: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch026: gdb-6.5-ia64-libunwind-leak-test.patch +Patch025: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch027: gdb-6.5-missed-trap-on-step-test.patch +Patch026: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch028: gdb-6.5-gcore-buffer-limit-test.patch +Patch027: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch029: gdb-6.3-mapping-zero-inode-test.patch +Patch028: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on `focus cmd', `focus prev' commands. #=fedoratest -Patch030: gdb-6.3-focus-cmd-prev-test.patch +Patch029: gdb-6.3-focus-cmd-prev-test.patch # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch031: gdb-6.8-bz442765-threaded-exec-test.patch +Patch030: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch032: gdb-6.5-section-num-fixup-test.patch +Patch031: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch033: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch032: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch034: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch033: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch035: gdb-core-open-vdso-warning.patch +Patch034: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch036: gdb-ccache-workaround.patch +Patch035: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch037: gdb-lineno-makeup-test.patch +Patch036: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch038: gdb-ppc-power7-test.patch +Patch037: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch039: gdb-archer-next-over-throw-cxx-exec.patch +Patch038: gdb-archer-next-over-throw-cxx-exec.patch # Backport DWARF-4 support (BZ 601887, Tom Tromey). #=fedoratest -Patch040: gdb-bz601887-dwarf4-rh-test.patch +Patch039: gdb-bz601887-dwarf4-rh-test.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch041: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch040: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch042: gdb-test-bt-cfi-without-die.patch +Patch041: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch043: gdb-bz634108-solib_address.patch +Patch042: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch044: gdb-test-pid0-core.patch +Patch043: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch045: gdb-test-dw2-aranges.patch +Patch044: gdb-test-dw2-aranges.patch # [archer-keiths-expr-cumulative+upstream] Import C++ testcases. #=fedoratest -Patch046: gdb-test-expr-cumulative-archer.patch +Patch045: gdb-test-expr-cumulative-archer.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch047: gdb-physname-pr11734-test.patch +Patch046: gdb-physname-pr11734-test.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch048: gdb-physname-pr12273-test.patch +Patch047: gdb-physname-pr12273-test.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch049: gdb-test-ivy-bridge.patch +Patch048: gdb-test-ivy-bridge.patch # Hack for proper PIE run of the testsuite. #=fedoratest -Patch050: gdb-runtest-pie-override.patch +Patch049: gdb-runtest-pie-override.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch051: gdb-glibc-strstr-workaround.patch +Patch050: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch052: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch051: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch053: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch052: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch054: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch053: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch055: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch054: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch056: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch055: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Display Fortran strings in backtraces. #=fedoratest -Patch057: gdb-fortran-frame-string.patch +Patch056: gdb-fortran-frame-string.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch058: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch057: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch059: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch058: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch060: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch059: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch061: gdb-rhbz1350436-type-printers-error.patch +Patch060: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch062: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch061: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch063: gdb-fedora-libncursesw.patch +Patch062: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch064: gdb-opcodes-clflushopt-test.patch +Patch063: gdb-opcodes-clflushopt-test.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch065: gdb-6.6-buildid-locate-rpm-scl.patch +Patch064: gdb-6.6-buildid-locate-rpm-scl.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch066: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch065: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch067: gdb-container-rh-pkg.patch +Patch066: gdb-container-rh-pkg.patch # New test for Python "Cannot locate object file for block" (for RH BZ 1325795). #=fedoratest -Patch068: gdb-rhbz1325795-framefilters-test.patch +Patch067: gdb-rhbz1325795-framefilters-test.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch069: gdb-linux_perf-bundle.patch +Patch068: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -292,24 +288,24 @@ Patch069: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch070: gdb-libexec-add-index.patch +Patch069: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch071: gdb-rhbz1398387-tab-crash-test.patch +Patch070: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch072: gdb-rhbz1553104-s390x-arch12-test.patch +Patch071: gdb-rhbz1553104-s390x-arch12-test.patch -Patch073: gdb-backport-readline_support.patch +Patch072: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch074: gdb-backport-fix-break-main-file-remove-fail.patch +Patch073: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch075: gdb-sw22395-constify-target_desc.patch +Patch074: gdb-sw22395-constify-target_desc.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f5bd893..affe771 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,4 +72,3 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 -%patch075 -p1 diff --git a/_patch_order b/_patch_order index 21ab34f..bc9565c 100644 --- a/_patch_order +++ b/_patch_order @@ -1,7 +1,6 @@ gdb-6.3-rh-testversion-20041202.patch gdb-6.3-gstack-20050411.patch gdb-6.3-threaded-watchpoints2-20050225.patch -gdb-6.3-inheritancetest-20050726.patch gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch gdb-6.5-sharedlibrary-path.patch gdb-6.5-BEA-testsuite.patch diff --git a/gdb-6.3-inheritancetest-20050726.patch b/gdb-6.3-inheritancetest-20050726.patch deleted file mode 100644 index 6e12c82..0000000 --- a/gdb-6.3-inheritancetest-20050726.patch +++ /dev/null @@ -1,160 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jeff Johnston -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-inheritancetest-20050726.patch - -;; Verify printing of inherited members test -;;=fedoratest - -2005-07-26 Jeff Johnston - - * gdb.cp/b146835.exp: New testcase. - * gdb.cp/b146835.cc: Ditto. - * gdb.cp/b146835b.cc: Ditto. - * gdb.cp/b146835.h: Ditto. - -diff --git a/gdb/testsuite/gdb.cp/b146835.cc b/gdb/testsuite/gdb.cp/b146835.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/b146835.cc -@@ -0,0 +1,31 @@ -+#include "b146835.h" -+#include -+ -+class F : public C { -+ -+protected: -+ -+ virtual void funcA (unsigned long a, B *b); -+ virtual void funcB (E *e); -+ virtual void funcC (unsigned long x, bool y); -+ -+ char *s1, *s2; -+ bool b1; -+ int k; -+ -+public: -+ void foo() { -+ std::cout << "foo" << std::endl; -+ } -+}; -+ -+ -+void F::funcA (unsigned long a, B *b) {} -+void F::funcB (E *e) {} -+void F::funcC (unsigned long x, bool y) {} -+ -+int main() -+{ -+ F f; -+ f.foo(); -+} -diff --git a/gdb/testsuite/gdb.cp/b146835.exp b/gdb/testsuite/gdb.cp/b146835.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/b146835.exp -@@ -0,0 +1,47 @@ -+# This testcase is part of GDB, the GNU debugger. -+ -+# Copyright 2005 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Check that GDB can properly print an inherited member variable -+# (Bugzilla 146835) -+ -+set testfile "b146835" -+set srcfile ${testfile}.cc -+set srcfile2 ${testfile}b.cc -+set binfile [standard_output_file ${testfile}] -+if {[gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile2}" "${binfile}" executable {debug c++}] != "" } { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+# -+# Run to `main' where we begin our tests. -+# -+ -+if ![runto_main] then { -+ gdb_suppress_tests -+} -+ -+gdb_test "break 'F::foo()'" "" -+gdb_continue_to_breakpoint "First line foo" -+ -+# Verify that we can access the inherited member d -+gdb_test "p d" " = \\(D \\*\\) *0x0" "Verify inherited member d accessible" -diff --git a/gdb/testsuite/gdb.cp/b146835.h b/gdb/testsuite/gdb.cp/b146835.h -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/b146835.h -@@ -0,0 +1,36 @@ -+ -+class A { -+ -+protected: -+ -+ virtual void funcA (unsigned long a, class B *b) = 0; -+ virtual void funcB (class E *e) = 0; -+ virtual void funcC (unsigned long x, bool y) = 0; -+ -+ void funcD (class E *e, class D* d); -+ virtual void funcE (E *e, D *d); -+ virtual void funcF (unsigned long x, D *d); -+}; -+ -+ -+class C : public A { -+ -+protected: -+ -+ int x; -+ class K *k; -+ class H *h; -+ -+ D *d; -+ -+ class W *w; -+ class N *n; -+ class L *l; -+ unsigned long *r; -+ -+public: -+ -+ C(); -+ int z (char *s); -+ virtual ~C(); -+}; -diff --git a/gdb/testsuite/gdb.cp/b146835b.cc b/gdb/testsuite/gdb.cp/b146835b.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/b146835b.cc -@@ -0,0 +1,11 @@ -+#include "b146835.h" -+ -+C::C() { d = 0; x = 3; } -+ -+int C::z (char *s) { return 0; } -+ -+C::~C() {} -+ -+void A::funcD (class E *e, class D *d) {} -+void A::funcE (E *e, D *d) {} -+void A::funcF (unsigned long x, D *d) {} diff --git a/gdb.spec b/gdb.spec index d34f193..db60cd0 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,11 @@ fi %endif %changelog +* Wed Nov 23 2022 Kevin Buettner +- Remove gdb-6.3-inheritancetest-20050726.patch. Upstream testcase + gdb.cp/impl-this.exp tests the printing of an instance variable from + an inherited class in the "print c" test. + * Fri Nov 18 2022 Kevin Buettner - Remove gdb-6.3-test-movedir-20050125.patch. Upstream test gdb.base/fullname.exp provides coverage for this case and more. From 910689b88d5581aa6f0934278d21839ccf30da18 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 29 Nov 2022 14:19:51 -0800 Subject: [PATCH 10/84] Updates for "ModernC" initiative Resolves: rhbz#2143992 --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-6.6-buildid-locate-rpm.patch | 6 +- gdb-fedora-libncursesw.patch | 12 +- ...2-libiberty-fix-c89isms-in-configure.patch | 109 ++++++++++++++++++ gdb.spec | 5 + 7 files changed, 130 insertions(+), 8 deletions(-) create mode 100644 gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index e2b909c..6d16d7e 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -309,3 +309,7 @@ Patch073: gdb-backport-fix-break-main-file-remove-fail.patch # (Keith Seitz, build/22395) Patch074: gdb-sw22395-constify-target_desc.patch +# libiberty: Fix C89-isms in configure tests +# (Florian Weimer, RHBZ 2143992) +Patch075: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index affe771..f5bd893 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,3 +72,4 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 +%patch075 -p1 diff --git a/_patch_order b/_patch_order index bc9565c..90e7185 100644 --- a/_patch_order +++ b/_patch_order @@ -72,3 +72,4 @@ gdb-rhbz1553104-s390x-arch12-test.patch gdb-backport-readline_support.patch gdb-backport-fix-break-main-file-remove-fail.patch gdb-sw22395-constify-target_desc.patch +gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch index efaf989..6c3b728 100644 --- a/gdb-6.6-buildid-locate-rpm.patch +++ b/gdb-6.6-buildid-locate-rpm.patch @@ -305,7 +305,7 @@ diff --git a/gdb/configure b/gdb/configure YACC The `Yet Another Compiler Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. -@@ -6634,6 +6646,494 @@ _ACEOF +@@ -6634,6 +6646,495 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5 $as_echo "$with_auto_load_safe_path" >&6; } @@ -369,6 +369,7 @@ diff --git a/gdb/configure b/gdb/configure +#include +#include +#include ++#include + +int +main () @@ -803,7 +804,7 @@ diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac -@@ -153,6 +153,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir, +@@ -153,6 +153,200 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir, [Directories safe to hold auto-loaded files.]) AC_MSG_RESULT([$with_auto_load_safe_path]) @@ -853,6 +854,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac +#include +#include +#include ++#include + ]], [[ + void *h; + const char *const *rpmverp; diff --git a/gdb-fedora-libncursesw.patch b/gdb-fedora-libncursesw.patch index 7456bf8..a1181d8 100644 --- a/gdb-fedora-libncursesw.patch +++ b/gdb-fedora-libncursesw.patch @@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1270534 diff --git a/gdb/configure b/gdb/configure --- a/gdb/configure +++ b/gdb/configure -@@ -9567,6 +9567,7 @@ if test x"$prefer_curses" = xyes; then +@@ -9568,6 +9568,7 @@ if test x"$prefer_curses" = xyes; then # search /usr/local/include, if ncurses is installed in /usr/local. A # default installation of ncurses on alpha*-dec-osf* will lead to such # a situation. @@ -20,7 +20,7 @@ diff --git a/gdb/configure b/gdb/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5 $as_echo_n "checking for library containing waddstr... " >&6; } if ${ac_cv_search_waddstr+:} false; then : -@@ -9591,7 +9592,7 @@ return waddstr (); +@@ -9592,7 +9593,7 @@ return waddstr (); return 0; } _ACEOF @@ -29,7 +29,7 @@ diff --git a/gdb/configure b/gdb/configure if test -z "$ac_lib"; then ac_res="none required" else -@@ -9665,6 +9666,7 @@ case $host_os in +@@ -9666,6 +9667,7 @@ case $host_os in esac # These are the libraries checked by Readline. @@ -37,7 +37,7 @@ diff --git a/gdb/configure b/gdb/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5 $as_echo_n "checking for library containing tgetent... " >&6; } if ${ac_cv_search_tgetent+:} false; then : -@@ -9689,7 +9691,7 @@ return tgetent (); +@@ -9690,7 +9692,7 @@ return tgetent (); return 0; } _ACEOF @@ -49,7 +49,7 @@ diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac -@@ -713,7 +713,8 @@ if test x"$prefer_curses" = xyes; then +@@ -714,7 +714,8 @@ if test x"$prefer_curses" = xyes; then # search /usr/local/include, if ncurses is installed in /usr/local. A # default installation of ncurses on alpha*-dec-osf* will lead to such # a situation. @@ -59,7 +59,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac if test "$ac_cv_search_waddstr" != no; then curses_found=yes -@@ -755,7 +756,8 @@ case $host_os in +@@ -756,7 +757,8 @@ case $host_os in esac # These are the libraries checked by Readline. diff --git a/gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch b/gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch new file mode 100644 index 0000000..89f51b0 --- /dev/null +++ b/gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch @@ -0,0 +1,109 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Keith Seitz +Date: Tue, 29 Nov 2022 13:43:34 -0800 +Subject: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch + +;; libiberty: Fix C89-isms in configure tests +;; (Florian Weimer, RHBZ 2143992) + + libiberty/ + + * acinclude.m4 (ac_cv_func_strncmp_works): Add missing + int return type and parameter list to the definition of main. + Include and for prototypes. + (ac_cv_c_stack_direction): Add missing + int return type and parameter list to the definitions of + main, find_stack_direction. Include for exit + prototype. + * configure: Regenerate. + +diff --git a/libiberty/acinclude.m4 b/libiberty/acinclude.m4 +--- a/libiberty/acinclude.m4 ++++ b/libiberty/acinclude.m4 +@@ -24,6 +24,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, + [AC_TRY_RUN([ + /* Test by Jim Wilson and Kaveh Ghazi. + Check whether strncmp reads past the end of its string parameters. */ ++#include ++#include + #include + + #ifdef HAVE_FCNTL_H +@@ -51,7 +53,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, + + #define MAP_LEN 0x10000 + +-main () ++int ++main (void) + { + #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) + char *p; +@@ -157,7 +160,10 @@ if test $ac_cv_os_cray = yes; then + fi + + AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, +-[AC_TRY_RUN([find_stack_direction () ++[AC_TRY_RUN([#include ++ ++int ++find_stack_direction (void) + { + static char *addr = 0; + auto char dummy; +@@ -169,7 +175,9 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, + else + return (&dummy > addr) ? 1 : -1; + } +-main () ++ ++int ++main (void) + { + exit (find_stack_direction() < 0); + }], +diff --git a/libiberty/configure b/libiberty/configure +--- a/libiberty/configure ++++ b/libiberty/configure +@@ -6918,7 +6918,10 @@ else + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-find_stack_direction () ++#include ++ ++int ++find_stack_direction (void) + { + static char *addr = 0; + auto char dummy; +@@ -6930,7 +6933,9 @@ find_stack_direction () + else + return (&dummy > addr) ? 1 : -1; + } +-main () ++ ++int ++main (void) + { + exit (find_stack_direction() < 0); + } +@@ -7755,6 +7760,8 @@ else + + /* Test by Jim Wilson and Kaveh Ghazi. + Check whether strncmp reads past the end of its string parameters. */ ++#include ++#include + #include + + #ifdef HAVE_FCNTL_H +@@ -7782,7 +7789,8 @@ else + + #define MAP_LEN 0x10000 + +-main () ++int ++main (void) + { + #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) + char *p; diff --git a/gdb.spec b/gdb.spec index db60cd0..09d4246 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,11 @@ fi %endif %changelog +* Wed Nov 30 2022 Keith Seitz +- Backport "libiberty: Fix C89-isms in configure tests" and do likewise in + gdb-6.6-buildid-locate-rpm.patch. + (Florian Weimer, RHBZ 2143992) + * Wed Nov 23 2022 Kevin Buettner - Remove gdb-6.3-inheritancetest-20050726.patch. Upstream testcase gdb.cp/impl-this.exp tests the printing of an instance variable from From 46e82ad3b5be20a0b7f495936ce3988a4eb654d5 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Tue, 29 Nov 2022 10:51:07 +0100 Subject: [PATCH 11/84] Remove gdb-rhbz1325795-framefilters-test.patch. This test doesn't pass in the curret state, and the code that introduced the original problem has been changed beyong recognition at this point. --- _gdb.spec.Patch.include | 20 ++- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-rhbz1325795-framefilters-test.patch | 176 ------------------------ gdb.spec | 5 + 5 files changed, 13 insertions(+), 190 deletions(-) delete mode 100644 gdb-rhbz1325795-framefilters-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 6d16d7e..bccb519 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -273,13 +273,9 @@ Patch065: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch #=fedora Patch066: gdb-container-rh-pkg.patch -# New test for Python "Cannot locate object file for block" (for RH BZ 1325795). -#=fedoratest -Patch067: gdb-rhbz1325795-framefilters-test.patch - # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch068: gdb-linux_perf-bundle.patch +Patch067: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -288,28 +284,28 @@ Patch068: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch069: gdb-libexec-add-index.patch +Patch068: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch070: gdb-rhbz1398387-tab-crash-test.patch +Patch069: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch071: gdb-rhbz1553104-s390x-arch12-test.patch +Patch070: gdb-rhbz1553104-s390x-arch12-test.patch -Patch072: gdb-backport-readline_support.patch +Patch071: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch073: gdb-backport-fix-break-main-file-remove-fail.patch +Patch072: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch074: gdb-sw22395-constify-target_desc.patch +Patch073: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch075: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch074: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f5bd893..affe771 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,4 +72,3 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 -%patch075 -p1 diff --git a/_patch_order b/_patch_order index 90e7185..0347997 100644 --- a/_patch_order +++ b/_patch_order @@ -64,7 +64,6 @@ gdb-opcodes-clflushopt-test.patch gdb-6.6-buildid-locate-rpm-scl.patch gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch -gdb-rhbz1325795-framefilters-test.patch gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch gdb-rhbz1398387-tab-crash-test.patch diff --git a/gdb-rhbz1325795-framefilters-test.patch b/gdb-rhbz1325795-framefilters-test.patch deleted file mode 100644 index cfe309d..0000000 --- a/gdb-rhbz1325795-framefilters-test.patch +++ /dev/null @@ -1,176 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-rhbz1325795-framefilters-test.patch - -;; New test for Python "Cannot locate object file for block" (for RH BZ 1325795). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.python/py-framefilter-thread.c b/gdb/testsuite/gdb.python/py-framefilter-thread.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-framefilter-thread.c -@@ -0,0 +1,39 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2016 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+#include -+#include -+ -+static void * -+start (void *arg) -+{ -+ return arg; /* Backtrace end breakpoint */ -+} -+ -+int -+main (void) -+{ -+ pthread_t thread1; -+ int i; -+ -+ i = pthread_create (&thread1, NULL, start, NULL); -+ assert (i == 0); -+ i = pthread_join (thread1, NULL); -+ assert (i == 0); -+ -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.python/py-framefilter-thread.exp b/gdb/testsuite/gdb.python/py-framefilter-thread.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-framefilter-thread.exp -@@ -0,0 +1,54 @@ -+# Copyright (C) 2016 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+load_lib gdb-python.exp -+ -+standard_testfile -+ -+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug pthreads}]} { -+ return -1 -+} -+ -+# Skip all tests if Python scripting is not enabled. -+if { [skip_python_tests] } { continue } -+ -+if ![runto_main] then { -+ return -+} -+gdb_test_no_output "set python print-stack full" \ -+ "Set python print-stack to full" -+ -+# Load global frame-filters -+set remote_python_file [remote_download host ${srcdir}/${subdir}/${testfile}.py] -+gdb_test_no_output "python exec (open ('${remote_python_file}').read ())" \ -+ "Load python file" -+ -+gdb_breakpoint [gdb_get_line_number "Backtrace end breakpoint"] -+gdb_continue_to_breakpoint "Backtrace end breakpoint" -+ -+# #2 0x00007ffff75f228d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113^M -+gdb_test "bt no-filters" " in (\\.?_*clone|thread_start) \[^\r\n\]*" "bt no-filters" -+ -+# #2 0x00007ffff75f228d in 941595343737041 () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113^M -+# vs. -+# #2 0x00007ffff75f228d in 941595343737041Traceback (most recent call last): -+# File "/home/jkratoch/redhat/rhel/gdb/rhel-7.3/gdb-7.6.1/gdb/testsuite/../data-directory/python/gdb/FrameDecorator.py", line 145, in frame_args -+# return self._base.frame_args() -+# File "/home/jkratoch/redhat/rhel/gdb/rhel-7.3/gdb-7.6.1/gdb/testsuite/../data-directory/python/gdb/FrameDecorator.py", line 152, in frame_args -+# return args.fetch_frame_args() -+# File "/home/jkratoch/redhat/rhel/gdb/rhel-7.3/gdb-7.6.1/gdb/testsuite/../data-directory/python/gdb/FrameDecorator.py", line 276, in fetch_frame_args -+# block = self.frame.block() -+# RuntimeError: Cannot locate object file for block. -+gdb_test "bt" " in \[0-9\]+ \[^\r\n\]*" "bt with filters" -diff --git a/gdb/testsuite/gdb.python/py-framefilter-thread.py b/gdb/testsuite/gdb.python/py-framefilter-thread.py -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-framefilter-thread.py -@@ -0,0 +1,60 @@ -+# Copyright (C) 2016 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This file is part of the GDB testsuite. It tests Python-based -+# frame-filters. -+ -+# This test is specifically crafted for RH BZ 1197665. -+ -+import gdb -+import itertools -+from gdb.FrameDecorator import FrameDecorator -+import copy -+ -+class Reverse_Function (FrameDecorator): -+ -+ def __init__(self, fobj): -+ super(Reverse_Function, self).__init__(fobj) -+ self.fobj = fobj -+ -+ def function (self): -+ # This function call should not fail. -+ gdb.target_charset () -+ -+ fname = str (self.fobj.function()) -+ if (fname == None or fname == ""): -+ return None -+ else: -+ fname = fname[::-1] -+ return fname -+ -+class FrameFilter (): -+ -+ def __init__ (self): -+ self.name = "Reverse" -+ self.priority = 100 -+ self.enabled = True -+ gdb.frame_filters [self.name] = self -+ -+ def filter (self, frame_iter): -+ # Python 3.x moved the itertools.imap functionality to map(), -+ # so check if it is available. -+ if hasattr(itertools, "imap"): -+ frame_iter = itertools.imap (Reverse_Function, frame_iter) -+ else: -+ frame_iter = map (Reverse_Function, frame_iter) -+ return frame_iter -+ -+FrameFilter() diff --git a/gdb.spec b/gdb.spec index 09d4246..f546b2b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,11 @@ fi %endif %changelog +* Thu Dec 1 2022 Bruno Larsen +- Remove gdb-rhbz1325795-framefilters-test.patch. This test doesn't + pass in the curret state, and the code that introduced the original + problem has been changed beyong recognition at this point. + * Wed Nov 30 2022 Keith Seitz - Backport "libiberty: Fix C89-isms in configure tests" and do likewise in gdb-6.6-buildid-locate-rpm.patch. From e1f49fc4946f45c2690239b0b2ca5416d1e0cf52 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 25 Nov 2022 15:49:31 +0000 Subject: [PATCH 12/84] disable more features when using 'git format-patch' In my .gitconfig I have this: [format] useAutoBase = true thread = shallow As a consequence, when I run generate-patches-from-git-repo.sh I see two problems, first, I see lots of errors like this: fatal: failed to get upstream, if you want to record base commit automatically, please use git branch --set-upstream-to to track a remote branch. Or you could specify base commit by --base= manually These are caused by the use of the useAutoBase option. If I disable useAutoBase, and regenerate the patches, I see that every patch changes, with the addition of a line like this: Message-Id: This is caused by the use of the thread option. Rather than forcing me to not have these settings in my .gitconfig, I propose that we add --no-base and --no-thread to our invocation of 'git format-patch' in generate-patches-from-git-repo.sh, this fixes both of the above problems. With these new options the 'git format-patch' line was getting pretty long, so I've wrapped it to make it more readable. --- generate-patches-from-git-repo.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/generate-patches-from-git-repo.sh b/generate-patches-from-git-repo.sh index 7947c8a..52537ca 100755 --- a/generate-patches-from-git-repo.sh +++ b/generate-patches-from-git-repo.sh @@ -83,7 +83,10 @@ for c in `git rev-list --reverse ${common_ancestor}..HEAD` ; do # before, even if nothing has changed. This is bad, so we replace # the commit hash by something constant (the string # "FEDORA_PATCHES"). - git format-patch --no-signature --no-stat --keep-subject -1 --stdout $c | sed -e '1 s/^From [0-9a-f]\+ \(.*\)/From FEDORA_PATCHES \1/' -e '/^index [0-9a-f]\+\.\.[0-9a-f]\+.*$/d' > $orig_dir/$fname + git format-patch --no-base --no-thread --no-signature --no-stat \ + --keep-subject -1 --stdout $c \ + | sed -e '1 s/^From [0-9a-f]\+ \(.*\)/From FEDORA_PATCHES \1/' \ + -e '/^index [0-9a-f]\+\.\.[0-9a-f]\+.*$/d' > $orig_dir/$fname (cd $orig_dir && git add $fname) cat >> $temp_PATCH_file < Date: Wed, 30 Nov 2022 20:03:06 -0700 Subject: [PATCH 13/84] Remove gdb-6.3-threaded-watchpoints2-20050225.patch The test added by this patch from 2005 is a tweaked verion of the upstream test gdb.threads/watchthreads.exp from 2004. (The current version of gdb.threads/watchthreads.exp has changed somewhat since 2004.) The tweaks added to the circa 2004 upstream test consist of setting a breakpoint on thread_function and then continuing to it. At that point, initial / runtime values of args[2] and args[3] are fetched and saved in some TCL variables (which are renamed versions of args_0 and args_1 in watchthreads.exp). The rest of the changes to the tweaked script are mostly related to the renaming related to args_0 and args_1. The other major difference is that watchthreads.exp places hardware watchpoints on args[0] and args[1] whereas the tweaked test instead watches args[2] and args[3]. However, all of these initialized to 0. In the tweaked test, fetching the initial values when the thread function is first hit should result in zero values being fetched for args[2] and args[3]. So, in conclusion, the tweaked version of the test doesn't actually test anything new. I took a look at old posts / threads from the gdb-patches mailing list, but I couldn't find a post where Jeff Johnston included this patch (and an explanation of what it does over the other patch.) Since this test doesn't offer anything new/better over what's already upstream, I'm deleting it. --- _gdb.spec.Patch.include | 146 ++++++----- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-threaded-watchpoints2-20050225.patch | 253 ------------------- gdb.spec | 5 + 5 files changed, 76 insertions(+), 330 deletions(-) delete mode 100644 gdb-6.3-threaded-watchpoints2-20050225.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index bccb519..03b4a63 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -7,275 +7,271 @@ Patch001: gdb-6.3-rh-testversion-20041202.patch #=push Patch002: gdb-6.3-gstack-20050411.patch -# Test sibling threads to set threaded watchpoints for x86 and x86-64 -#=fedoratest -Patch003: gdb-6.3-threaded-watchpoints2-20050225.patch - # Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). #=push+jan: It should be replaced by Infinity project. -Patch004: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +Patch003: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch # Fix TLS symbols resolving for shared libraries with a relative pathname. # The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. #=fedoratest: One should recheck if it is really fixed upstream. -Patch005: gdb-6.5-sharedlibrary-path.patch +Patch004: gdb-6.5-sharedlibrary-path.patch # Improved testsuite results by the testsuite provided by the courtesy of BEA. #=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful. -Patch006: gdb-6.5-BEA-testsuite.patch +Patch005: gdb-6.5-BEA-testsuite.patch # Testcase for deadlocking on last address space byte; for corrupted backtraces. #=fedoratest -Patch007: gdb-6.5-last-address-space-byte-test.patch +Patch006: gdb-6.5-last-address-space-byte-test.patch # Fix readline segfault on excessively long hand-typed lines. #=fedoratest -Patch008: gdb-6.5-readline-long-line-crash-test.patch +Patch007: gdb-6.5-readline-long-line-crash-test.patch # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch009: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch008: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Find symbols properly at their original (included) file (BZ 109921). #=fedoratest -Patch010: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch009: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Update PPC unwinding patches to their upstream variants (BZ 140532). #=fedoratest -Patch011: gdb-6.3-bz140532-ppc-unwinding-test.patch +Patch010: gdb-6.3-bz140532-ppc-unwinding-test.patch # Testcase for exec() from threaded program (BZ 202689). #=fedoratest -Patch012: gdb-6.3-bz202689-exec-from-pthread-test.patch +Patch011: gdb-6.3-bz202689-exec-from-pthread-test.patch # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). #=fedoratest -Patch013: gdb-6.6-bz230000-power6-disassembly-test.patch +Patch012: gdb-6.6-bz230000-power6-disassembly-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch014: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch013: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch015: gdb-6.6-testsuite-timeouts.patch +Patch014: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch016: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch015: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch017: gdb-6.3-attach-see-vdso-test.patch +Patch016: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch018: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch017: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch019: gdb-6.6-buildid-locate.patch +Patch018: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch020: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch019: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch021: gdb-6.6-buildid-locate-rpm.patch +Patch020: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch022: gdb-6.7-charsign-test.patch +Patch021: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch023: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch022: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch024: gdb-6.7-testsuite-stable-results.patch +Patch023: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch025: gdb-6.5-ia64-libunwind-leak-test.patch +Patch024: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch026: gdb-6.5-missed-trap-on-step-test.patch +Patch025: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch027: gdb-6.5-gcore-buffer-limit-test.patch +Patch026: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch028: gdb-6.3-mapping-zero-inode-test.patch +Patch027: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on `focus cmd', `focus prev' commands. #=fedoratest -Patch029: gdb-6.3-focus-cmd-prev-test.patch +Patch028: gdb-6.3-focus-cmd-prev-test.patch # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch030: gdb-6.8-bz442765-threaded-exec-test.patch +Patch029: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch031: gdb-6.5-section-num-fixup-test.patch +Patch030: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch032: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch031: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch033: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch032: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch034: gdb-core-open-vdso-warning.patch +Patch033: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch035: gdb-ccache-workaround.patch +Patch034: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch036: gdb-lineno-makeup-test.patch +Patch035: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch037: gdb-ppc-power7-test.patch +Patch036: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch038: gdb-archer-next-over-throw-cxx-exec.patch +Patch037: gdb-archer-next-over-throw-cxx-exec.patch # Backport DWARF-4 support (BZ 601887, Tom Tromey). #=fedoratest -Patch039: gdb-bz601887-dwarf4-rh-test.patch +Patch038: gdb-bz601887-dwarf4-rh-test.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch040: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch039: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch041: gdb-test-bt-cfi-without-die.patch +Patch040: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch042: gdb-bz634108-solib_address.patch +Patch041: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch043: gdb-test-pid0-core.patch +Patch042: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch044: gdb-test-dw2-aranges.patch +Patch043: gdb-test-dw2-aranges.patch # [archer-keiths-expr-cumulative+upstream] Import C++ testcases. #=fedoratest -Patch045: gdb-test-expr-cumulative-archer.patch +Patch044: gdb-test-expr-cumulative-archer.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch046: gdb-physname-pr11734-test.patch +Patch045: gdb-physname-pr11734-test.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch047: gdb-physname-pr12273-test.patch +Patch046: gdb-physname-pr12273-test.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch048: gdb-test-ivy-bridge.patch +Patch047: gdb-test-ivy-bridge.patch # Hack for proper PIE run of the testsuite. #=fedoratest -Patch049: gdb-runtest-pie-override.patch +Patch048: gdb-runtest-pie-override.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch050: gdb-glibc-strstr-workaround.patch +Patch049: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch051: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch050: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch052: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch051: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch053: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch052: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch054: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch053: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch055: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch054: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Display Fortran strings in backtraces. #=fedoratest -Patch056: gdb-fortran-frame-string.patch +Patch055: gdb-fortran-frame-string.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch057: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch056: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch058: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch057: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch059: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch058: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch060: gdb-rhbz1350436-type-printers-error.patch +Patch059: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch061: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch060: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch062: gdb-fedora-libncursesw.patch +Patch061: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch063: gdb-opcodes-clflushopt-test.patch +Patch062: gdb-opcodes-clflushopt-test.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch064: gdb-6.6-buildid-locate-rpm-scl.patch +Patch063: gdb-6.6-buildid-locate-rpm-scl.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch065: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch064: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch066: gdb-container-rh-pkg.patch +Patch065: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch067: gdb-linux_perf-bundle.patch +Patch066: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -284,28 +280,28 @@ Patch067: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch068: gdb-libexec-add-index.patch +Patch067: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch069: gdb-rhbz1398387-tab-crash-test.patch +Patch068: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch070: gdb-rhbz1553104-s390x-arch12-test.patch +Patch069: gdb-rhbz1553104-s390x-arch12-test.patch -Patch071: gdb-backport-readline_support.patch +Patch070: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch072: gdb-backport-fix-break-main-file-remove-fail.patch +Patch071: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch073: gdb-sw22395-constify-target_desc.patch +Patch072: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch074: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch073: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index affe771..9601239 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -71,4 +71,3 @@ %patch071 -p1 %patch072 -p1 %patch073 -p1 -%patch074 -p1 diff --git a/_patch_order b/_patch_order index 0347997..2a8c121 100644 --- a/_patch_order +++ b/_patch_order @@ -1,6 +1,5 @@ gdb-6.3-rh-testversion-20041202.patch gdb-6.3-gstack-20050411.patch -gdb-6.3-threaded-watchpoints2-20050225.patch gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch gdb-6.5-sharedlibrary-path.patch gdb-6.5-BEA-testsuite.patch diff --git a/gdb-6.3-threaded-watchpoints2-20050225.patch b/gdb-6.3-threaded-watchpoints2-20050225.patch deleted file mode 100644 index 42b5260..0000000 --- a/gdb-6.3-threaded-watchpoints2-20050225.patch +++ /dev/null @@ -1,253 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jeff Johnston -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-threaded-watchpoints2-20050225.patch - -;; Test sibling threads to set threaded watchpoints for x86 and x86-64 -;;=fedoratest - -2005-02-28 Jeff Johnston - - * config/i386/nm-linux.h: Change dr register routines to - accept a ptid_t first argument. Change all calling macros - to default the inferior_ptid for the first argument. - (i386_linux_insert_watchpoint): New prototype. - (i386_linux_remove_watchpoint, i386_linux_insert_hw_breakpoint): Ditto. - (i386_linux_remove_hw_breakpoint): Ditto. - (target_insert_watchpoint, target_remove_watchpoint): Undef and - override. - (target_insert_hw_breakpoint, target_remove_hw_breakpoint): Ditto. - * config/i386/nm-linux64.h: Ditto except add amd64 versions of - the watchpoint/hw-breakpoint insert/remove routines. - * i386-nat.c: Include "inferior.h" to define inferior_ptid. - * i386-linux-nat.c: Change all dr get/set routines to accept - ptid_t as first argument and to use this argument to determine - the tid for PTRACE. - (i386_linux_set_debug_regs_for_thread): New function. - (i386_linux_sync_debug_registers_callback): Ditto. - (i386_linux_sync_debug_registers_across_threads): Ditto. - (i386_linux_insert_watchpoint, i386_linux_remove_watchpoint): Ditto. - (i386_linux_hw_breakpoint, i386_linux_remove_hw_breakpoint): Ditto. - (i386_linux_new_thread): Ditto. - (_initialize_i386_linux_nat): Ditto. - * amd64-linux-nat.c: Change all dr get/set routines to accept - ptid_t as first argument and to use this argument to determine - the tid for PTRACE. - (amd64_linux_set_debug_regs_for_thread): New function. - (amd64_linux_sync_debug_registers_callback): Ditto. - (amd64_linux_sync_debug_registers_across_threads): Ditto. - (amd64_linux_insert_watchpoint, amd64_linux_remove_watchpoint): Ditto. - (amd64_linux_hw_breakpoint, amd64_linux_remove_hw_breakpoint): Ditto. - (amd64_linux_new_thread): Ditto. - (_initialize_amd64_linux_nat): Register linux new thread observer. - * testsuite/gdb.threads/watchthreads-threaded.c: New test case. - * testsuite/gdb.threads/watchthreads-threaded.exp: Ditto. - -[ With recent upstream GDB (6.8) reduced only to the testcase. ] - -[ It was called watchthreads2.{exp,c} before but it conflicted with FSF GDB new - testcase of the same name. ] - -FIXME: The testcase does not expects multiple watchpoints hits per one stop. - -diff --git a/gdb/testsuite/gdb.threads/watchthreads-threaded.c b/gdb/testsuite/gdb.threads/watchthreads-threaded.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/watchthreads-threaded.c -@@ -0,0 +1,65 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. -+ -+ This file is copied from schedlock.c. */ -+ -+#include -+#include -+#include -+#include -+ -+void *thread_function(void *arg); /* Pointer to function executed by each thread */ -+ -+#define NUM 5 -+ -+unsigned int args[NUM+1]; -+ -+int main() { -+ int res; -+ pthread_t threads[NUM]; -+ void *thread_result; -+ long i; -+ -+ for (i = 0; i < NUM; i++) -+ { -+ args[i] = 1; /* Init value. */ -+ res = pthread_create(&threads[i], -+ NULL, -+ thread_function, -+ (void *) i); -+ } -+ -+ args[i] = 1; -+ thread_function ((void *) i); -+ -+ exit(EXIT_SUCCESS); -+} -+ -+void *thread_function(void *arg) { -+ int my_number = (long) arg; -+ int *myp = (int *) &args[my_number]; -+ -+ /* Don't run forever. Run just short of it :) */ -+ while (*myp > 0) -+ { -+ (*myp) ++; usleep (1); /* Loop increment. */ -+ } -+ -+ pthread_exit(NULL); -+} -diff --git a/gdb/testsuite/gdb.threads/watchthreads-threaded.exp b/gdb/testsuite/gdb.threads/watchthreads-threaded.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/watchthreads-threaded.exp -@@ -0,0 +1,126 @@ -+# This testcase is part of GDB, the GNU debugger. -+ -+# Copyright 2005 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Check that GDB can support multiple watchpoints across threads. -+ -+# This test verifies that a watchpoint is detected in the proper thread -+# so the test is only meaningful on a system with hardware watchpoints. -+if [target_info exists gdb,no_hardware_watchpoints] { -+ return 0; -+} -+ -+set testfile "watchthreads-threaded" -+set srcfile ${testfile}.c -+set binfile [standard_output_file ${testfile}] -+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug "incdir=${objdir}"]] != "" } { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+gdb_test "set can-use-hw-watchpoints 1" "" "" -+ -+# -+# Run to `main' where we begin our tests. -+# -+ -+if ![runto_main] then { -+ gdb_suppress_tests -+} -+ -+set args_2 0 -+set args_3 0 -+ -+gdb_breakpoint "thread_function" -+gdb_continue_to_breakpoint "thread_function" -+gdb_test "disable 2" "" -+ -+gdb_test_multiple "p args\[2\]" "get initial args2" { -+ -re "\\\$\[0-9\]* = (.*)$gdb_prompt $" { -+ set init_args_2 $expect_out(1,string) -+ pass "get initial args2" -+ } -+} -+ -+gdb_test_multiple "p args\[3\]" "get initial args3" { -+ -re "\\\$\[0-9\]* = (.*)$gdb_prompt $" { -+ set init_args_3 $expect_out(1,string) -+ pass "get initial args3" -+ } -+} -+ -+set args_2 $init_args_2 -+set args_3 $init_args_3 -+ -+# Watch values that will be modified by distinct threads. -+gdb_test "watch args\[2\]" "Hardware watchpoint 3: args\\\[2\\\]" -+gdb_test "watch args\[3\]" "Hardware watchpoint 4: args\\\[3\\\]" -+ -+set init_line [expr [gdb_get_line_number "Init value"]+1] -+set inc_line [gdb_get_line_number "Loop increment"] -+ -+# Loop and continue to allow both watchpoints to be triggered. -+for {set i 0} {$i < 30} {incr i} { -+ set test_flag 0 -+ gdb_test_multiple "continue" "threaded watch loop" { -+ -re "Hardware watchpoint 3: args\\\[2\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*watchthreads-threaded.c:$init_line.*$gdb_prompt $" -+ { set args_2 1; set test_flag 1 } -+ -re "Hardware watchpoint 4: args\\\[3\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*watchthreads-threaded.c:$init_line.*$gdb_prompt $" -+ { set args_3 1; set test_flag 1 } -+ -re "Hardware watchpoint 3: args\\\[2\\\].*Old value = $args_2.*New value = [expr $args_2+1].*thread_function \\\(arg=0x2\\\) at .*watchthreads-threaded.c:$inc_line.*$gdb_prompt $" -+ { set args_2 [expr $args_2+1]; set test_flag 1 } -+ -re "Hardware watchpoint 4: args\\\[3\\\].*Old value = $args_3.*New value = [expr $args_3+1].*thread_function \\\(arg=0x3\\\) at .*watchthreads-threaded.c:$inc_line.*$gdb_prompt $" -+ { set args_3 [expr $args_3+1]; set test_flag 1 } -+ } -+ # If we fail above, don't bother continuing loop -+ if { $test_flag == 0 } { -+ set i 30; -+ } -+} -+ -+# Print success message if loop succeeded. -+if { $test_flag == 1 } { -+ pass "threaded watch loop" -+} -+ -+# Verify that we hit first watchpoint in child thread. -+set message "watchpoint on args\[2\] hit in thread" -+if { $args_2 > 1 } { -+ pass $message -+} else { -+ fail $message -+} -+ -+# Verify that we hit second watchpoint in child thread. -+set message "watchpoint on args\[3\] hit in thread" -+if { $args_3 > 1 } { -+ pass $message -+} else { -+ fail $message -+} -+ -+# Verify that all watchpoint hits are accounted for. -+set message "combination of threaded watchpoints = 30 + initial values" -+if { [expr $args_2+$args_3] == [expr [expr 30+$init_args_2]+$init_args_3] } { -+ pass $message -+} else { -+ fail $message -+} diff --git a/gdb.spec b/gdb.spec index f546b2b..4a544ba 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,11 @@ fi %endif %changelog +* Thu Dec 1 2022 Kevin Buettner +- Remove gdb-6.3-threaded-watchpoints2-20050225.patch. The test in this + patch is a tweaked version of upstream test gdb.threads/watchthreads.exp + from 2004. It doesn't actually test anything new. + * Thu Dec 1 2022 Bruno Larsen - Remove gdb-rhbz1325795-framefilters-test.patch. This test doesn't pass in the curret state, and the code that introduced the original From 7e69ec9711e6cb2b66a984b8234e43b1f27d69b7 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Mon, 5 Dec 2022 07:54:56 -0800 Subject: [PATCH 14/84] Remove several unnecessary test patches - gdb-physname-pr11734-test.patch - gdb-physname-pr12273-test.patch These two tests were merged upstream under a different file name. - gdb-runtest-pie-override.patch This patch appears unnecessary today. I have tested on all supported host architectures and detected no regressions. I presume this was fixed in a different manner through the years. - gdb-test-expr-cumulative-archer.patch The patch contains two tests. Both are upstream already. While one is a little more involved than what landed upstream, both tests are equivalent. The other test, gdb.cp/namespace-no-imports.exp, is identical to upstream's gdb.cp/nsnoimports.exp with whitespace and other trivial changes. --- _gdb.spec.Patch.include | 68 +++----- _gdb.spec.patch.include | 4 - _patch_order | 4 - gdb-physname-pr11734-test.patch | 229 -------------------------- gdb-physname-pr12273-test.patch | 103 ------------ gdb-runtest-pie-override.patch | 49 ------ gdb-test-expr-cumulative-archer.patch | 223 ------------------------- gdb.spec | 5 + 8 files changed, 31 insertions(+), 654 deletions(-) delete mode 100644 gdb-physname-pr11734-test.patch delete mode 100644 gdb-physname-pr12273-test.patch delete mode 100644 gdb-runtest-pie-override.patch delete mode 100644 gdb-test-expr-cumulative-archer.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 03b4a63..c9cc0fc 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -174,104 +174,88 @@ Patch042: gdb-test-pid0-core.patch #=fedoratest Patch043: gdb-test-dw2-aranges.patch -# [archer-keiths-expr-cumulative+upstream] Import C++ testcases. -#=fedoratest -Patch044: gdb-test-expr-cumulative-archer.patch - -# Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). -#=fedoratest -Patch045: gdb-physname-pr11734-test.patch - -# Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). -#=fedoratest -Patch046: gdb-physname-pr12273-test.patch - # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch047: gdb-test-ivy-bridge.patch - -# Hack for proper PIE run of the testsuite. -#=fedoratest -Patch048: gdb-runtest-pie-override.patch +Patch044: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch049: gdb-glibc-strstr-workaround.patch +Patch045: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch050: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch046: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch051: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch047: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch052: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch048: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch053: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch049: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch054: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch050: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Display Fortran strings in backtraces. #=fedoratest -Patch055: gdb-fortran-frame-string.patch +Patch051: gdb-fortran-frame-string.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch056: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch052: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch057: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch053: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch058: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch054: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch059: gdb-rhbz1350436-type-printers-error.patch +Patch055: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch060: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch056: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch061: gdb-fedora-libncursesw.patch +Patch057: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch062: gdb-opcodes-clflushopt-test.patch +Patch058: gdb-opcodes-clflushopt-test.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch063: gdb-6.6-buildid-locate-rpm-scl.patch +Patch059: gdb-6.6-buildid-locate-rpm-scl.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch064: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch060: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch065: gdb-container-rh-pkg.patch +Patch061: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch066: gdb-linux_perf-bundle.patch +Patch062: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -280,28 +264,28 @@ Patch066: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch067: gdb-libexec-add-index.patch +Patch063: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch068: gdb-rhbz1398387-tab-crash-test.patch +Patch064: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch069: gdb-rhbz1553104-s390x-arch12-test.patch +Patch065: gdb-rhbz1553104-s390x-arch12-test.patch -Patch070: gdb-backport-readline_support.patch +Patch066: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch071: gdb-backport-fix-break-main-file-remove-fail.patch +Patch067: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch072: gdb-sw22395-constify-target_desc.patch +Patch068: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch073: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch069: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 9601239..4ef8e6c 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -67,7 +67,3 @@ %patch067 -p1 %patch068 -p1 %patch069 -p1 -%patch070 -p1 -%patch071 -p1 -%patch072 -p1 -%patch073 -p1 diff --git a/_patch_order b/_patch_order index 2a8c121..25b8f1e 100644 --- a/_patch_order +++ b/_patch_order @@ -41,11 +41,7 @@ gdb-test-bt-cfi-without-die.patch gdb-bz634108-solib_address.patch gdb-test-pid0-core.patch gdb-test-dw2-aranges.patch -gdb-test-expr-cumulative-archer.patch -gdb-physname-pr11734-test.patch -gdb-physname-pr12273-test.patch gdb-test-ivy-bridge.patch -gdb-runtest-pie-override.patch gdb-glibc-strstr-workaround.patch gdb-rhel5.9-testcase-xlf-var-inside-mod.patch gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch diff --git a/gdb-physname-pr11734-test.patch b/gdb-physname-pr11734-test.patch deleted file mode 100644 index 835e18c..0000000 --- a/gdb-physname-pr11734-test.patch +++ /dev/null @@ -1,229 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-physname-pr11734-test.patch - -;; Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). -;;=fedoratest - -http://sourceware.org/ml/gdb-patches/2010-12/msg00263.html - -diff --git a/gdb/testsuite/gdb.cp/pr11734-1.cc b/gdb/testsuite/gdb.cp/pr11734-1.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr11734-1.cc -@@ -0,0 +1,29 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@gnu.org */ -+ -+#include "pr11734.h" -+ -+int -+main () -+{ -+ pr11734 *p = new pr11734; -+ p->foo (); -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.cp/pr11734-2.cc b/gdb/testsuite/gdb.cp/pr11734-2.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr11734-2.cc -@@ -0,0 +1,26 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@gnu.org */ -+ -+#include "pr11734.h" -+ -+void -+pr11734::foo(void) -+{ -+} -diff --git a/gdb/testsuite/gdb.cp/pr11734-3.cc b/gdb/testsuite/gdb.cp/pr11734-3.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr11734-3.cc -@@ -0,0 +1,26 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@gnu.org */ -+ -+#include "pr11734.h" -+ -+void -+pr11734::foo (int a) -+{ -+} -diff --git a/gdb/testsuite/gdb.cp/pr11734-4.cc b/gdb/testsuite/gdb.cp/pr11734-4.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr11734-4.cc -@@ -0,0 +1,26 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@gnu.org */ -+ -+#include "pr11734.h" -+ -+void -+pr11734::foo (char *a) -+{ -+} -diff --git a/gdb/testsuite/gdb.cp/pr11734.exp b/gdb/testsuite/gdb.cp/pr11734.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr11734.exp -@@ -0,0 +1,55 @@ -+# Copyright 2010 Free Software Foundation, Inc. -+# -+# Contributed by Red Hat, originally written by Keith Seitz. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This file is part of the gdb testsuite. -+ -+if { [skip_cplus_tests] } { continue } -+ -+set testfile "pr11734" -+set class $testfile -+ -+set srcfiles {} -+for {set i 1} {$i < 5} {incr i} { -+ lappend srcfiles $testfile-$i.cc -+} -+ -+prepare_for_testing pr11734 $testfile $srcfiles {c++ debug} -+ -+if {![runto_main]} { -+ perror "couldn't run to breakpoint" -+ continue -+} -+ -+# An array holding the overload types for the method pr11734::foo. The -+# first element is the overloaded method parameter. The second element -+# is the expected source file number, e.g. "pr11734-?.cc". -+array set tests { -+ "char*" 4 -+ "int" 3 -+ "" 2 -+} -+ -+# Test each overload instance twice: once quoted, once unquoted -+foreach ovld [array names tests] { -+ set method "${class}::foo\($ovld\)" -+ set result "Breakpoint (\[0-9\]).*file .*/$class-$tests($ovld).*" -+ gdb_test "break $method" $result -+ gdb_test "break '$method'" $result -+} -+ -+gdb_exit -+return 0 -diff --git a/gdb/testsuite/gdb.cp/pr11734.h b/gdb/testsuite/gdb.cp/pr11734.h -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr11734.h -@@ -0,0 +1,27 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@gnu.org */ -+ -+class pr11734 -+{ -+ public: -+ void foo (); -+ void foo (int); -+ void foo (char *); -+}; diff --git a/gdb-physname-pr12273-test.patch b/gdb-physname-pr12273-test.patch deleted file mode 100644 index 6c943ad..0000000 --- a/gdb-physname-pr12273-test.patch +++ /dev/null @@ -1,103 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-physname-pr12273-test.patch - -;; Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). -;;=fedoratest - -http://sourceware.org/ml/gdb-patches/2010-12/msg00264.html - -diff --git a/gdb/testsuite/gdb.cp/pr12273.cc b/gdb/testsuite/gdb.cp/pr12273.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr12273.cc -@@ -0,0 +1,37 @@ -+/* This test case is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+template -+class GDB -+{ -+ public: -+ static int simple (void) { return 0; } -+ static int harder (T a) { return 1; } -+ template -+ static X even_harder (T a) { return static_cast (a); } -+ int operator == (GDB const& other) -+ { return 1; } -+}; -+ -+int main(int argc, char **argv) -+{ -+ GDB a, b; -+ if (a == b) -+ return GDB::harder('a') + GDB::harder(3) -+ + GDB::even_harder ('a'); -+ return GDB::simple (); -+} -diff --git a/gdb/testsuite/gdb.cp/pr12273.exp b/gdb/testsuite/gdb.cp/pr12273.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/pr12273.exp -@@ -0,0 +1,46 @@ -+# Copyright 2010 Free Software Foundation, Inc. -+# -+# Contributed by Red Hat, originally written by Keith Seitz. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This file is part of the gdb testsuite. -+ -+if {[skip_cplus_tests]} { continue } -+ -+set testfile "pr12273" -+# Do NOT compile with debug flag. -+prepare_for_testing pr12273 $testfile $testfile.cc {c++} -+ -+gdb_test_no_output "set language c++" -+ -+# A list of minimal symbol names to check. -+# Note that GDB::even_harder(char) is quoted and includes -+# the return type. This is necessary because this is the demangled name -+# of the minimal symbol. -+set min_syms [list \ -+ "GDB::operator ==" \ -+ "GDB::operator==(GDB const&)" \ -+ "GDB::harder(char)" \ -+ "GDB::harder(int)" \ -+ {"int GDB::even_harder(char)"} \ -+ "GDB::simple()"] -+ -+foreach sym $min_syms { -+ if {[gdb_breakpoint $sym]} { -+ pass "setting breakpoint at $sym" -+ } -+} -+ -+gdb_exit diff --git a/gdb-runtest-pie-override.patch b/gdb-runtest-pie-override.patch deleted file mode 100644 index 25c2bb8..0000000 --- a/gdb-runtest-pie-override.patch +++ /dev/null @@ -1,49 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-runtest-pie-override.patch - -;; Hack for proper PIE run of the testsuite. -;;=fedoratest - -make check//unix/-fPIE/-pie RUNTESTFLAGS=solib-display.exp - -gcc -fpic -c -fPIE -pie -o x.o x.c -/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/Scrt1.o: In function `_start': -(.text+0x20): undefined reference to `main' - -=> Change the order for overrides. - -One has to also use -fPIC rather than -fPIE, -fPIC is stronger. - -The correct way would be: -make check//unix RUNTESTFLAGS='CC_FOR_TARGET=gcc\ -fPIC\ -pie CXX_FOR_TARGET=g++\ -fPIC\ -pie solib-display.exp' - -But there is a problem with testsuite.unix non-unique subdir name and also -a problem with make -j parallelization of the testsuite. - -diff --git a/gdb/testsuite/lib/future.exp b/gdb/testsuite/lib/future.exp ---- a/gdb/testsuite/lib/future.exp -+++ b/gdb/testsuite/lib/future.exp -@@ -197,6 +197,10 @@ proc gdb_default_target_compile_1 {source destfile type options} { - set ldflags "" - set dest [target_info name] - -+ if {[board_info $dest exists multilib_flags]} { -+ append add_flags " [board_info $dest multilib_flags]" -+ } -+ - if {[info exists CFLAGS_FOR_TARGET]} { - append add_flags " $CFLAGS_FOR_TARGET" - } -@@ -531,10 +535,6 @@ proc gdb_default_target_compile_1 {source destfile type options} { - } - } - -- if {[board_info $dest exists multilib_flags]} { -- append add_flags " [board_info $dest multilib_flags]" -- } -- - verbose "doing compile" - - set sources "" diff --git a/gdb-test-expr-cumulative-archer.patch b/gdb-test-expr-cumulative-archer.patch deleted file mode 100644 index 28a903d..0000000 --- a/gdb-test-expr-cumulative-archer.patch +++ /dev/null @@ -1,223 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-test-expr-cumulative-archer.patch - -;; [archer-keiths-expr-cumulative+upstream] Import C++ testcases. -;;=fedoratest - -archer archer-keiths-expr-cumulative -b5a7497340b24199f0c7ba7fdf0d54d4df44d6bc - -diff --git a/gdb/testsuite/gdb.cp/namespace-nested-imports.cc b/gdb/testsuite/gdb.cp/namespace-nested-imports.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/namespace-nested-imports.cc -@@ -0,0 +1,36 @@ -+namespace A -+{ -+ namespace B -+ { -+ int ab = 11; -+ } -+} -+ -+namespace C -+{ -+ namespace D -+ { -+ using namespace A::B; -+ -+ int -+ second() -+ { -+ ab; -+ return 0; -+ } -+ } -+ -+ int -+ first() -+ { -+ //ab; -+ return D::second(); -+ } -+} -+ -+int -+main() -+{ -+ //ab; -+ return C::first(); -+} -diff --git a/gdb/testsuite/gdb.cp/namespace-nested-imports.exp b/gdb/testsuite/gdb.cp/namespace-nested-imports.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/namespace-nested-imports.exp -@@ -0,0 +1,50 @@ -+# Copyright 2008 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+set testfile namespace-nested-imports -+set srcfile ${testfile}.cc -+set binfile [standard_output_file ${testfile}] -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { -+ untested "Couldn't compile test program" -+ return -1 -+} -+ -+# Get things started. -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+############################################ -+if ![runto_main] then { -+ perror "couldn't run to breakpoint main" -+ continue -+} -+ -+gdb_test "print ab" "No symbol .* in current context." -+ -+############################################ -+gdb_breakpoint C::first -+gdb_continue_to_breakpoint "C::first" -+ -+gdb_test "print ab" "No symbol .* in current context." -+gdb_test "print C::D::ab" "= 11" -+ -+############################################ -+gdb_breakpoint C::D::second -+gdb_continue_to_breakpoint "C::D::second" -+ -+gdb_test "print ab" "= 11" -diff --git a/gdb/testsuite/gdb.cp/namespace-no-imports.cc b/gdb/testsuite/gdb.cp/namespace-no-imports.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/namespace-no-imports.cc -@@ -0,0 +1,37 @@ -+ -+namespace A -+{ -+ int _a = 11; -+ -+ namespace B{ -+ -+ int ab = 22; -+ -+ namespace C{ -+ -+ int abc = 33; -+ -+ int second(){ -+ return 0; -+ } -+ -+ } -+ -+ int first(){ -+ _a; -+ ab; -+ C::abc; -+ return C::second(); -+ } -+ } -+} -+ -+ -+int -+main() -+{ -+ A::_a; -+ A::B::ab; -+ A::B::C::abc; -+ return A::B::first(); -+} -diff --git a/gdb/testsuite/gdb.cp/namespace-no-imports.exp b/gdb/testsuite/gdb.cp/namespace-no-imports.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/namespace-no-imports.exp -@@ -0,0 +1,69 @@ -+# Copyright 2008 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+set testfile namespace-no-imports -+set srcfile ${testfile}.cc -+set binfile [standard_output_file ${testfile}] -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { -+ untested "Couldn't compile test program" -+ return -1 -+} -+ -+# Get things started. -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+############################################ -+if ![runto_main] then { -+ perror "couldn't run to breakpoint main" -+ continue -+} -+ -+gdb_test "print A::_a" "= 11" -+gdb_test "print A::B::ab" "= 22" -+gdb_test "print A::B::C::abc" "= 33" -+ -+gdb_test "print _a" "No symbol .* in current context." -+gdb_test "print ab" "No symbol .* in current context." -+gdb_test "print abc" "No symbol .* in current context." -+ -+############################################ -+gdb_breakpoint A::B::first -+gdb_continue_to_breakpoint "A::B::first" -+ -+gdb_test "print A::_a" "= 11" -+gdb_test "print A::B::ab" "= 22" -+gdb_test "print A::B::C::abc" "= 33" -+ -+gdb_test "print _a" "= 11" -+gdb_test "print ab" "= 22" -+gdb_test "print C::abc" "= 33" -+ -+gdb_test "print abc" "No symbol .* in current context." -+ -+############################################ -+gdb_breakpoint A::B::C::second -+gdb_continue_to_breakpoint "A::B::C::second" -+ -+gdb_test "print A::_a" "= 11" -+gdb_test "print A::B::ab" "= 22" -+gdb_test "print A::B::C::abc" "= 33" -+ -+gdb_test "print _a" "= 11" -+gdb_test "print ab" "= 22" -+gdb_test "print abc" "= 33" diff --git a/gdb.spec b/gdb.spec index 4a544ba..5105647 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,11 @@ fi %endif %changelog +* Mon Dec 5 2022 Keith Seitz +- Remove gdb-physname-pr11734-test.patch, + gdb-physname-pr12273-test.patch, gdb-runtest-pie-override.patch, + gdb-test-expr-cumulative-archer.patch. + * Thu Dec 1 2022 Kevin Buettner - Remove gdb-6.3-threaded-watchpoints2-20050225.patch. The test in this patch is a tweaked version of upstream test gdb.threads/watchthreads.exp From c09759de79f490066a5258cf135df3f1ee56937c Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Wed, 7 Dec 2022 11:31:36 -0800 Subject: [PATCH 15/84] Disable Guile support on F38+ Resolves: rhbz#2151328 --- gdb.spec | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/gdb.spec b/gdb.spec index 5105647..99f4d04 100644 --- a/gdb.spec +++ b/gdb.spec @@ -37,6 +37,12 @@ ExcludeArch: aarch64 %global _build_minimal 1 %endif +# Include support for Guile? This is enabled on RHEL 8 and +# Fedora < 38. +%if (0%{?fedora:1} && 0%{?fedora} < 38) || (0%{?rhel:1} && 0%{?rhel} == 8) +%define use_guile +%endif + Name: %{?scl_prefix}gdb # Freeze it when GDB gets branched @@ -48,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -251,14 +257,17 @@ BuildRequires: texlive-collection-latexrecommended BuildRequires: /usr/bin/pod2man %if 0%{!?rhel:1} || 0%{?rhel} > 7 BuildRequires: libbabeltrace-devel%{buildisa} -%if 0%{!?rhel:1} + %if %{defined use_guile} + %if 0%{!?rhel:1} BuildRequires: guile22-devel%{buildisa} -%endif -# Guile is only supported prior to RHEL9, where it was called "guile". -%if 0%{?rhel:1} && 0%{?rhel} < 9 + %endif + # Guile is only supported prior to RHEL9, where it was called "guile". + %if 0%{?rhel:1} && 0%{?rhel} < 9 BuildRequires: guile-devel%{buildisa} + %endif + %endif %endif -%endif + %global have_libipt 0 %if 0%{!?rhel:1} || 0%{?rhel} > 7 || (0%{?rhel} == 7 && 0%{?scl:1}) %ifarch %{ix86} x86_64 @@ -714,7 +723,7 @@ $(: ppc64 host build crashes on ppc variant of libexpat.so ) \ %else --without-python \ %endif -%if 0%{!?rhel:1} || 0%{?rhel} == 8 +%if %{defined use_guile} --with-guile \ %else --without-guile \ @@ -1186,6 +1195,9 @@ fi %endif %changelog +* Wed Dec 7 2022 Keith Seitz - 12.1-10 +- Disable Guile support for F38+, RHBZ 2151328. + * Mon Dec 5 2022 Keith Seitz - Remove gdb-physname-pr11734-test.patch, gdb-physname-pr12273-test.patch, gdb-runtest-pie-override.patch, From 47989c583383ce5610f4fe4a7b5002156f7dcd49 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 25 Nov 2022 15:13:38 +0000 Subject: [PATCH 16/84] gdb-entryval-crash-*.patch files The three patches: gdb-entryval-crash-1of3.patch gdb-entryval-crash-2of3.patch gdb-entryval-crash-3of3.patch are not being applied to the Fedora build of GDB, since this commit to the Fedora GDB repository: commit 902c8e5abca19590075fa0f8457f5d7cec9303ca Date: Thu Jul 24 20:04:47 2014 +0200 Rebase to FSF GDB 7.7.91.20140724 (pre-7.8 snapshot). The contents of the first two were reverting an upstream commit, which, based on the dialog in the patch files, was done to mask a bug in a different part of GDB, which I assume is now fixed. The third patch adds a couple of tests, which are now all upstream, and passing, I assume these tests covered the issue that was causing the problem with the first two patches. Given these patches are not being applied, and the relevant work seems to be in upstream GDB, I propose we drop these three files from the repository. --- gdb-entryval-crash-1of3.patch | 194 ------- gdb-entryval-crash-2of3.patch | 44 -- gdb-entryval-crash-3of3.patch | 1011 --------------------------------- gdb.spec | 4 + 4 files changed, 4 insertions(+), 1249 deletions(-) delete mode 100644 gdb-entryval-crash-1of3.patch delete mode 100644 gdb-entryval-crash-2of3.patch delete mode 100644 gdb-entryval-crash-3of3.patch diff --git a/gdb-entryval-crash-1of3.patch b/gdb-entryval-crash-1of3.patch deleted file mode 100644 index 58fd34c..0000000 --- a/gdb-entryval-crash-1of3.patch +++ /dev/null @@ -1,194 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2014-07/msg00530.html -Subject: [read_frame_arg patch] Handle partially optimized out values similarly to unavailable values (Re: [patchv2] Fix crash on optimized-out entry data values) - - ---V88s5gaDVPzZ0KCq -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -On Thu, 17 Jul 2014 14:23:06 +0200, Pedro Alves wrote: -> On 07/16/2014 10:58 PM, Jan Kratochvil wrote: -> > This patch is apparently not suitable for gdb-7.8 which is I guess often -> > crashing on -O2 -g entry values so there could be some rather minimal crash -> > avoiding patch instead. -> -> Yeah. -> -> So this was originally "caused" (more exposed) by 4f14910f: -> -> gdb/ChangeLog -> 2013-11-26 Andrew Burgess -> -> * value.c (allocate_optimized_out_value): Mark value as non-lazy. -> -> I tried a few approaches in value_available_contents_eq -> today, and ended up thinking that the simplest should be to -> just revert that patch until we have the fuller fix in place. - -OK, that seems as the best solution for 7.8 to me. - - -> While doing just that fixes the crash, it surprisingly causes -> one of your new tests to FAIL: -> -> (gdb) frame -> #0 bar (ref=ref@entry=@0x7fffffffd184: 10) at gdb.arch/amd64-entry-value-paramref.cc:23 -> 23 vv++; /* break-here */ -> (gdb) FAIL: gdb.arch/amd64-entry-value-paramref.exp: frame - -There is a bug in that entry value code of mine, fix attached. -The testcase then PASSes with the reverted optimization by Andrew Burgess. - -For the attached fix - if you nitpick the missing conditional case: - value_optimized_out (val_deref) && value_optimized_out (entryval_deref) -It is not detected there but that IMO does not matter much as - * It is for 7.8 only, for trunk it will get compared correctly thanks to the - new implementation of value_available_contents_eq() - called value_contents_eq(). - * If the conditional - if (val != val_deref - && !value_optimized_out (val_deref) - && !value_optimized_out (entryval_deref) - && value_available_contents_eq (val_deref, 0, - entryval_deref, 0, - TYPE_LENGTH (type_deref))) - val_equal = 1; - fails it may just print - bar (ref=@0x7fffffffd904: , ref@entry=@0x7fffffffd904: ) - (or some variant with some partially optimized-out/unavailable parts) - instead of the more correct - bar (ref=ref@entry=@0x7fffffffd904: ) - which is not much a bug. - -The attached fix no longe makes sense after the new implementation -of value_available_contents_eq() called value_contents_eq() gets applied as it -handles all the optimized-out/unavailable values on its own, therefore the -attached patch is really only for 7.8. - - -> Turns out it's the code disabled in value_of_dwarf_reg_entry: -> -> target_val = dwarf_entry_parameter_to_value (parameter, -> TYPE_LENGTH (target_type), -> target_type, caller_frame, -> caller_per_cu); -> -> /* value_as_address dereferences TYPE_CODE_REF. */ -> addr = extract_typed_address (value_contents (outer_val), checked_type); -> -> /* The target entry value has artificial address of the entry value -> reference. */ -> VALUE_LVAL (target_val) = lval_memory; -> set_value_address (target_val, addr); -> -> It looks quite wrong to me to just change a value's lval like that. -> -> I ran the testsuite with that code disabled (like in the patch below), -> and that caused no regressions. I can't say I really understand the -> intention here though. What would we be missing if we removed that code? - -I cannot reproduce any wrong case having the code above #if 0-ed. - -I just do not find it correct to have it disabled. But at the same time I do -like much / I do not find correct the code myself. It is a bit problematic to -have struct value describing a memory content which is no longer present -there. - -What happens there: ------------------------------------------------------------------------------- -volatile int vv; -static __attribute__((noinline)) int -bar (int &ref) { - ref = 20; - vv++; /* break-here */ - return ref; -} -int main (void) { - int var = 10; - return bar (var); -} ------------------------------------------------------------------------------- - <4>: Abbrev Number: 13 (DW_TAG_GNU_call_site_parameter) - DW_AT_location : 1 byte block: 55 (DW_OP_reg5 (rdi)) - DW_AT_GNU_call_site_value: 2 byte block: 91 74 (DW_OP_fbreg: -12) - DW_AT_GNU_call_site_data_value: 1 byte block: 3a (DW_OP_lit10) ------------------------------------------------------------------------------- -gdb -ex 'b value_addr' -ex r --args ../gdb ./1 -ex 'watch vv' -ex r -ex 'p &ref@entry' --> -6 return ref; -bar (ref=@0x7fffffffd944: 20, ref@entry=@0x7fffffffd944: 10) at 1.C:25 ------------------------------------------------------------------------------- -At /* break-here */ struct value variable 'ref' is TYPE_CODE_REF. - -With FSF GDB HEAD: -(gdb) x/gx arg1.contents -0x6004000a4ad0: 0x00007fffffffd944 -(gdb) p ((struct value *)arg1.location.computed.closure).lval -$1 = lval_memory -(gdb) p/x ((struct value *)arg1.location.computed.closure).location.address -$3 = 0x7fffffffd944 - -With your #if0-ed code: -(gdb) x/gx arg1.contents -0x6004000a4ad0: 0x00007fffffffd944 -(gdb) p ((struct value *)arg1.location.computed.closure).lval -$8 = not_lval -(gdb) p/x ((struct value *)arg1.location.computed.closure).location.address -$9 = 0x0 - -I do not see how to access - ((struct value *)arg1.location.computed.closure).location.address -from GDB CLI. Trying -(gdb) p &ref@entry -will invoke value_addr()'s: - if (TYPE_CODE (type) == TYPE_CODE_REF) - /* Copy the value, but change the type from (T&) to (T*). We - keep the same location information, which is efficient, and - allows &(&X) to get the location containing the reference. */ -and therefore the address gets fetched already from - arg1.contents -and not from - ((struct value *)arg1.location.computed.closure).location.address -. - -And for any other type than TYPE_CODE_REF this code you #if 0-ed does not get -executed at all. This DW_AT_GNU_call_site_data_value DWARF was meant -primarily for Fortran but with -O0 entry values do not get produced -and with -Og and higher Fortran always optimizes out the passing by reference. - -If you do not like the #if 0 code there I am OK with removing it as I do not -know how to make it's use reproducible for user anyway. In the worst case -- if there really is some way how to exploit it - one should just get - Attempt to take address of value not located in memory. -instead of some wrong value and it may be easy to fix then. - - -Thanks for the analysis, -Jan - ---V88s5gaDVPzZ0KCq -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -gdb/ -2014-07-20 Jan Kratochvil - - * stack.c (read_frame_arg): Verify value_optimized_out before calling - value_available_contents_eq. - -diff --git a/gdb/stack.c b/gdb/stack.c -index 0d6d8e7..4db5df5 100644 ---- a/gdb/stack.c -+++ b/gdb/stack.c -@@ -413,6 +413,8 @@ read_frame_arg (struct symbol *sym, struct frame_info *frame, - /* If the reference addresses match but dereferenced - content does not match print them. */ - if (val != val_deref -+ && !value_optimized_out (val_deref) -+ && !value_optimized_out (entryval_deref) - && value_available_contents_eq (val_deref, 0, - entryval_deref, 0, - TYPE_LENGTH (type_deref))) - ---V88s5gaDVPzZ0KCq-- - diff --git a/gdb-entryval-crash-2of3.patch b/gdb-entryval-crash-2of3.patch deleted file mode 100644 index a3cfe22..0000000 --- a/gdb-entryval-crash-2of3.patch +++ /dev/null @@ -1,44 +0,0 @@ -revert: -commit 4f14910fa1331398cc695011a6af43a89252b4b1 -Author: Andrew Burgess -Date: Tue Nov 26 16:21:53 2013 +0000 - - Mark entirely optimized out value as non-lazy. - - If a value is entirely optimized out, then there's nothing for - value_fetch_lazy to fetch. Sequences like: - - if (value_lazy (retval)) - value_fetch_lazy (retval); - - End up allocating the value contents buffer, wasting memory, for no - use. - - gdb/ChangeLog - 2013-11-26 Andrew Burgess - - * value.c (allocate_optimized_out_value): Mark value as non-lazy. - -### a/gdb/ChangeLog -### b/gdb/ChangeLog -## -1,3 +1,7 @@ -+2013-11-26 Andrew Burgess -+ -+ * value.c (allocate_optimized_out_value): Mark value as non-lazy. -+ - 2013-11-26 Tom Tromey - - * dwarf2-frame.c (dwarf2_frame_cache): Revert patch from -diff --git a/gdb/value.c b/gdb/value.c -index 29abe5f..f073d71 100644 ---- a/gdb/value.c -+++ b/gdb/value.c -@@ -906,7 +906,7 @@ allocate_optimized_out_value (struct type *type) - struct value *retval = allocate_value_lazy (type); - - set_value_optimized_out (retval, 1); -- set_value_lazy (retval, 0); -+ - return retval; - } - diff --git a/gdb-entryval-crash-3of3.patch b/gdb-entryval-crash-3of3.patch deleted file mode 100644 index a8ea099..0000000 --- a/gdb-entryval-crash-3of3.patch +++ /dev/null @@ -1,1011 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2014-07/msg00277.html -Subject: [patchv3] Fix crash on optimized-out entry data values - - ---Dxnq1zWXvFF0Q93v -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -On Wed, 09 Jul 2014 17:31:21 +0200, Jan Kratochvil wrote: -> On Wed, 09 Jul 2014 13:52:00 +0200, Pedro Alves wrote: -> > On 07/09/2014 11:33 AM, Jan Kratochvil wrote: -> > > --- a/gdb/value.c -> > > +++ b/gdb/value.c -> > > @@ -198,12 +198,13 @@ struct value -> > > unsigned int lazy : 1; -> > > -> > > /* If nonzero, this is the value of a variable that does not -> > > - actually exist in the program. If nonzero, and LVAL is -> > > + actually fully exist in the program. If nonzero, and LVAL is -> > > lval_register, this is a register ($pc, $sp, etc., never a -> > > program variable) that has not been saved in the frame. All -> > > optimized-out values are treated pretty much the same, except -> > > registers have a different string representation and related -> > > - error strings. */ -> > > + error strings. It is true also for only partially optimized -> > > + out variables - see the 'unavailable' field below. */ -> > > unsigned int optimized_out : 1; -> > > -> > > /* If value is a variable, is it initialized or not. */ -> > > @@ -334,7 +335,10 @@ struct value -> > > valid if lazy is nonzero. */ -> > > gdb_byte *contents; -> > > -> > > - /* Unavailable ranges in CONTENTS. We mark unavailable ranges, -> > > + /* If OPTIMIZED_OUT is false then UNAVAILABLE must be VEC_empty -> > > + (not necessarily NULL). -> > -> > Hmm, why? We can collect only part of a non-optimized out value. -> > What am I missing? -> -> I miss some documentation how these availability fields interact together. - ->From a comment in mail - Message-Id: <201102071427.55970.pedro@codesourcery.com> - We give preference to printing rather - than , since if a value had been optimized out - at compile time, it can never be collected at run-time. - -it seems it is just reversed, that 'unavailable' can exist only for -!optimized_out and it cannot exist for for optimized_out values. - - -> You are right, this patch regresses during gdbserver mode. - -It PASSes now even in gdbserver mode. - - -Thanks, -Jan - ---Dxnq1zWXvFF0Q93v -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename="optimfix3.patch" - -gdb/ -2014-07-09 Jan Kratochvil - -removed: - * value.c (struct value): Extend the comment for fields optimized_out - and unavailable. - (value_available_contents_bits_eq): Handle OPTIMIZED_OUT values as - special cases. - -gdb/testsuite/ -2014-07-09 Jan Kratochvil - - * gdb.arch/amd64-entry-value-paramref.S: New file. - * gdb.arch/amd64-entry-value-paramref.cc: New file. - * gdb.arch/amd64-entry-value-paramref.exp: New file. - * gdb.arch/amd64-optimout-repeat.S: New file. - * gdb.arch/amd64-optimout-repeat.c: New file. - * gdb.arch/amd64-optimout-repeat.exp: New file. - -diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S -new file mode 100644 -index 0000000..a1e9d0a ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S -@@ -0,0 +1,459 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2014 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* This file is compiled from gdb.arch/amd64-entry-value-paramref.cc -+ using -g -dA -S -O2. -+ Additionally it has been patched. */ -+ -+ .file "amd64-entry-value-paramref.cc" -+ .text -+.Ltext0: -+ .p2align 4,,15 -+ .type _ZL3barRi.constprop.0, @function -+_ZL3barRi.constprop.0: -+.LFB2: -+ .file 1 "gdb.arch/amd64-entry-value-paramref.cc" -+ # gdb.arch/amd64-entry-value-paramref.cc:21 -+ .loc 1 21 0 -+ .cfi_startproc -+.LVL0: -+# BLOCK 2 freq:10000 seq:0 -+# PRED: ENTRY [100.0%] (FALLTHRU) -+ # gdb.arch/amd64-entry-value-paramref.cc:23 -+ .loc 1 23 0 -+ movl vv(%rip), %eax -+ # gdb.arch/amd64-entry-value-paramref.cc:24 -+ .loc 1 24 0 -+ movq %rdi, p(%rip) -+ # gdb.arch/amd64-entry-value-paramref.cc:23 -+ .loc 1 23 0 -+ addl $1, %eax -+ movl %eax, vv(%rip) -+ # gdb.arch/amd64-entry-value-paramref.cc:25 -+ .loc 1 25 0 -+ movl (%rdi), %eax -+# SUCC: EXIT [100.0%] -+ # gdb.arch/amd64-entry-value-paramref.cc:26 -+ .loc 1 26 0 -+ ret -+ .cfi_endproc -+.LFE2: -+ .size _ZL3barRi.constprop.0, .-_ZL3barRi.constprop.0 -+ .section .text.startup,"ax",@progbits -+ .p2align 4,,15 -+ .globl main -+ .type main, @function -+main: -+.LFB1: -+ # gdb.arch/amd64-entry-value-paramref.cc:30 -+ .loc 1 30 0 -+ .cfi_startproc -+# BLOCK 2 freq:10000 seq:0 -+# PRED: ENTRY [100.0%] (FALLTHRU) -+ subq $16, %rsp -+ .cfi_def_cfa_offset 24 -+.LBB2: -+ # gdb.arch/amd64-entry-value-paramref.cc:32 -+ .loc 1 32 0 -+ leaq 12(%rsp), %rdi -+ # gdb.arch/amd64-entry-value-paramref.cc:31 -+ .loc 1 31 0 -+ movl $10, 12(%rsp) -+ # gdb.arch/amd64-entry-value-paramref.cc:32 -+ .loc 1 32 0 -+ call _ZL3barRi.constprop.0 -+.LVL1: -+.LBE2: -+ # gdb.arch/amd64-entry-value-paramref.cc:33 -+ .loc 1 33 0 -+ addq $16, %rsp -+ .cfi_def_cfa_offset 8 -+# SUCC: EXIT [100.0%] -+ ret -+ .cfi_endproc -+.LFE1: -+ .size main, .-main -+ .globl p -+ .bss -+ .align 8 -+ .type p, @object -+ .size p, 8 -+p: -+ .zero 8 -+ .globl vv -+ .align 4 -+ .type vv, @object -+ .size vv, 4 -+vv: -+ .zero 4 -+ .text -+.Letext0: -+ .section .debug_info,"",@progbits -+.Ldebug_info0: -+ .long .Linfo_end - .Linfo_start # Length of Compilation Unit Info -+.Linfo_start: -+ .value 0x4 # DWARF version number -+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section -+ .byte 0x8 # Pointer Size (in bytes) -+ .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit) -+ .long .LASF0 # DW_AT_producer: "GNU C++ 4.8.2 20131212 (Red Hat 4.8.2-7) -mtune=generic -march=x86-64 -g -O2" -+ .byte 0x4 # DW_AT_language -+ .long .LASF1 # DW_AT_name: "gdb.arch/amd64-entry-value-paramref.cc" -+ .long .LASF2 # DW_AT_comp_dir: "" -+ .long .Ldebug_ranges0+0 # DW_AT_ranges -+ .quad 0 # DW_AT_low_pc -+ .long .Ldebug_line0 # DW_AT_stmt_list -+DIE29: .uleb128 0x2 # (DIE (0x29) DW_TAG_subprogram) -+ .ascii "bar\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc) -+ .byte 0x15 # DW_AT_decl_line -+ .long DIE45 # DW_AT_type -+ .byte 0x1 # DW_AT_inline -+DIE39: .uleb128 0x3 # (DIE (0x39) DW_TAG_formal_parameter) -+ .ascii "ref\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc) -+ .byte 0x15 # DW_AT_decl_line -+ .long DIE4c # DW_AT_type -+ .byte 0 # end of children of DIE 0x29 -+DIE45: .uleb128 0x4 # (DIE (0x45) DW_TAG_base_type) -+ .byte 0x4 # DW_AT_byte_size -+ .byte 0x5 # DW_AT_encoding -+ .ascii "int\0" # DW_AT_name -+DIE4c: .uleb128 0x5 # (DIE (0x4c) DW_TAG_const_type) -+ .long DIE51 # DW_AT_type -+DIE51: .uleb128 0x6 # (DIE (0x51) DW_TAG_reference_type) -+ .byte 0x8 # DW_AT_byte_size -+ .long DIE45 # DW_AT_type -+DIE57: .uleb128 0x7 # (DIE (0x57) DW_TAG_subprogram) -+ .long DIE29 # DW_AT_abstract_origin -+ .quad .LFB2 # DW_AT_low_pc -+ .quad .LFE2-.LFB2 # DW_AT_high_pc -+ .uleb128 0x1 # DW_AT_frame_base -+ .byte 0x9c # DW_OP_call_frame_cfa -+ # DW_AT_GNU_all_call_sites -+DIE72: .uleb128 0x8 # (DIE (0x72) DW_TAG_formal_parameter) -+ .long DIE39 # DW_AT_abstract_origin -+ .uleb128 0x1 # DW_AT_location -+ .byte 0x55 # DW_OP_reg5 -+ .byte 0 # end of children of DIE 0x57 -+DIE7a: .uleb128 0x9 # (DIE (0x7a) DW_TAG_subprogram) -+ # DW_AT_external -+ .long .LASF3 # DW_AT_name: "main" -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc) -+ .byte 0x1d # DW_AT_decl_line -+ .long DIE45 # DW_AT_type -+ .quad .LFB1 # DW_AT_low_pc -+ .quad .LFE1-.LFB1 # DW_AT_high_pc -+ .uleb128 0x1 # DW_AT_frame_base -+ .byte 0x9c # DW_OP_call_frame_cfa -+ # DW_AT_GNU_all_call_sites -+DIE9b: .uleb128 0xa # (DIE (0x9b) DW_TAG_lexical_block) -+ .quad .LBB2 # DW_AT_low_pc -+ .quad .LBE2-.LBB2 # DW_AT_high_pc -+DIEac: .uleb128 0xb # (DIE (0xac) DW_TAG_variable) -+ .ascii "var\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc) -+ .byte 0x1f # DW_AT_decl_line -+ .long DIE45 # DW_AT_type -+ .uleb128 0x2 # DW_AT_location -+ .byte 0x91 # DW_OP_fbreg -+ .sleb128 -12 -+DIEba: .uleb128 0xc # (DIE (0xba) DW_TAG_GNU_call_site) -+ .quad .LVL1 # DW_AT_low_pc -+ .long DIE57 # DW_AT_abstract_origin -+DIEc7: .uleb128 0xd # (DIE (0xc7) DW_TAG_GNU_call_site_parameter) -+ .uleb128 0x1 # DW_AT_location -+ .byte 0x55 # DW_OP_reg5 -+ .uleb128 0x2 # DW_AT_GNU_call_site_value -+ .byte 0x91 # DW_OP_fbreg -+ .sleb128 -12 -+#if 0 -+ .uleb128 0x1 # DW_AT_GNU_call_site_data_value -+ .byte 0x3a # DW_OP_lit10 -+#else -+ .uleb128 1f - 2f # DW_AT_GNU_call_site_data_value -+2: -+ .byte 0xf3 # DW_OP_GNU_entry_value -+ .uleb128 1f - 3f -+3: -+ .byte 0x55 # DW_OP_reg5 -+1: -+#endif -+ .byte 0 # end of children of DIE 0xba -+ .byte 0 # end of children of DIE 0x9b -+ .byte 0 # end of children of DIE 0x7a -+DIEd2: .uleb128 0xe # (DIE (0xd2) DW_TAG_variable) -+ .ascii "vv\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc) -+ .byte 0x12 # DW_AT_decl_line -+ .long DIEe6 # DW_AT_type -+ # DW_AT_external -+ .uleb128 0x9 # DW_AT_location -+ .byte 0x3 # DW_OP_addr -+ .quad vv -+DIEe6: .uleb128 0xf # (DIE (0xe6) DW_TAG_volatile_type) -+ .long DIE45 # DW_AT_type -+DIEeb: .uleb128 0xe # (DIE (0xeb) DW_TAG_variable) -+ .ascii "p\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc) -+ .byte 0x12 # DW_AT_decl_line -+ .long DIEfe # DW_AT_type -+ # DW_AT_external -+ .uleb128 0x9 # DW_AT_location -+ .byte 0x3 # DW_OP_addr -+ .quad p -+DIEfe: .uleb128 0x10 # (DIE (0xfe) DW_TAG_pointer_type) -+ .byte 0x8 # DW_AT_byte_size -+ .long DIEe6 # DW_AT_type -+ .byte 0 # end of children of DIE 0xb -+.Linfo_end: -+ .section .debug_abbrev,"",@progbits -+.Ldebug_abbrev0: -+ .uleb128 0x1 # (abbrev code) -+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x25 # (DW_AT_producer) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x13 # (DW_AT_language) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x1b # (DW_AT_comp_dir) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x55 # (DW_AT_ranges) -+ .uleb128 0x17 # (DW_FORM_sec_offset) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x10 # (DW_AT_stmt_list) -+ .uleb128 0x17 # (DW_FORM_sec_offset) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2 # (abbrev code) -+ .uleb128 0x2e # (TAG: DW_TAG_subprogram) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x20 # (DW_AT_inline) -+ .uleb128 0xb # (DW_FORM_data1) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3 # (abbrev code) -+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) -+ .byte 0 # DW_children_no -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4 # (abbrev code) -+ .uleb128 0x24 # (TAG: DW_TAG_base_type) -+ .byte 0 # DW_children_no -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3e # (DW_AT_encoding) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5 # (abbrev code) -+ .uleb128 0x26 # (TAG: DW_TAG_const_type) -+ .byte 0 # DW_children_no -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6 # (abbrev code) -+ .uleb128 0x10 # (TAG: DW_TAG_reference_type) -+ .byte 0 # DW_children_no -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7 # (abbrev code) -+ .uleb128 0x2e # (TAG: DW_TAG_subprogram) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x31 # (DW_AT_abstract_origin) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x12 # (DW_AT_high_pc) -+ .uleb128 0x7 # (DW_FORM_data8) -+ .uleb128 0x40 # (DW_AT_frame_base) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8 # (abbrev code) -+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) -+ .byte 0 # DW_children_no -+ .uleb128 0x31 # (DW_AT_abstract_origin) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x2 # (DW_AT_location) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x9 # (abbrev code) -+ .uleb128 0x2e # (TAG: DW_TAG_subprogram) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x3f # (DW_AT_external) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x12 # (DW_AT_high_pc) -+ .uleb128 0x7 # (DW_FORM_data8) -+ .uleb128 0x40 # (DW_AT_frame_base) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa # (abbrev code) -+ .uleb128 0xb # (TAG: DW_TAG_lexical_block) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x12 # (DW_AT_high_pc) -+ .uleb128 0x7 # (DW_FORM_data8) -+ .byte 0 -+ .byte 0 -+ .uleb128 0xb # (abbrev code) -+ .uleb128 0x34 # (TAG: DW_TAG_variable) -+ .byte 0 # DW_children_no -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x2 # (DW_AT_location) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .byte 0 -+ .byte 0 -+ .uleb128 0xc # (abbrev code) -+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x31 # (DW_AT_abstract_origin) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0xd # (abbrev code) -+ .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter) -+ .byte 0 # DW_children_no -+ .uleb128 0x2 # (DW_AT_location) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .uleb128 0x2111 # (DW_AT_GNU_call_site_value) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .uleb128 0x2112 # (DW_AT_GNU_call_site_data_value) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .byte 0 -+ .byte 0 -+ .uleb128 0xe # (abbrev code) -+ .uleb128 0x34 # (TAG: DW_TAG_variable) -+ .byte 0 # DW_children_no -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x3f # (DW_AT_external) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x2 # (DW_AT_location) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .byte 0 -+ .byte 0 -+ .uleb128 0xf # (abbrev code) -+ .uleb128 0x35 # (TAG: DW_TAG_volatile_type) -+ .byte 0 # DW_children_no -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 # (abbrev code) -+ .uleb128 0xf # (TAG: DW_TAG_pointer_type) -+ .byte 0 # DW_children_no -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .section .debug_aranges,"",@progbits -+ .long 0x3c # Length of Address Ranges Info -+ .value 0x2 # DWARF Version -+ .long .Ldebug_info0 # Offset of Compilation Unit Info -+ .byte 0x8 # Size of Address -+ .byte 0 # Size of Segment Descriptor -+ .value 0 # Pad to 16 byte boundary -+ .value 0 -+ .quad .Ltext0 # Address -+ .quad .Letext0-.Ltext0 # Length -+ .quad .LFB1 # Address -+ .quad .LFE1-.LFB1 # Length -+ .quad 0 -+ .quad 0 -+ .section .debug_ranges,"",@progbits -+.Ldebug_ranges0: -+ .quad .Ltext0 # Offset 0 -+ .quad .Letext0 -+ .quad .LFB1 # Offset 0x10 -+ .quad .LFE1 -+ .quad 0 -+ .quad 0 -+ .section .debug_line,"",@progbits -+.Ldebug_line0: -+ .section .debug_str,"MS",@progbits,1 -+.LASF1: -+ .string "gdb.arch/amd64-entry-value-paramref.cc" -+.LASF2: -+ .string "" -+.LASF0: -+ .string "GNU C++ 4.8.2 20131212 (Red Hat 4.8.2-7) -mtune=generic -march=x86-64 -g -O2" -+.LASF3: -+ .string "main" -+ .ident "GCC: (GNU) 4.8.2 20131212 (Red Hat 4.8.2-7)" -+ .section .note.GNU-stack,"",@progbits -diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc -new file mode 100644 -index 0000000..aa473a3 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc -@@ -0,0 +1,33 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2014 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+volatile int vv, *p; -+ -+static __attribute__((noinline)) int -+bar (int &ref) -+{ -+ vv++; /* break-here */ -+ p = &ref; -+ return ref; -+} -+ -+int -+main (void) -+{ -+ int var = 10; -+ return bar (var); -+} -diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp -new file mode 100644 -index 0000000..f06247d ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp -@@ -0,0 +1,35 @@ -+# Copyright (C) 2014 Free Software Foundation, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+standard_testfile .S .cc -+ -+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { -+ verbose "Skipping amd64-entry-value-paramref." -+ return -+} -+ -+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} "c++"] } { -+ return -1 -+} -+ -+if ![runto_main] { -+ return -1 -+} -+ -+set srcfile $srcfile2 -+gdb_breakpoint [gdb_get_line_number "break-here"] -+ -+gdb_continue_to_breakpoint "break-here" ".* break-here .*" -+gdb_test "frame" {bar \(ref=@0x[0-9a-f]+: 10, ref@entry=@0x[0-9a-f]+: \) at .*} -diff --git a/gdb/testsuite/gdb.arch/amd64-optimout-repeat.S b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.S -new file mode 100644 -index 0000000..2f8f4d2 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.S -@@ -0,0 +1,297 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2012-2014 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* This file is compiled from gdb.arch/amd64-entry-value-param.c -+ using -g -dA -S -O2. */ -+ -+ .file "amd64-optimout-repeat.c" -+ .text -+.Ltext0: -+ .section .text.unlikely,"ax",@progbits -+.LCOLDB0: -+ .section .text.startup,"ax",@progbits -+.LHOTB0: -+ .p2align 4,,15 -+ .section .text.unlikely -+.Ltext_cold0: -+ .section .text.startup -+ .globl main -+ .type main, @function -+main: -+.LFB0: -+ .file 1 "gdb.arch/amd64-optimout-repeat.c" -+ # gdb.arch/amd64-optimout-repeat.c:20 -+ .loc 1 20 0 -+ .cfi_startproc -+# BLOCK 2 freq:10000 seq:0 -+# PRED: ENTRY [100.0%] (FALLTHRU) -+.LVL0: -+ # gdb.arch/amd64-optimout-repeat.c:29 -+ .loc 1 29 0 -+ xorl %eax, %eax -+# SUCC: EXIT [100.0%] -+ ret -+ .cfi_endproc -+.LFE0: -+ .size main, .-main -+ .section .text.unlikely -+.LCOLDE0: -+ .section .text.startup -+.LHOTE0: -+ .text -+.Letext0: -+ .section .text.unlikely -+.Letext_cold0: -+ .section .debug_info,"",@progbits -+.Ldebug_info0: -+ .long 0x97 # Length of Compilation Unit Info -+ .value 0x4 # DWARF version number -+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section -+ .byte 0x8 # Pointer Size (in bytes) -+ .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit) -+ .long .LASF1 # DW_AT_producer: "GNU C 4.9.1 20140709 (prerelease) -mtune=generic -march=x86-64 -g -O2" -+ .byte 0x1 # DW_AT_language -+ .long .LASF2 # DW_AT_name: "gdb.arch/amd64-optimout-repeat.c" -+ .long .LASF3 # DW_AT_comp_dir: "" -+ .long .Ldebug_ranges0+0 # DW_AT_ranges -+ .quad 0 # DW_AT_low_pc -+ .long .Ldebug_line0 # DW_AT_stmt_list -+ .uleb128 0x2 # (DIE (0x29) DW_TAG_subprogram) -+ # DW_AT_external -+ .long .LASF4 # DW_AT_name: "main" -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c) -+ .byte 0x13 # DW_AT_decl_line -+ # DW_AT_prototyped -+ .long 0x7c # DW_AT_type -+ .quad .LFB0 # DW_AT_low_pc -+ .quad .LFE0-.LFB0 # DW_AT_high_pc -+ .uleb128 0x1 # DW_AT_frame_base -+ .byte 0x9c # DW_OP_call_frame_cfa -+ # DW_AT_GNU_all_call_sites -+ .long 0x7c # DW_AT_sibling -+ .uleb128 0x3 # (DIE (0x4a) DW_TAG_structure_type) -+ .value 0x404 # DW_AT_byte_size -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c) -+ .byte 0x15 # DW_AT_decl_line -+ .long 0x6a # DW_AT_sibling -+ .uleb128 0x4 # (DIE (0x53) DW_TAG_member) -+ .ascii "i\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c) -+ .byte 0x17 # DW_AT_decl_line -+ .long 0x7c # DW_AT_type -+ .byte 0 # DW_AT_data_member_location -+ .uleb128 0x4 # (DIE (0x5d) DW_TAG_member) -+ .ascii "xxx\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c) -+ .byte 0x18 # DW_AT_decl_line -+ .long 0x83 # DW_AT_type -+ .byte 0x4 # DW_AT_data_member_location -+ .byte 0 # end of children of DIE 0x4a -+ .uleb128 0x5 # (DIE (0x6a) DW_TAG_variable) -+ .ascii "v\0" # DW_AT_name -+ .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c) -+ .byte 0x1a # DW_AT_decl_line -+ .long 0x4a # DW_AT_type -+ .uleb128 0x7 # DW_AT_location -+ .byte 0x30 # DW_OP_lit0 -+ .byte 0x9f # DW_OP_stack_value -+ .byte 0x93 # DW_OP_piece -+ .uleb128 0x4 -+ .byte 0x93 # DW_OP_piece -+ .uleb128 0x400 -+ .byte 0 # end of children of DIE 0x29 -+ .uleb128 0x6 # (DIE (0x7c) DW_TAG_base_type) -+ .byte 0x4 # DW_AT_byte_size -+ .byte 0x5 # DW_AT_encoding -+ .ascii "int\0" # DW_AT_name -+ .uleb128 0x7 # (DIE (0x83) DW_TAG_array_type) -+ .long 0x7c # DW_AT_type -+ .long 0x93 # DW_AT_sibling -+ .uleb128 0x8 # (DIE (0x8c) DW_TAG_subrange_type) -+ .long 0x93 # DW_AT_type -+ .byte 0xff # DW_AT_upper_bound -+ .byte 0 # end of children of DIE 0x83 -+ .uleb128 0x9 # (DIE (0x93) DW_TAG_base_type) -+ .byte 0x8 # DW_AT_byte_size -+ .byte 0x7 # DW_AT_encoding -+ .long .LASF0 # DW_AT_name: "sizetype" -+ .byte 0 # end of children of DIE 0xb -+ .section .debug_abbrev,"",@progbits -+.Ldebug_abbrev0: -+ .uleb128 0x1 # (abbrev code) -+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x25 # (DW_AT_producer) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x13 # (DW_AT_language) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x1b # (DW_AT_comp_dir) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x55 # (DW_AT_ranges) -+ .uleb128 0x17 # (DW_FORM_sec_offset) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x10 # (DW_AT_stmt_list) -+ .uleb128 0x17 # (DW_FORM_sec_offset) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2 # (abbrev code) -+ .uleb128 0x2e # (TAG: DW_TAG_subprogram) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x3f # (DW_AT_external) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x27 # (DW_AT_prototyped) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x12 # (DW_AT_high_pc) -+ .uleb128 0x7 # (DW_FORM_data8) -+ .uleb128 0x40 # (DW_AT_frame_base) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x1 # (DW_AT_sibling) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3 # (abbrev code) -+ .uleb128 0x13 # (TAG: DW_TAG_structure_type) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0x5 # (DW_FORM_data2) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x1 # (DW_AT_sibling) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4 # (abbrev code) -+ .uleb128 0xd # (TAG: DW_TAG_member) -+ .byte 0 # DW_children_no -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x38 # (DW_AT_data_member_location) -+ .uleb128 0xb # (DW_FORM_data1) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5 # (abbrev code) -+ .uleb128 0x34 # (TAG: DW_TAG_variable) -+ .byte 0 # DW_children_no -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x2 # (DW_AT_location) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6 # (abbrev code) -+ .uleb128 0x24 # (TAG: DW_TAG_base_type) -+ .byte 0 # DW_children_no -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3e # (DW_AT_encoding) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7 # (abbrev code) -+ .uleb128 0x1 # (TAG: DW_TAG_array_type) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x1 # (DW_AT_sibling) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8 # (abbrev code) -+ .uleb128 0x21 # (TAG: DW_TAG_subrange_type) -+ .byte 0 # DW_children_no -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x2f # (DW_AT_upper_bound) -+ .uleb128 0xb # (DW_FORM_data1) -+ .byte 0 -+ .byte 0 -+ .uleb128 0x9 # (abbrev code) -+ .uleb128 0x24 # (TAG: DW_TAG_base_type) -+ .byte 0 # DW_children_no -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3e # (DW_AT_encoding) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .section .debug_aranges,"",@progbits -+ .long 0x2c # Length of Address Ranges Info -+ .value 0x2 # DWARF Version -+ .long .Ldebug_info0 # Offset of Compilation Unit Info -+ .byte 0x8 # Size of Address -+ .byte 0 # Size of Segment Descriptor -+ .value 0 # Pad to 16 byte boundary -+ .value 0 -+ .quad .LFB0 # Address -+ .quad .LFE0-.LFB0 # Length -+ .quad 0 -+ .quad 0 -+ .section .debug_ranges,"",@progbits -+.Ldebug_ranges0: -+ .quad .LFB0 # Offset 0 -+ .quad .LFE0 -+ .quad 0 -+ .quad 0 -+ .section .debug_line,"",@progbits -+.Ldebug_line0: -+ .section .debug_str,"MS",@progbits,1 -+.LASF0: -+ .string "sizetype" -+.LASF2: -+ .string "gdb.arch/amd64-optimout-repeat.c" -+.LASF1: -+ .string "GNU C 4.9.1 20140709 (prerelease) -mtune=generic -march=x86-64 -g -O2" -+.LASF3: -+ .string "" -+.LASF4: -+ .string "main" -+ .ident "GCC: (GNU) 4.9.1 20140709 (prerelease)" -+ .section .note.GNU-stack,"",@progbits -diff --git a/gdb/testsuite/gdb.arch/amd64-optimout-repeat.c b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.c -new file mode 100644 -index 0000000..a32b6de ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.c -@@ -0,0 +1,29 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2014 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+int -+main (void) -+{ -+ struct -+ { -+ int i; -+ int xxx[0x100]; -+ } -+ v = { 0 }; -+ -+ return v.i; -+} -diff --git a/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp -new file mode 100644 -index 0000000..f3c93a4 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp -@@ -0,0 +1,36 @@ -+# Copyright (C) 2014 Free Software Foundation, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+standard_testfile .S .c -+set opts {} -+ -+if [info exists COMPILE] { -+ # make check RUNTESTFLAGS="gdb.arch/amd64-optimout-repeat.exp COMPILE=1" -+ set srcfile ${srcfile2} -+ lappend opts debug optimize=-O2 -+} elseif { ![istarget x86_64-*-* ] || ![is_lp64_target] } { -+ verbose "Skipping amd64-optimout-repeat." -+ return -+} -+ -+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} $opts] } { -+ return -1 -+} -+ -+if ![runto_main] { -+ return -1 -+} -+ -+gdb_test "print v" { = {i = 0, xxx = { }}} - ---Dxnq1zWXvFF0Q93v-- - diff --git a/gdb.spec b/gdb.spec index 99f4d04..662681b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1195,6 +1195,10 @@ fi %endif %changelog +* Fri Dec 9 2022 Andrew Burgess +- Remove gdb-entryval-crash-1of3.patch, gdb-entryval-crash-2of3.patch, + and gdb-entryval-crash-3of3.patch. + * Wed Dec 7 2022 Keith Seitz - 12.1-10 - Disable Guile support for F38+, RHBZ 2151328. From 056260a6097de7e95ec295c3e9c8e6e3d372a73d Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 25 Nov 2022 15:26:39 +0000 Subject: [PATCH 17/84] remove gdb-bfd-aliasing.patch file The patch 'gdb-bfd-aliasing.patch' is no longer applied as part of the Fedora GDB build, since this commit to the Fedora GDB repository: commit c0cbb1aae415ec62d69892124ab3fd4b084034fb Date: Sat Mar 19 21:26:41 2016 +0100 .spec cleanup: Drop strict-aliasing GCC bug workaround (from RH BZ 1315191). I propose that we remove this file from the repository. --- gdb-bfd-aliasing.patch | 196 ----------------------------------------- gdb.spec | 3 + 2 files changed, 3 insertions(+), 196 deletions(-) delete mode 100644 gdb-bfd-aliasing.patch diff --git a/gdb-bfd-aliasing.patch b/gdb-bfd-aliasing.patch deleted file mode 100644 index 0b06c14..0000000 --- a/gdb-bfd-aliasing.patch +++ /dev/null @@ -1,196 +0,0 @@ -http://sourceware.org/ml/binutils/2016-03/msg00119.html -Subject: [patch] aout+coff: Fix strict-aliasing rules error - - ---IJpNTDwzlM2Ie8A6 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -Hi, - -https://bugzilla.redhat.com/show_bug.cgi?id=1315191 by Dan Horak -gcc (GCC) 6.0.0 20160308 (experimental) -gcc-6.0.0-0.15.fc24 -gcc-6.0.0-0.15.fc25 -It did compile with: -gcc-6.0.0-0.14.fc24 - -aoutx.h:2504:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - int type_code = aout_symbol (symbol)->type & 0xff; - ^~~ -coffcode.h:1817:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (section->symbol)->native = native; - ^~~~~~~~~~ - -Full log attached. - -This fix is probably wrong as it drops the type safety. But ({ statements as -expressions }) are probably not allowed in GDB. - - -Jan - ---IJpNTDwzlM2Ie8A6 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -bfd/ -2016-03-08 Jan Kratochvil - - Fix strict-aliasing rules compilation error. - * libaout.h (aout_symbol): Remove type safe indirection. - * libcoff-in.h (coffsymbol): Likewise. - * libcoff.h: Regenerate. - -diff --git a/bfd/libaout.h b/bfd/libaout.h -index 8b70a9f..b60c40c 100644 ---- a/bfd/libaout.h -+++ b/bfd/libaout.h -@@ -448,9 +448,7 @@ struct aout_data_struct - #define obj_aout_sym_hashes(bfd) (adata (bfd).sym_hashes) - #define obj_aout_dynamic_info(bfd) (adata (bfd).dynamic_info) - --/* We take the address of the first element of an asymbol to ensure that the -- macro is only ever applied to an asymbol. */ --#define aout_symbol(asymbol) ((aout_symbol_type *)(&(asymbol)->the_bfd)) -+#define aout_symbol(asymbol) ((aout_symbol_type *) (asymbol)) - - /* Information we keep for each a.out section. This is currently only - used by the a.out backend linker. */ -diff --git a/bfd/libcoff-in.h b/bfd/libcoff-in.h -index 80f999d..fa1e9ac 100644 ---- a/bfd/libcoff-in.h -+++ b/bfd/libcoff-in.h -@@ -188,9 +188,7 @@ struct xcoff_tdata - - #define xcoff_data(abfd) ((abfd)->tdata.xcoff_obj_data) - --/* We take the address of the first element of an asymbol to ensure that the -- macro is only ever applied to an asymbol. */ --#define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd))) -+#define coffsymbol(asymbol) ((coff_symbol_type *) (asymbol)) - - /* Tdata for sections in XCOFF files. This is used by the linker. */ - -diff --git a/bfd/libcoff.h b/bfd/libcoff.h -index bbed3e0..8ce525b 100644 ---- a/bfd/libcoff.h -+++ b/bfd/libcoff.h -@@ -192,9 +192,7 @@ struct xcoff_tdata - - #define xcoff_data(abfd) ((abfd)->tdata.xcoff_obj_data) - --/* We take the address of the first element of an asymbol to ensure that the -- macro is only ever applied to an asymbol. */ --#define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd))) -+#define coffsymbol(asymbol) ((coff_symbol_type *) (asymbol)) - - /* Tdata for sections in XCOFF files. This is used by the linker. */ - - ---IJpNTDwzlM2Ie8A6 -Content-Type: text/plain; charset=iso-2022-jp -Content-Disposition: inline; filename=2 - -libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT aout32.lo -MD -MP -MF .deps/aout32.Tpo -c aout32.c -o aout32.o -In file included from aout32.c:24:0: -aoutx.h: In function $B!F(Baout_32_write_syms$B!G(B: -aoutx.h:1871:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - H_PUT_16 (abfd, aout_symbol (g)->desc, nsp.e_desc); - ^~~~~~~~ -aoutx.h:1872:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - H_PUT_8 (abfd, aout_symbol (g)->other, nsp.e_other); - ^~~~~~~ -aoutx.h:1873:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - H_PUT_8 (abfd, aout_symbol (g)->type, nsp.e_type); - ^~~~~~~ -aoutx.h: In function $B!F(Baout_32_get_symbol_info$B!G(B: -aoutx.h:2504:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - int type_code = aout_symbol (symbol)->type & 0xff; - ^~~ -aoutx.h:2515:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - ret->stab_other = (unsigned) (aout_symbol (symbol)->other & 0xff); - ^~~ -aoutx.h:2516:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - ret->stab_desc = (unsigned) (aout_symbol (symbol)->desc & 0xffff); - ^~~ -aoutx.h: In function $B!F(Baout_32_print_symbol$B!G(B: -aoutx.h:2537:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - (unsigned) (aout_symbol (symbol)->desc & 0xffff), - ^ -aoutx.h:2538:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - (unsigned) (aout_symbol (symbol)->other & 0xff), - ^ -aoutx.h:2539:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - (unsigned) (aout_symbol (symbol)->type)); - ^ -aoutx.h:2549:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - (unsigned) (aout_symbol (symbol)->desc & 0xffff), - ^ -aoutx.h:2550:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - (unsigned) (aout_symbol (symbol)->other & 0xff), - ^ -aoutx.h:2551:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - (unsigned) (aout_symbol (symbol)->type & 0xff)); - ^ -cc1: all warnings being treated as errors -libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT pei-i386.lo -MD -MP -MF .deps/pei-i386.Tpo -c pei-i386.c -o pei-i386.o -In file included from coff-i386.c:614:0, - from pei-i386.c:45: -coffcode.h: In function $B!F(Bcoff_new_section_hook$B!G(B: -coffcode.h:1817:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (section->symbol)->native = native; - ^~~~~~~~~~ -cc1: all warnings being treated as errors -libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT coffgen.lo -MD -MP -MF .deps/coffgen.Tpo -c coffgen.c -o coffgen.o -coffgen.c: In function $B!F(Bcoff_get_lineno$B!G(B: -coffgen.c:1510:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - return coffsymbol (symbol)->lineno; - ^~~~~~ -coffgen.c: In function $B!F(Bcoff_get_symbol_info$B!G(B: -coffgen.c:2034:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - if (coffsymbol (symbol)->native != NULL - ^~ -coffgen.c:2035:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - && coffsymbol (symbol)->native->fix_value - ^~ -coffgen.c:2036:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - && coffsymbol (symbol)->native->is_sym) - ^~ -coffgen.c:2037:5: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - ret->value = coffsymbol (symbol)->native->u.syment.n_value - - ^~~ -coffgen.c: In function $B!F(Bcoff_print_symbol$B!G(B: -coffgen.c:2059:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (symbol)->native ? "n" : "g", - ^~~~~~~~~~ -coffgen.c:2060:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (symbol)->lineno ? "l" : " "); - ^~~~~~~~~~ -coffgen.c:2064:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - if (coffsymbol (symbol)->native) - ^~ -coffgen.c:2068:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - combined_entry_type *combined = coffsymbol (symbol)->native; - ^~~~~~~~~~~~~~~~~~~ -coffgen.c:2070:11: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - struct lineno_cache_entry *l = coffsymbol (symbol)->lineno; - ^~~~~~~~~~~~~~~~~~ -coffgen.c:2191:6: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (symbol)->native ? "n" : "g", - ^~~~~~~~~~ -coffgen.c:2192:6: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (symbol)->lineno ? "l" : " ", - ^~~~~~~~~~ -cc1: all warnings being treated as errors -libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT pei-x86_64.lo -MD -MP -MF .deps/pei-x86_64.Tpo -c pei-x86_64.c -o pei-x86_64.o -In file included from coff-x86_64.c:741:0, - from pei-x86_64.c:763: -coffcode.h: In function $B!F(Bcoff_new_section_hook$B!G(B: -coffcode.h:1817:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - coffsymbol (section->symbol)->native = native; - ^~~~~~~~~~ -cc1: all warnings being treated as errors - ---IJpNTDwzlM2Ie8A6-- - diff --git a/gdb.spec b/gdb.spec index 662681b..ddb58c5 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1195,6 +1195,9 @@ fi %endif %changelog +* Fri Dec 9 2022 Andrew Burgess +- Remove gdb-bfd-aliasing.patch. + * Fri Dec 9 2022 Andrew Burgess - Remove gdb-entryval-crash-1of3.patch, gdb-entryval-crash-2of3.patch, and gdb-entryval-crash-3of3.patch. From b3008271fb8a0fefbb5854d1d1286c289eb86af4 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 25 Nov 2022 15:40:23 +0000 Subject: [PATCH 18/84] remove gdb-fortran-frame-string.patch file Remove the 'gdb-fortran-frame-string.patch' patch from Fedora GDB. I have pushed an upstream test that covers everything that this test covered, see upstream GDB commit: commit 1c01b23603766fbca4ed4dd12fdd710860e6038e Date: Fri Nov 4 14:51:11 2022 +0000 gdb/fortran/testsuite: print values and types of string variables As this is just a testsuite patch, I'm not going to backport this to Fedora GDB, but when we next rebase, we will pick up this test. --- _gdb.spec.Patch.include | 40 ++++++------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-fortran-frame-string.patch | 104 --------------------------------- gdb.spec | 4 ++ 5 files changed, 22 insertions(+), 128 deletions(-) delete mode 100644 gdb-fortran-frame-string.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index c9cc0fc..6e6a944 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -204,58 +204,54 @@ Patch049: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch #=push+jan Patch050: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch -# Display Fortran strings in backtraces. -#=fedoratest -Patch051: gdb-fortran-frame-string.patch - # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch052: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch051: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch053: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch052: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch054: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch053: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch055: gdb-rhbz1350436-type-printers-error.patch +Patch054: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch056: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch055: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch057: gdb-fedora-libncursesw.patch +Patch056: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch058: gdb-opcodes-clflushopt-test.patch +Patch057: gdb-opcodes-clflushopt-test.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch059: gdb-6.6-buildid-locate-rpm-scl.patch +Patch058: gdb-6.6-buildid-locate-rpm-scl.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch060: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch059: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch061: gdb-container-rh-pkg.patch +Patch060: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch062: gdb-linux_perf-bundle.patch +Patch061: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -264,28 +260,28 @@ Patch062: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch063: gdb-libexec-add-index.patch +Patch062: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch064: gdb-rhbz1398387-tab-crash-test.patch +Patch063: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch065: gdb-rhbz1553104-s390x-arch12-test.patch +Patch064: gdb-rhbz1553104-s390x-arch12-test.patch -Patch066: gdb-backport-readline_support.patch +Patch065: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch067: gdb-backport-fix-break-main-file-remove-fail.patch +Patch066: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch068: gdb-sw22395-constify-target_desc.patch +Patch067: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch069: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch068: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 4ef8e6c..f004491 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -66,4 +66,3 @@ %patch066 -p1 %patch067 -p1 %patch068 -p1 -%patch069 -p1 diff --git a/_patch_order b/_patch_order index 25b8f1e..c92296c 100644 --- a/_patch_order +++ b/_patch_order @@ -48,7 +48,6 @@ gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch gdb-rhbz1007614-memleak-infpy_read_memory-test.patch gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch -gdb-fortran-frame-string.patch gdb-rhbz1156192-recursive-dlopen-test.patch gdb-rhbz1149205-catch-syscall-after-fork-test.patch gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch diff --git a/gdb-fortran-frame-string.patch b/gdb-fortran-frame-string.patch deleted file mode 100644 index 4bdd059..0000000 --- a/gdb-fortran-frame-string.patch +++ /dev/null @@ -1,104 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-fortran-frame-string.patch - -;; Display Fortran strings in backtraces. -;;=fedoratest - -http://sourceware.org/ml/gdb-patches/2014-07/msg00709.html - -Hi, - -for Fortran it fixes displaying normal strings also in frames/backtraces: - -(gdb) frame --> - -The patch is simple and I do not see why it should not be this way. - -For C/C++ TYPE_CODE_STRING is not used. I am not aware of Pascal but that -language is currently not really much supported in GDB anyway. - -This was a part of my archer/jankratochvil/vla branch but it is not a part of -the Intel VLA patchset as it in fact is completely unrelated to "VLA". - -No regressions on {x86_64,x86_64-m32,i686}-fedora22pre-linux-gnu. - -Thanks, -Jan - -diff --git a/gdb/testsuite/gdb.fortran/fortran-frame-string.exp b/gdb/testsuite/gdb.fortran/fortran-frame-string.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/fortran-frame-string.exp -@@ -0,0 +1,36 @@ -+# Copyright 2014 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+standard_testfile .f90 -+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}] } { -+ return -1 -+} -+ -+if ![runto MAIN__] then { -+ perror "couldn't run to breakpoint MAIN__" -+ continue -+} -+ -+gdb_breakpoint [gdb_get_line_number "s = s"] -+gdb_continue_to_breakpoint "s = s" -+ -+gdb_test "ptype s" {type = character\*3} -+gdb_test "p s" " = 'foo'" -+ -+# Fix rejected upstream: -+# https://sourceware.org/ml/gdb-patches/2014-07/msg00768.html -+setup_kfail "rejected" *-*-* -+gdb_test "frame" { \(s='foo', .*} -diff --git a/gdb/testsuite/gdb.fortran/fortran-frame-string.f90 b/gdb/testsuite/gdb.fortran/fortran-frame-string.f90 -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/fortran-frame-string.f90 -@@ -0,0 +1,28 @@ -+! Copyright 2014 Free Software Foundation, Inc. -+! -+! This program is free software; you can redistribute it and/or modify -+! it under the terms of the GNU General Public License as published by -+! the Free Software Foundation; either version 2 of the License, or -+! (at your option) any later version. -+! -+! This program is distributed in the hope that it will be useful, -+! but WITHOUT ANY WARRANTY; without even the implied warranty of -+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+! GNU General Public License for more details. -+! -+! You should have received a copy of the GNU General Public License -+! along with this program; if not, write to the Free Software -+! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+! -+! Ihis file is the Fortran source file for dynamic.exp. -+! Original file written by Jakub Jelinek . -+! Modified for the GDB testcase by Jan Kratochvil . -+ -+ subroutine f(s) -+ character*3 s -+ s = s -+ end -+ -+ program main -+ call f ('foo') -+ end diff --git a/gdb.spec b/gdb.spec index ddb58c5..f2efb40 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1195,6 +1195,10 @@ fi %endif %changelog +* Fri Dec 9 2022 Andrew Burgess +- Remove gdb-fortran-frame-string.patch, a version of this test has + now been upstreamed. + * Fri Dec 9 2022 Andrew Burgess - Remove gdb-bfd-aliasing.patch. From 4896bb074ad969c813a5593a15eda82bd57c0728 Mon Sep 17 00:00:00 2001 From: Michal Kolar Date: Thu, 15 Dec 2022 12:42:14 +0000 Subject: [PATCH 19/84] plans/ci.fmf: fix deprecated fmf plan attribute --- plans/ci.fmf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plans/ci.fmf b/plans/ci.fmf index 1ad2c12..85710d6 100644 --- a/plans/ci.fmf +++ b/plans/ci.fmf @@ -3,4 +3,4 @@ discover: how: fmf directory: tests execute: - how: beakerlib + how: tmt From 0f5a6ebc3c19f7f01de9f742afe7d043afb652f1 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Wed, 14 Dec 2022 09:13:03 -0800 Subject: [PATCH 20/84] Remove more unneeded tests and patches Changes in this commit: - Remove gdb-bz601887-dwarf4-rh-test.patch This adds a very simple test to check whether DWARF4 is implemented. GDB has been using DWARF4 for several years, and the testsuite coverage supercedes this patch. - Remove gdb-6.6-buildid-locate-rpm-scl.patch This patch is applicable only on RHEL6 where .gdb_index version 5 is used. In recent GDBs, i.e., all DTS releases, this version could only be read with the option "use-deprecated-index-sections". RHEL7+ use .gdb_index version 8. Since RHEL6 is no longer supported, this is unnecessary. Also remove GDB_INDEX_VERIFY_VENDOR references/code from gdb-6.6-buildid-locate.patch and gdb.spec --- _gdb.spec.Patch.include | 66 +++---- _gdb.spec.patch.include | 2 - _patch_order | 2 - gdb-6.6-buildid-locate-rpm-scl.patch | 42 ----- gdb-6.6-buildid-locate.patch | 72 +------- gdb-bz601887-dwarf4-rh-test.patch | 254 --------------------------- gdb.spec | 9 +- 7 files changed, 42 insertions(+), 405 deletions(-) delete mode 100644 gdb-6.6-buildid-locate-rpm-scl.patch delete mode 100644 gdb-bz601887-dwarf4-rh-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 6e6a944..792b270 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -150,108 +150,100 @@ Patch036: gdb-ppc-power7-test.patch #=fedoratest Patch037: gdb-archer-next-over-throw-cxx-exec.patch -# Backport DWARF-4 support (BZ 601887, Tom Tromey). -#=fedoratest -Patch038: gdb-bz601887-dwarf4-rh-test.patch - # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch039: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch038: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch040: gdb-test-bt-cfi-without-die.patch +Patch039: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch041: gdb-bz634108-solib_address.patch +Patch040: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch042: gdb-test-pid0-core.patch +Patch041: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch043: gdb-test-dw2-aranges.patch +Patch042: gdb-test-dw2-aranges.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch044: gdb-test-ivy-bridge.patch +Patch043: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch045: gdb-glibc-strstr-workaround.patch +Patch044: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch046: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch045: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch047: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch046: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch048: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch047: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch049: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch048: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch050: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch049: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch051: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch050: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch052: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch051: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch053: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch052: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch054: gdb-rhbz1350436-type-printers-error.patch +Patch053: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch055: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch054: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch056: gdb-fedora-libncursesw.patch +Patch055: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch057: gdb-opcodes-clflushopt-test.patch - -# [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). -#=push+jan -Patch058: gdb-6.6-buildid-locate-rpm-scl.patch +Patch056: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch059: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch057: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch060: gdb-container-rh-pkg.patch +Patch058: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch061: gdb-linux_perf-bundle.patch +Patch059: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -260,28 +252,28 @@ Patch061: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch062: gdb-libexec-add-index.patch +Patch060: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch063: gdb-rhbz1398387-tab-crash-test.patch +Patch061: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch064: gdb-rhbz1553104-s390x-arch12-test.patch +Patch062: gdb-rhbz1553104-s390x-arch12-test.patch -Patch065: gdb-backport-readline_support.patch +Patch063: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch066: gdb-backport-fix-break-main-file-remove-fail.patch +Patch064: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch067: gdb-sw22395-constify-target_desc.patch +Patch065: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch068: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch066: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f004491..8d1967c 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -64,5 +64,3 @@ %patch064 -p1 %patch065 -p1 %patch066 -p1 -%patch067 -p1 -%patch068 -p1 diff --git a/_patch_order b/_patch_order index c92296c..bb36e5c 100644 --- a/_patch_order +++ b/_patch_order @@ -35,7 +35,6 @@ gdb-ccache-workaround.patch gdb-lineno-makeup-test.patch gdb-ppc-power7-test.patch gdb-archer-next-over-throw-cxx-exec.patch -gdb-bz601887-dwarf4-rh-test.patch gdb-6.6-buildid-locate-rpm-librpm-workaround.patch gdb-test-bt-cfi-without-die.patch gdb-bz634108-solib_address.patch @@ -55,7 +54,6 @@ gdb-rhbz1350436-type-printers-error.patch gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch gdb-fedora-libncursesw.patch gdb-opcodes-clflushopt-test.patch -gdb-6.6-buildid-locate-rpm-scl.patch gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch diff --git a/gdb-6.6-buildid-locate-rpm-scl.patch b/gdb-6.6-buildid-locate-rpm-scl.patch deleted file mode 100644 index 7d4389a..0000000 --- a/gdb-6.6-buildid-locate-rpm-scl.patch +++ /dev/null @@ -1,42 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.6-buildid-locate-rpm-scl.patch - -;; [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). -;;=push+jan - -warning: Skipping deprecated .gdb_index section -https://bugzilla.redhat.com/show_bug.cgi?id=953585 - -diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c ---- a/gdb/dwarf2/read.c -+++ b/gdb/dwarf2/read.c -@@ -2797,6 +2797,16 @@ read_gdb_index_from_buffer (const char *filename, - "set use-deprecated-index-sections on". */ - if (version < 6 && !deprecated_ok) - { -+#ifdef GDB_INDEX_VERIFY_VENDOR -+ extern int rpm_verify_vendor (const char *filename); -+ -+ /* Red Hat Developer Toolset exception. */ -+ if (rpm_verify_vendor (filename)) -+ {} -+ else -+ { -+ -+#endif - static int warning_printed = 0; - if (!warning_printed) - { -@@ -2808,6 +2818,10 @@ to use the section anyway."), - warning_printed = 1; - } - return 0; -+#ifdef GDB_INDEX_VERIFY_VENDOR -+ -+ } -+#endif - } - /* Version 7 indices generated by gold refer to the CU for a symbol instead - of the TU (for symbols coming from TUs), diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index 1a87c47..afe4e58 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -568,7 +568,8 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + /* Stop increasing SEQNO. */ + break; + } -+ + +- return {}; + /* lrealpath() is expensive even for the usually non-existent files. */ + gdb::unique_xmalloc_ptr filename_holder; + const char *filename = nullptr; @@ -596,8 +597,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + { + if (separate_debug_file_debug) + fprintf_unfiltered (gdb_stdlog, _(" no, unable to open.\n")); - -- return {}; ++ + continue; + } + @@ -628,13 +628,13 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + /* If none of the real files is found report as missing file + always the non-.%u-suffixed file. */ + std::string link0 = orig_link; - -- return {}; ++ + /* If the symlink has target request to install the target. + BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing. + https://bugzilla.redhat.com/show_bug.cgi?id=981154 */ + std::string link0_resolved (link_resolve (link0.c_str (), 0)); -+ + +- return {}; + if (link_all.empty ()) + link_all = link0_resolved; + else @@ -703,7 +703,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (debug_bfd != NULL) return debug_bfd; } -@@ -183,30 +687,649 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, +@@ -183,30 +687,595 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, return {}; } @@ -765,11 +765,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c +/* Returns the count of newly added rpms. */ + +static int -+#ifndef GDB_INDEX_VERIFY_VENDOR +missing_rpm_enlist (const char *filename) -+#else -+missing_rpm_enlist_1 (const char *filename, int verify_vendor) -+#endif +{ + static int rpm_init_done = 0; + rpmts ts; @@ -876,11 +872,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0); + if (mi != NULL) + { -+#ifndef GDB_INDEX_VERIFY_VENDOR + for (;;) -+#else -+ if (!verify_vendor) for (;;) -+#endif + { + Header h; + char *debuginfo, **slot, *s, *s2; @@ -998,38 +990,6 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + xfree (debuginfo); + count++; + } -+#ifdef GDB_INDEX_VERIFY_VENDOR -+ else /* verify_vendor */ -+ { -+ int vendor_pass = 0, vendor_fail = 0; -+ -+ for (;;) -+ { -+ Header h; -+ errmsg_t err; -+ char *vendor; -+ -+ h = rpmdbNextIterator_p (mi); -+ if (h == NULL) -+ break; -+ -+ vendor = headerFormat_p (h, "%{vendor}", &err); -+ if (!vendor) -+ { -+ warning (_("Error querying the rpm file `%s': %s"), filename, -+ err); -+ continue; -+ } -+ if (strcmp (vendor, "Red Hat, Inc.") == 0) -+ vendor_pass = 1; -+ else -+ vendor_fail = 1; -+ xfree (vendor); -+ } -+ count = vendor_pass != 0 && vendor_fail == 0; -+ } -+#endif -+ + rpmdbFreeIterator_p (mi); + } + @@ -1038,20 +998,6 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + return count; +} + -+#ifdef GDB_INDEX_VERIFY_VENDOR -+missing_rpm_enlist (const char *filename) -+{ -+ return missing_rpm_enlist_1 (filename, 0); -+} -+ -+extern int rpm_verify_vendor (const char *filename); -+int -+rpm_verify_vendor (const char *filename) -+{ -+ return missing_rpm_enlist_1 (filename, 1); -+} -+#endif -+ +static bool +missing_rpm_list_compar (const char *ap, const char *bp) +{ @@ -1359,7 +1305,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (build_id != NULL) { if (separate_debug_file_debug) -@@ -214,8 +1337,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -214,8 +1283,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) _("\nLooking for separate debug info (build-id) for " "%s\n"), objfile_name (objfile)); @@ -1382,7 +1328,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c /* Prevent looping on a stripped .debug file. */ if (abfd != NULL && filename_cmp (bfd_get_filename (abfd.get ()), -@@ -228,3 +1364,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -228,3 +1310,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) return std::string (); } diff --git a/gdb-bz601887-dwarf4-rh-test.patch b/gdb-bz601887-dwarf4-rh-test.patch deleted file mode 100644 index 966c986..0000000 --- a/gdb-bz601887-dwarf4-rh-test.patch +++ /dev/null @@ -1,254 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-bz601887-dwarf4-rh-test.patch - -;; Backport DWARF-4 support (BZ 601887, Tom Tromey). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S b/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S -@@ -0,0 +1,167 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+ .file "rh-dwarf4-x86_64.c" -+ .section .debug_abbrev,"",@progbits -+.Ldebug_abbrev0: -+ .section .debug_info,"",@progbits -+.Ldebug_info0: -+ .section .debug_line,"",@progbits -+.Ldebug_line0: -+ .text -+.Ltext0: -+.globl main -+ .type main, @function -+main: -+.LFB0: -+ .file 1 "gdb.dwarf2/rh-dwarf4-x86_64.c" -+ # gdb.dwarf2/rh-dwarf4-x86_64.c:20 -+ .loc 1 20 0 -+ .cfi_startproc -+ # basic block 2 -+ pushq %rbp -+ .cfi_def_cfa_offset 16 -+ movq %rsp, %rbp -+ .cfi_offset 6, -16 -+ .cfi_def_cfa_register 6 -+ # gdb.dwarf2/rh-dwarf4-x86_64.c:21 -+ .loc 1 21 0 -+ movl $0, %eax -+ # gdb.dwarf2/rh-dwarf4-x86_64.c:22 -+ .loc 1 22 0 -+ leave -+ .cfi_def_cfa 7, 8 -+ ret -+ .cfi_endproc -+.LFE0: -+ .size main, .-main -+.Letext0: -+ .section .debug_info -+ .long 0x4e # Length of Compilation Unit Info -+ .value 0x4 # DWARF version number -+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section -+ .byte 0x8 # Pointer Size (in bytes) -+ .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit) -+ .long .LASF0 # DW_AT_producer: "GNU C 4.4.4 20100503 (Red Hat 4.4.4-2)" -+ .byte 0x1 # DW_AT_language -+ .long .LASF1 # DW_AT_name: "gdb.dwarf2/rh-dwarf4-x86_64.c" -+ .long .LASF2 # DW_AT_comp_dir -+ .quad .Ltext0 # DW_AT_low_pc -+ .quad .Letext0 # DW_AT_high_pc -+ .long .Ldebug_line0 # DW_AT_stmt_list -+ .uleb128 0x2 # (DIE (0x2d) DW_TAG_subprogram) -+ # DW_AT_external -+ .long .LASF3 # DW_AT_name: "main" -+ .byte 0x1 # DW_AT_decl_file (gdb.dwarf2/rh-dwarf4-x86_64.c) -+ .byte 0x13 # DW_AT_decl_line -+ # DW_AT_prototyped -+ .long 0x4a # DW_AT_type -+ .quad .LFB0 # DW_AT_low_pc -+ .quad .LFE0 # DW_AT_high_pc -+ .uleb128 0x1 # DW_AT_frame_base -+ .byte 0x9c # DW_OP_call_frame_cfa -+ .uleb128 0x3 # (DIE (0x4a) DW_TAG_base_type) -+ .byte 0x4 # DW_AT_byte_size -+ .byte 0x5 # DW_AT_encoding -+ .ascii "int\0" # DW_AT_name -+ .byte 0x0 # end of children of DIE 0xb -+ .section .debug_abbrev -+ .uleb128 0x1 # (abbrev code) -+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit) -+ .byte 0x1 # DW_children_yes -+ .uleb128 0x25 # (DW_AT_producer) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x13 # (DW_AT_language) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x1b # (DW_AT_comp_dir) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x12 # (DW_AT_high_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x10 # (DW_AT_stmt_list) -+ .uleb128 0x17 # (DW_FORM_sec_offset) -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x2 # (abbrev code) -+ .uleb128 0x2e # (TAG: DW_TAG_subprogram) -+ .byte 0x0 # DW_children_no -+ .uleb128 0x3f # (DW_AT_external) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0xe # (DW_FORM_strp) -+ .uleb128 0x3a # (DW_AT_decl_file) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3b # (DW_AT_decl_line) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x27 # (DW_AT_prototyped) -+ .uleb128 0x19 # (DW_FORM_flag_present) -+ .uleb128 0x49 # (DW_AT_type) -+ .uleb128 0x13 # (DW_FORM_ref4) -+ .uleb128 0x11 # (DW_AT_low_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x12 # (DW_AT_high_pc) -+ .uleb128 0x1 # (DW_FORM_addr) -+ .uleb128 0x40 # (DW_AT_frame_base) -+ .uleb128 0x18 # (DW_FORM_exprloc) -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x3 # (abbrev code) -+ .uleb128 0x24 # (TAG: DW_TAG_base_type) -+ .byte 0x0 # DW_children_no -+ .uleb128 0xb # (DW_AT_byte_size) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3e # (DW_AT_encoding) -+ .uleb128 0xb # (DW_FORM_data1) -+ .uleb128 0x3 # (DW_AT_name) -+ .uleb128 0x8 # (DW_FORM_string) -+ .byte 0x0 -+ .byte 0x0 -+ .byte 0x0 -+ .section .debug_pubnames,"",@progbits -+ .long 0x17 # Length of Public Names Info -+ .value 0x2 # DWARF Version -+ .long .Ldebug_info0 # Offset of Compilation Unit Info -+ .long 0x52 # Compilation Unit Length -+ .long 0x2d # DIE offset -+ .ascii "main\0" # external name -+ .long 0x0 -+ .section .debug_aranges,"",@progbits -+ .long 0x2c # Length of Address Ranges Info -+ .value 0x2 # DWARF Version -+ .long .Ldebug_info0 # Offset of Compilation Unit Info -+ .byte 0x8 # Size of Address -+ .byte 0x0 # Size of Segment Descriptor -+ .value 0x0 # Pad to 16 byte boundary -+ .value 0x0 -+ .quad .Ltext0 # Address -+ .quad .Letext0-.Ltext0 # Length -+ .quad 0x0 -+ .quad 0x0 -+ .section .debug_str,"MS",@progbits,1 -+.LASF2: -+ .string "." -+.LASF0: -+ .string "GNU C 4.4.4 20100503 (Red Hat 4.4.4-2)" -+.LASF1: -+ .string "gdb.dwarf2/rh-dwarf4-x86_64.c" -+.LASF3: -+ .string "main" -+ .ident "GCC: (GNU) 4.4.4 20100503 (Red Hat 4.4.4-2)" -+ .section .note.GNU-stack,"",@progbits -diff --git a/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c b/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c -@@ -0,0 +1,22 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+int -+main (void) -+{ -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp b/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp -@@ -0,0 +1,42 @@ -+# Copyright 2010 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This test can only be run on targets which support DWARF-2 and use gas. -+# For now pick a sampling of likely targets. -+if {![istarget *-*-linux*] -+ && ![istarget *-*-gnu*] -+ && ![istarget *-*-elf*] -+ && ![istarget *-*-openbsd*] -+ && ![istarget arm-*-eabi*] -+ && ![istarget powerpc-*-eabi*]} { -+ return 0 -+} -+ -+if {![istarget x86_64-*]} { -+ return 0 -+} -+ -+set testfile "rh-dwarf4-x86_64" -+set srcfile ${testfile}.S -+set executable ${testfile}.x -+set binfile [standard_output_file ${executable}] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } { -+ return -1 -+} -+ -+clean_restart $executable -+ -+gdb_test "ptype main" {type = int \(void\)} diff --git a/gdb.spec b/gdb.spec index f2efb40..68f5e8a 100644 --- a/gdb.spec +++ b/gdb.spec @@ -672,11 +672,6 @@ export LDFLAGS="%{?__global_ldflags} %{?_with_asan:-fsanitize=address}" CFLAGS="$CFLAGS -DDNF_DEBUGINFO_INSTALL" %endif -# Patch833: gdb-6.6-buildid-locate-rpm-scl.patch -%if 0%{?el6:1} && 0%{?scl:1} -CFLAGS="$CFLAGS -DGDB_INDEX_VERIFY_VENDOR" -%endif - %if 0%{have_libipt} && 0%{?el7:1} && 0%{?scl:1} ( mkdir libipt-%{libipt_version}-root @@ -1195,6 +1190,10 @@ fi %endif %changelog +* Fri Dec 16 2022 Keith Seitz +- Remove gdb-6.6-buildid-locate-rpm-scl.patch and + gdb-bz601887-dwarf4-rh-test.patch. + * Fri Dec 9 2022 Andrew Burgess - Remove gdb-fortran-frame-string.patch, a version of this test has now been upstreamed. From 69f0c792d65d961b609d38485da547467f47bae6 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Mon, 19 Dec 2022 17:01:56 +0000 Subject: [PATCH 21/84] Back-port fix for RHBZ 2152431 Fixes RHBZ 2152431, an issue where reading a label symbol's value would cause GDB to crash. This pulls in two upstream commits 38665d717a3 and c3efaf0afd9 both of which should be in GDB 13 when it is released. --- _gdb.spec.Patch.include | 3 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-rhbz2152431-label-symbol-value.patch | 181 +++++++++++++++++++++++ gdb.spec | 4 + 5 files changed, 190 insertions(+) create mode 100644 gdb-rhbz2152431-label-symbol-value.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 792b270..3907c89 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -277,3 +277,6 @@ Patch065: gdb-sw22395-constify-target_desc.patch # (Florian Weimer, RHBZ 2143992) Patch066: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch + +Patch067: gdb-rhbz2152431-label-symbol-value.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8d1967c..9dbbe98 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -64,3 +64,4 @@ %patch064 -p1 %patch065 -p1 %patch066 -p1 +%patch067 -p1 diff --git a/_patch_order b/_patch_order index bb36e5c..2cebc89 100644 --- a/_patch_order +++ b/_patch_order @@ -64,3 +64,4 @@ gdb-backport-readline_support.patch gdb-backport-fix-break-main-file-remove-fail.patch gdb-sw22395-constify-target_desc.patch gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +gdb-rhbz2152431-label-symbol-value.patch diff --git a/gdb-rhbz2152431-label-symbol-value.patch b/gdb-rhbz2152431-label-symbol-value.patch new file mode 100644 index 0000000..32d2942 --- /dev/null +++ b/gdb-rhbz2152431-label-symbol-value.patch @@ -0,0 +1,181 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Andrew Burgess +Date: Mon, 19 Dec 2022 15:57:59 +0000 +Subject: gdb-rhbz2152431-label-symbol-value.patch + +Backport these two upstream commits to fix bug 2152431: + + commit 38665d717a3e65c70e6432243d5eed9728a4888a + Date: Mon Dec 12 14:09:40 2022 +0000 + + gdb: use gdb_assert not internal_error + +And: + + commit c3efaf0afd9d37004c42cdfd3ce0c1bfa979c45e + Date: Mon Dec 12 14:05:22 2022 +0000 + + gdb: fix crash when getting the value of a label symbol + +diff --git a/gdb/findvar.c b/gdb/findvar.c +--- a/gdb/findvar.c ++++ b/gdb/findvar.c +@@ -152,11 +152,7 @@ extract_long_unsigned_integer (const gdb_byte *addr, int orig_len, + CORE_ADDR + extract_typed_address (const gdb_byte *buf, struct type *type) + { +- if (!type->is_pointer_or_reference ()) +- internal_error (__FILE__, __LINE__, +- _("extract_typed_address: " +- "type is not a pointer or reference")); +- ++ gdb_assert (type->is_pointer_or_reference ()); + return gdbarch_pointer_to_address (type->arch (), type, buf); + } + +@@ -205,11 +201,7 @@ template void store_integer (gdb_byte *addr, int len, + void + store_typed_address (gdb_byte *buf, struct type *type, CORE_ADDR addr) + { +- if (!type->is_pointer_or_reference ()) +- internal_error (__FILE__, __LINE__, +- _("store_typed_address: " +- "type is not a pointer or reference")); +- ++ gdb_assert (type->is_pointer_or_reference ()); + gdbarch_address_to_pointer (type->arch (), type, buf, addr); + } + +@@ -634,19 +626,32 @@ language_defn::read_var_value (struct symbol *var, + + case LOC_LABEL: + /* Put the constant back in target format. */ +- v = allocate_value (type); +- if (overlay_debugging) +- { +- struct objfile *var_objfile = symbol_objfile (var); +- addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var), +- var->obj_section (var_objfile)); +- store_typed_address (value_contents_raw (v).data (), type, addr); +- } +- else +- store_typed_address (value_contents_raw (v).data (), type, +- SYMBOL_VALUE_ADDRESS (var)); +- VALUE_LVAL (v) = not_lval; +- return v; ++ { ++ /* Put the constant back in target format. */ ++ if (overlay_debugging) ++ { ++ struct objfile *var_objfile = symbol_objfile (var); ++ addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var), ++ var->obj_section (var_objfile)); ++ } ++ else ++ addr = SYMBOL_VALUE_ADDRESS (var); ++ ++ /* First convert the CORE_ADDR to a function pointer type, this ++ ensures the gdbarch knows what type of pointer we are ++ manipulating when value_from_pointer is called. */ ++ type = builtin_type (symbol_arch (var))->builtin_func_ptr; ++ v = value_from_pointer (type, addr); ++ ++ /* But we want to present the value as 'void *', so cast it to the ++ required type now, this will not change the values bit ++ representation. */ ++ struct type *void_ptr_type ++ = builtin_type (symbol_arch (var))->builtin_data_ptr; ++ v = value_cast_pointers (void_ptr_type, v, 0); ++ VALUE_LVAL (v) = not_lval; ++ return v; ++ } + + case LOC_CONST_BYTES: + if (is_dynamic_type (type)) +diff --git a/gdb/testsuite/gdb.python/py-label-symbol-value.c b/gdb/testsuite/gdb.python/py-label-symbol-value.c +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.python/py-label-symbol-value.c +@@ -0,0 +1,38 @@ ++/* This testcase is part of GDB, the GNU debugger. ++ ++ Copyright 2022 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ ++volatile int global_var = 1; ++ ++int ++get_value () ++{ ++ return global_var; ++} ++ ++int ++main (void) ++{ ++ int value = get_value (); ++ if (value > 0) ++ goto some_label; ++ ++ return 1; ++ ++ some_label: ++ ++ return 0; ++} +diff --git a/gdb/testsuite/gdb.python/py-label-symbol-value.exp b/gdb/testsuite/gdb.python/py-label-symbol-value.exp +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.python/py-label-symbol-value.exp +@@ -0,0 +1,39 @@ ++# Copyright 2022 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# Check that GDB handles the user asking for the value of a label ++# symbol (i.e. a symbol for a goto label). ++ ++load_lib gdb-python.exp ++standard_testfile ++ ++if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } { ++ return -1 ++} ++ ++# Skip all tests if Python scripting is not enabled. ++if { [skip_python_tests] } { continue } ++ ++if ![runto_main] { ++ return -1 ++} ++ ++# Use Python to print the value of the 'some_label' symbol. ++gdb_test "python frame = gdb.selected_frame()" ++gdb_test "python frame_pc = frame.pc()" ++gdb_test "python block = gdb.current_progspace().block_for_pc(frame_pc)" ++gdb_test "python symbol,_ = gdb.lookup_symbol('some_label', block, gdb.SYMBOL_LABEL_DOMAIN)" ++gdb_test "python print(str(symbol.value()))" "$hex " ++gdb_test "python print(str(symbol.value().type))" "void \\*" diff --git a/gdb.spec b/gdb.spec index 68f5e8a..21456c8 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1190,6 +1190,10 @@ fi %endif %changelog +* Mon Dec 19 2022 Andrew Burgess +- Backport upstream commits 38665d717a3 and c3efaf0afd9 to fix RHBZ + 2152431. + * Fri Dec 16 2022 Keith Seitz - Remove gdb-6.6-buildid-locate-rpm-scl.patch and gdb-bz601887-dwarf4-rh-test.patch. From 8e9d3a4cf87567b9cb882e05af8ee1b1e94247ea Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 04:29:26 +0000 Subject: [PATCH 22/84] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 21456c8..1af6fb3 100644 --- a/gdb.spec +++ b/gdb.spec @@ -54,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 10%{?dist} +Release: 11%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1190,6 +1190,9 @@ fi %endif %changelog +* Thu Jan 19 2023 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Mon Dec 19 2022 Andrew Burgess - Backport upstream commits 38665d717a3 and c3efaf0afd9 to fix RHBZ 2152431. From ed2e95dc636a4fc603f9d3ef7b274fa1e5c8ba52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Thu, 19 Jan 2023 19:33:30 +0100 Subject: [PATCH 23/84] Backport replace deprecated distutils.sysconfig in python-config. (Lancelot SIX) --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...-config-replace-deprecated-distutils.patch | 88 +++++++++++++++++++ gdb.spec | 6 +- 5 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 gdb-backport-python-config-replace-deprecated-distutils.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 3907c89..b11dae5 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -280,3 +280,7 @@ Patch066: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch Patch067: gdb-rhbz2152431-label-symbol-value.patch +#Backport replace deprecated distutils.sysconfig in +#python-config (Lancelot SIX) +Patch068: gdb-backport-python-config-replace-deprecated-distutils.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 9dbbe98..f004491 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -65,3 +65,4 @@ %patch065 -p1 %patch066 -p1 %patch067 -p1 +%patch068 -p1 diff --git a/_patch_order b/_patch_order index 2cebc89..e00785a 100644 --- a/_patch_order +++ b/_patch_order @@ -65,3 +65,4 @@ gdb-backport-fix-break-main-file-remove-fail.patch gdb-sw22395-constify-target_desc.patch gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch gdb-rhbz2152431-label-symbol-value.patch +gdb-backport-python-config-replace-deprecated-distutils.patch diff --git a/gdb-backport-python-config-replace-deprecated-distutils.patch b/gdb-backport-python-config-replace-deprecated-distutils.patch new file mode 100644 index 0000000..8fc8f4f --- /dev/null +++ b/gdb-backport-python-config-replace-deprecated-distutils.patch @@ -0,0 +1,88 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= +Date: Thu, 19 Jan 2023 19:18:58 +0100 +Subject: gdb-backport-python-config-replace-deprecated-distutils.patch + +;;Backport replace deprecated distutils.sysconfig in +;;python-config (Lancelot SIX) + +gdb/python-config: replace deprecated distutils.sysconfig + +When running the gdb/configure script on ubuntu 22.04 with +python-3.10.4, I see: + + checking for python... no + checking for python3... /usr/bin/python3 + [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives + from distutils import sysconfig + [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead + from distutils import sysconfig + [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives + from distutils import sysconfig + [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead + from distutils import sysconfig + [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives + from distutils import sysconfig + [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead + from distutils import sysconfig + checking for python... yes + +The distutils module is deprecated as per the PEP 632[1] and will be +removed in python-3.12. + +This patch migrates gdb/python/python-config.py from distutils.sysconfig +to the sysconfig module[2]. + +The sysconfig module has has been introduced in the standard library in +python 3.2. Given that support for python < 3.2 has been removed by +edae3fd6600f: "gdb/python: remove Python 2 support", this patch does not +need to support both implementations for backward compatibility. + +Tested on ubuntu-22.04 and ubuntu 20.04. + +[1] https://peps.python.org/pep-0632/ +[2] https://docs.python.org/3/library/sysconfig.html + +Change-Id: Id0df2baf3ee6ce68bd01c236b829ab4c0a4526f6 + +diff --git a/gdb/python/python-config.py b/gdb/python/python-config.py +--- a/gdb/python/python-config.py ++++ b/gdb/python/python-config.py +@@ -4,7 +4,7 @@ + import sys + import os + import getopt +-from distutils import sysconfig ++import sysconfig + + valid_opts = ["prefix", "exec-prefix", "includes", "libs", "cflags", "ldflags", "help"] + +@@ -49,15 +49,15 @@ def to_unix_path(path): + + for opt in opt_flags: + if opt == "--prefix": +- print(to_unix_path(sysconfig.PREFIX)) ++ print(to_unix_path(os.path.normpath(sys.prefix))) + + elif opt == "--exec-prefix": +- print(to_unix_path(sysconfig.EXEC_PREFIX)) ++ print(to_unix_path(os.path.normpath(sys.exec_prefix))) + + elif opt in ("--includes", "--cflags"): + flags = [ +- "-I" + sysconfig.get_python_inc(), +- "-I" + sysconfig.get_python_inc(plat_specific=True), ++ "-I" + sysconfig.get_path("include"), ++ "-I" + sysconfig.get_path("platinclude"), + ] + if opt == "--cflags": + flags.extend(getvar("CFLAGS").split()) +@@ -76,7 +76,7 @@ for opt in opt_flags: + if getvar("LIBPL") is not None: + libs.insert(0, "-L" + getvar("LIBPL")) + elif os.name == "nt": +- libs.insert(0, "-L" + sysconfig.PREFIX + "/libs") ++ libs.insert(0, "-L" + os.path.normpath(sys.prefix) + "/libs") + if getvar("LINKFORSHARED") is not None: + libs.extend(getvar("LINKFORSHARED").split()) + print(to_unix_path(" ".join(libs))) diff --git a/gdb.spec b/gdb.spec index 1af6fb3..277d60a 100644 --- a/gdb.spec +++ b/gdb.spec @@ -54,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 11%{?dist} +Release: 12%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1190,6 +1190,10 @@ fi %endif %changelog +* Thu Jan 19 2023 Alexandra Hájková - 12.1-12 +- Backport replace deprecated distutils.sysconfig in python-confiag. + (Lancelot SIX) + * Thu Jan 19 2023 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From b443fb3970dd44932634aed3263c5728e9130ff9 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Fri, 20 Jan 2023 16:21:58 -0700 Subject: [PATCH 24/84] Fixes to get GDB to build again with GCC 13 and Python 3.12 - Backport fix for problems associated with GCC 13's self-move warning. - Tweak gdb-6.6-buildid-locate-rpm.patch so that running GDB's configure script will not error out due to GCC 13's warnings. - Backport replace deprecated distutils.sysconfig in python-config. --- _gdb.spec.Patch.include | 4 ++ _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-6.6-buildid-locate-rpm.patch | 6 +-- gdb-gcc-13-backport-self-move-diagnostic-fix | 43 ++++++++++++++++++++ gdb.spec | 10 ++++- 6 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 gdb-gcc-13-backport-self-move-diagnostic-fix diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index b11dae5..1306748 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -284,3 +284,7 @@ Patch067: gdb-rhbz2152431-label-symbol-value.patch #python-config (Lancelot SIX) Patch068: gdb-backport-python-config-replace-deprecated-distutils.patch +# gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move +# warning check +Patch069: gdb-gcc-13-backport-self-move-diagnostic-fix + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f004491..4ef8e6c 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -66,3 +66,4 @@ %patch066 -p1 %patch067 -p1 %patch068 -p1 +%patch069 -p1 diff --git a/_patch_order b/_patch_order index e00785a..285e149 100644 --- a/_patch_order +++ b/_patch_order @@ -66,3 +66,4 @@ gdb-sw22395-constify-target_desc.patch gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch gdb-rhbz2152431-label-symbol-value.patch gdb-backport-python-config-replace-deprecated-distutils.patch +gdb-gcc-13-backport-self-move-diagnostic-fix diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch index 6c3b728..6481d30 100644 --- a/gdb-6.6-buildid-locate-rpm.patch +++ b/gdb-6.6-buildid-locate-rpm.patch @@ -486,7 +486,7 @@ diff --git a/gdb/configure b/gdb/configure +extern Header rpmdbNextIterator(rpmdbMatchIterator mi); +extern rpmts rpmtsCreate(void); +extern rpmts rpmtsFree(rpmts ts); -+extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, ++extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, + const void * keyp, size_t keylen); + +int @@ -748,7 +748,7 @@ diff --git a/gdb/configure b/gdb/configure +extern Header rpmdbNextIterator(rpmdbMatchIterator mi); +extern rpmts rpmtsCreate(void); +extern rpmts rpmtsFree(rpmts ts); -+extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, ++extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, + const void * keyp, size_t keylen); + +int @@ -949,7 +949,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac +extern Header rpmdbNextIterator(rpmdbMatchIterator mi); +extern rpmts rpmtsCreate(void); +extern rpmts rpmtsFree(rpmts ts); -+extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, ++extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, + const void * keyp, size_t keylen); + ]]), [ + LIBRPM_COMPAT=true diff --git a/gdb-gcc-13-backport-self-move-diagnostic-fix b/gdb-gcc-13-backport-self-move-diagnostic-fix new file mode 100644 index 0000000..d0172aa --- /dev/null +++ b/gdb-gcc-13-backport-self-move-diagnostic-fix @@ -0,0 +1,43 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Fri, 20 Jan 2023 15:15:59 -0700 +Subject: gdb-gcc-13-backport-self-move-diagnostic-fix + +;; gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move +;; warning check + +Fix self-move warning check for GCC 13+ + +GCC 13 got the self-move warning (0abb78dda084a14b3d955757c6431fff71c263f3), +but that warning is only checked for clang, resulting in: + +/usr/lib/gcc-snapshot/bin/g++ -x c++ -I. -I. -I./config -DLOCALEDIR="\"/tmp/gdb-m68k-linux/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I./../readline/readline/.. -I./../zlib -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./../gnulib/import -I../gnulib/import -I./.. -I.. -I./../libbacktrace/ -I../libbacktrace/ -DTUI=1 -I./.. -pthread -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=3 -Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor -Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wformat -Wformat-nonliteral -Werror -g -O2 -c -o unittests/environ-selftests.o -MT unittests/environ-selftests.o -MMD -MP -MF unittests/.deps/environ-selftests.Tpo unittests/environ-selftests.c +unittests/environ-selftests.c: In function 'void selftests::gdb_environ_tests::test_self_move()': +unittests/environ-selftests.c:228:7: error: moving 'env' of type 'gdb_environ' to itself [-Werror=self-move] + 228 | env = std::move (env); + | ~~~~^~~~~~~~~~~~~~~~~ +unittests/environ-selftests.c:228:7: note: remove 'std::move' call +cc1plus: all warnings being treated as errors +make[1]: *** [Makefile:1896: unittests/environ-selftests.o] Error 1 +make[1]: Leaving directory '/var/lib/laminar/run/gdb-m68k-linux/3/binutils-gdb/gdb' +make: *** [Makefile:13193: all-gdb] Error 2 + +diff --git a/include/diagnostics.h b/include/diagnostics.h +--- a/include/diagnostics.h ++++ b/include/diagnostics.h +@@ -79,6 +79,15 @@ + # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL \ + DIAGNOSTIC_IGNORE ("-Wformat-nonliteral") + ++# if __GNUC__ >= 5 ++# define DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE \ ++ DIAGNOSTIC_IGNORE ("-Wunused-but-set-variable") ++# endif ++ ++# if __GNUC__ >= 13 ++# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move") ++# endif ++ + /* GCC 4.8's "diagnostic push/pop" seems broken when using this, -Wswitch + remains enabled at the error level even after a pop. Therefore, don't + use it for GCC < 5. */ diff --git a/gdb.spec b/gdb.spec index 277d60a..50e1959 100644 --- a/gdb.spec +++ b/gdb.spec @@ -54,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 12%{?dist} +Release: 13%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1190,8 +1190,14 @@ fi %endif %changelog +* Fri Jan 20 2023 Kevin Buettner - 12.1-13 +- Backport fix for problems associated with GCC 13's self-move warning. + (Jan-Benedict Glaw) +- Tweak gdb-6.6-buildid-locate-rpm.patch so that running GDB's configure + script will not error out due to GCC 13's warnings. + * Thu Jan 19 2023 Alexandra Hájková - 12.1-12 -- Backport replace deprecated distutils.sysconfig in python-confiag. +- Backport replace deprecated distutils.sysconfig in python-config. (Lancelot SIX) * Thu Jan 19 2023 Fedora Release Engineering From e2df45df109b20f8623e5709ee16758b189ce2c6 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Mon, 14 Nov 2022 10:07:24 -0800 Subject: [PATCH 25/84] Backport of backtrace/29374 (Simon Marchi, sw backtrace/29374) --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...f-at-beginning-of-dwarf_expr_context.patch | 28613 ++++++++++++++++ gdb.spec | 7 +- 5 files changed, 28625 insertions(+), 1 deletion(-) create mode 100644 gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 1306748..937aeff 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -288,3 +288,7 @@ Patch068: gdb-backport-python-config-replace-deprecated-distutils.patch # warning check Patch069: gdb-gcc-13-backport-self-move-diagnostic-fix +# Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" +# (Simon Marchi, backtrace/29374) +Patch070: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 4ef8e6c..5d5a4b5 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -67,3 +67,4 @@ %patch067 -p1 %patch068 -p1 %patch069 -p1 +%patch070 -p1 \ No newline at end of file diff --git a/_patch_order b/_patch_order index 285e149..1c88718 100644 --- a/_patch_order +++ b/_patch_order @@ -67,3 +67,4 @@ gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch gdb-rhbz2152431-label-symbol-value.patch gdb-backport-python-config-replace-deprecated-distutils.patch gdb-gcc-13-backport-self-move-diagnostic-fix +gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch \ No newline at end of file diff --git a/gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch b/gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch new file mode 100644 index 0000000..4516f25 --- /dev/null +++ b/gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch @@ -0,0 +1,28613 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Simon Marchi +Date: Thu, 28 Jul 2022 01:34:22 -0400 +Subject: + gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch + +;; Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" +;; (Simon Marchi, backtrace/29374) + +gdb: call check_typedef at beginning of dwarf_expr_context::fetch_result + +Bug 29374 shows this crash: + + $ ./gdb -nx --data-directory=data-directory -q -batch -ex "catch throw" -ex r -ex bt a.out + ... + /home/simark/src/binutils-gdb/gdb/../gdbsupport/array-view.h:217: internal-error: copy: Assertion `dest.size () == src.size ()' failed. + +The backtrace is: + + #0 internal_error (file=0x5555606504c0 "/home/simark/src/binutils-gdb/gdb/../gdbsupport/array-view.h", line=217, fmt=0x55556064b700 "%s: Assertion `%s' failed.") at /home/simark/src/binutils-gdb/gdbsupport/errors.cc:51 + #1 0x000055555d41c0bb in gdb::copy (src=..., dest=...) at /home/simark/src/binutils-gdb/gdb/../gdbsupport/array-view.h:217 + #2 0x000055555deef28c in dwarf_expr_context::fetch_result (this=0x7fffffffb830, type=0x621007a86830, subobj_type=0x621007a86830, subobj_offset=0, as_lval=false) at /home/simark/src/binutils-gdb/gdb/dwarf2/expr.c:1040 + #3 0x000055555def0015 in dwarf_expr_context::evaluate (this=0x7fffffffb830, addr=0x62f00004313e "0", len=1, as_lval=false, per_cu=0x60b000069550, frame=0x621007c9e910, addr_info=0x0, type=0x621007a86830, subobj_type=0x621007a86830, subobj_offset=0) at /home/simark/src/binutils-gdb/gdb/dwarf2/expr.c:1091 + #4 0x000055555e084327 in dwarf2_evaluate_loc_desc_full (type=0x621007a86830, frame=0x621007c9e910, data=0x62f00004313e "0", size=1, per_cu=0x60b000069550, per_objfile=0x613000006080, subobj_type=0x621007a86830, subobj_byte_offset=0, as_lval=false) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1485 + #5 0x000055555e0849e2 in dwarf2_evaluate_loc_desc (type=0x621007a86830, frame=0x621007c9e910, data=0x62f00004313e "0", size=1, per_cu=0x60b000069550, per_objfile=0x613000006080, as_lval=false) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1529 + #6 0x000055555e0828c6 in dwarf_entry_parameter_to_value (parameter=0x621007a96e58, deref_size=0x0, type=0x621007a86830, caller_frame=0x621007c9e910, per_cu=0x60b000069550, per_objfile=0x613000006080) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1235 + #7 0x000055555e082f55 in value_of_dwarf_reg_entry (type=0x621007a86890, frame=0x621007acc510, kind=CALL_SITE_PARAMETER_DWARF_REG, kind_u=...) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1332 + #8 0x000055555e083449 in value_of_dwarf_block_entry (type=0x621007a86890, frame=0x621007acc510, block=0x61e000033568 "T\004\205\001\240\004\004\243\001T\237\004\240\004\261\004\001T\004\261\004\304\005\004\243\001T\237\004\304\005\310\005\001T\004\310\005\311\005\004\243\001T\237", block_len=1) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1365 + #9 0x000055555e094d40 in loclist_read_variable_at_entry (symbol=0x621007a99bd0, frame=0x621007acc510) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:3889 + #10 0x000055555f5192e0 in read_frame_arg (fp_opts=..., sym=0x621007a99bd0, frame=0x621007acc510, argp=0x7fffffffbf20, entryargp=0x7fffffffbf60) at /home/simark/src/binutils-gdb/gdb/stack.c:559 + #11 0x000055555f51c352 in print_frame_args (fp_opts=..., func=0x621007a99ad0, frame=0x621007acc510, num=-1, stream=0x6030000bad90) at /home/simark/src/binutils-gdb/gdb/stack.c:887 + #12 0x000055555f521919 in print_frame (fp_opts=..., frame=0x621007acc510, print_level=1, print_what=LOCATION, print_args=1, sal=...) at /home/simark/src/binutils-gdb/gdb/stack.c:1390 + #13 0x000055555f51f22e in print_frame_info (fp_opts=..., frame=0x621007acc510, print_level=1, print_what=LOCATION, print_args=1, set_current_sal=0) at /home/simark/src/binutils-gdb/gdb/stack.c:1116 + #14 0x000055555f526c6d in backtrace_command_1 (fp_opts=..., bt_opts=..., count_exp=0x0, from_tty=0) at /home/simark/src/binutils-gdb/gdb/stack.c:2079 + #15 0x000055555f527ae5 in backtrace_command (arg=0x0, from_tty=0) at /home/simark/src/binutils-gdb/gdb/stack.c:2198 + +The problem is that the type that gets passed down to +dwarf_expr_context::fetch_result (the type of a variable of which we're +trying to read the entry value) is a typedef whose size has never been +computed yet (check_typedef has never been called on it). As we get in +the DWARF_VALUE_STACK case (line 1028 of dwarf2/expr.c), the `len` +variable is therefore set to 0, instead of the actual type length. We +then call allocate_value on subobj_type, which does call check_typedef, +so the length of the typedef gets filled in at that point. We end up +passing to the copy function a source array view of length 0 and a +target array view of length 4, and the assertion fails. + +Fix this by calling check_typedef on both type and subobj_type at the +beginning of fetch_result. + +I tried writing a test for this using the DWARF assembler, but I haven't +succeeded. It's possible that we need to get into this specific code +path (value_of_dwarf_reg_entry and all) to manage to get to +dwarf_expr_context::fetch_result with a typedef type that has never been +resolved. In all my attempts, the typedef would always be resolved +already, so the bug wouldn't show up. + +As a fallback, I made a gdb.dwarf2 test with compiler-generated .S +files. I don't particularly like those, but I think it's better than no +test. The .cpp source code is the smallest reproducer I am able to make +from the reproducer given in the bug (thanks to Pedro for suggestions on +how to minimize it further than I had). Since I tested on both amd64 +and aarch64, I added versions of the test for these two architectures. + +Change-Id: I182733ad08e34df40d8bcc47af72c482fabf4900 +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29374 + +diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c +--- a/gdb/dwarf2/expr.c ++++ b/gdb/dwarf2/expr.c +@@ -929,6 +929,11 @@ dwarf_expr_context::fetch_result (struct type *type, struct type *subobj_type, + if (subobj_type == nullptr) + subobj_type = type; + ++ /* Ensure that, if TYPE or SUBOBJ_TYPE are typedefs, their length is filled ++ in instead of being zero. */ ++ check_typedef (type); ++ check_typedef (subobj_type); ++ + if (this->m_pieces.size () > 0) + { + ULONGEST bit_size = 0; +diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef-aarch64.S b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-aarch64.S +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-aarch64.S +@@ -0,0 +1,12885 @@ ++/* ++ Copyright 2022 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ ++/* This file was generated from entry-value-typedef.cpp on an aarch64 Ubuntu ++ 14.04 using: ++ ++ $ g++ --version ++ g++ (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.4) 4.8.4 ++ $ g++ entry-value-typedef.cpp -O1 -S -g -o entry-value-typedef-aarch64.S -std=c++11 ++*/ ++ ++ .cpu cortex-a53+fp+simd ++ .file "entry-value-typedef.cpp" ++ .text ++.Ltext0: ++ .align 2 ++ .type _ZL4funcRKi, %function ++_ZL4funcRKi: ++.LFB1299: ++ .file 1 "entry-value-typedef.cpp" ++ .loc 1 27 0 ++ .cfi_startproc ++ .cfi_personality 0x9b,DW.ref.__gxx_personality_v0 ++ .cfi_lsda 0x1b,.LLSDA1299 ++.LVL0: ++ stp x29, x30, [sp, -384]! ++ .cfi_def_cfa_offset 384 ++ .cfi_offset 29, -384 ++ .cfi_offset 30, -376 ++ add x29, sp, 0 ++ .cfi_def_cfa_register 29 ++ stp x19, x20, [sp,16] ++ .cfi_offset 19, -368 ++ .cfi_offset 20, -360 ++.LBB293: ++ .loc 1 28 0 ++ add x0, x29, 32 ++.LVL1: ++ mov w1, 16 ++.LEHB0: ++ bl _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode ++.LEHE0: ++.LVL2: ++ .loc 1 29 0 ++ mov x0, 8 ++ bl __cxa_allocate_exception ++.LVL3: ++ mov x19, x0 ++.LVL4: ++.LBB294: ++.LBB295: ++ .file 2 "/usr/include/c++/4.8/sstream" ++ .loc 2 472 0 ++ mov x8, x0 ++ add x0, x29, 40 ++.LEHB1: ++ bl _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv ++.LEHE1: ++.LVL5: ++.LBE295: ++.LBE294: ++ .loc 1 29 0 discriminator 1 ++ mov x0, x19 ++ ldr x1, .LC0 ++ adrp x2, _ZNSsD1Ev ++ add x2, x2, :lo12:_ZNSsD1Ev ++.LEHB2: ++ bl __cxa_throw ++.LEHE2: ++.LVL6: ++.L4: ++ mov x20, x0 ++ .loc 1 29 0 is_stmt 0 ++ mov x0, x19 ++ bl __cxa_free_exception ++.LVL7: ++ mov x19, x20 ++ b .L3 ++.L5: ++ mov x19, x0 ++.L3: ++ add x0, x29, 32 ++.LVL8: ++ bl _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev ++.LVL9: ++ mov x0, x19 ++.LEHB3: ++ bl _Unwind_Resume ++.LEHE3: ++.LVL10: ++.LBE293: ++ .cfi_endproc ++.LFE1299: ++ .global __gxx_personality_v0 ++ .section .gcc_except_table,"a",%progbits ++.LLSDA1299: ++ .byte 0xff ++ .byte 0xff ++ .byte 0x1 ++ .uleb128 .LLSDACSE1299-.LLSDACSB1299 ++.LLSDACSB1299: ++ .uleb128 .LEHB0-.LFB1299 ++ .uleb128 .LEHE0-.LEHB0 ++ .uleb128 0 ++ .uleb128 0 ++ .uleb128 .LEHB1-.LFB1299 ++ .uleb128 .LEHE1-.LEHB1 ++ .uleb128 .L4-.LFB1299 ++ .uleb128 0 ++ .uleb128 .LEHB2-.LFB1299 ++ .uleb128 .LEHE2-.LEHB2 ++ .uleb128 .L5-.LFB1299 ++ .uleb128 0 ++ .uleb128 .LEHB3-.LFB1299 ++ .uleb128 .LEHE3-.LEHB3 ++ .uleb128 0 ++ .uleb128 0 ++.LLSDACSE1299: ++ .text ++ .size _ZL4funcRKi, .-_ZL4funcRKi ++ .align 3 ++.LC0: ++ .xword _ZTISs ++ .align 2 ++ .global main ++ .type main, %function ++main: ++.LFB1300: ++ .loc 1 34 0 is_stmt 1 ++ .cfi_startproc ++ stp x29, x30, [sp, -32]! ++ .cfi_def_cfa_offset 32 ++ .cfi_offset 29, -32 ++ .cfi_offset 30, -24 ++ add x29, sp, 0 ++ .cfi_def_cfa_register 29 ++ .loc 1 35 0 ++ add x0, x29, 32 ++ mov w1, 1234 ++ str w1, [x0,-4]! ++ bl _ZL4funcRKi ++.LVL11: ++ .cfi_endproc ++.LFE1300: ++ .size main, .-main ++ .weak _ZTISs ++ .section .rodata._ZTISs,"aG",%progbits,_ZTISs,comdat ++ .align 3 ++ .type _ZTISs, %object ++ .size _ZTISs, 16 ++_ZTISs: ++ .xword _ZTVN10__cxxabiv117__class_type_infoE+16 ++ .xword _ZTSSs ++ .weak _ZTSSs ++ .section .rodata._ZTSSs,"aG",%progbits,_ZTSSs,comdat ++ .align 3 ++ .type _ZTSSs, %object ++ .size _ZTSSs, 3 ++_ZTSSs: ++ .string "Ss" ++ .text ++.Letext0: ++ .file 3 "/usr/include/libio.h" ++ .file 4 "/usr/include/stdio.h" ++ .file 5 "/usr/lib/gcc/aarch64-linux-gnu/4.8/include/stdarg.h" ++ .file 6 "" ++ .file 7 "/usr/lib/gcc/aarch64-linux-gnu/4.8/include/stddef.h" ++ .file 8 "/usr/include/wchar.h" ++ .file 9 "/usr/include/c++/4.8/cwchar" ++ .file 10 "/usr/include/c++/4.8/bits/exception_ptr.h" ++ .file 11 "/usr/include/aarch64-linux-gnu/c++/4.8/bits/c++config.h" ++ .file 12 "/usr/include/c++/4.8/bits/cpp_type_traits.h" ++ .file 13 "/usr/include/c++/4.8/bits/stl_pair.h" ++ .file 14 "/usr/include/c++/4.8/bits/stl_iterator_base_types.h" ++ .file 15 "/usr/include/c++/4.8/bits/char_traits.h" ++ .file 16 "/usr/include/c++/4.8/cstdint" ++ .file 17 "/usr/include/c++/4.8/clocale" ++ .file 18 "/usr/include/c++/4.8/bits/allocator.h" ++ .file 19 "/usr/include/c++/4.8/cstdlib" ++ .file 20 "/usr/include/c++/4.8/cstdio" ++ .file 21 "/usr/include/c++/4.8/bits/basic_string.h" ++ .file 22 "/usr/include/c++/4.8/bits/basic_string.tcc" ++ .file 23 "/usr/include/c++/4.8/initializer_list" ++ .file 24 "/usr/include/c++/4.8/bits/ios_base.h" ++ .file 25 "/usr/include/c++/4.8/cwctype" ++ .file 26 "/usr/include/c++/4.8/ostream" ++ .file 27 "/usr/include/c++/4.8/streambuf" ++ .file 28 "/usr/include/c++/4.8/bits/basic_ios.h" ++ .file 29 "/usr/include/c++/4.8/bits/stl_iterator_base_funcs.h" ++ .file 30 "/usr/include/c++/4.8/iosfwd" ++ .file 31 "/usr/include/aarch64-linux-gnu/bits/wchar2.h" ++ .file 32 "/usr/include/time.h" ++ .file 33 "/usr/include/c++/4.8/ext/new_allocator.h" ++ .file 34 "/usr/include/c++/4.8/ext/numeric_traits.h" ++ .file 35 "/usr/include/c++/4.8/bits/stl_iterator.h" ++ .file 36 "/usr/include/c++/4.8/ext/atomicity.h" ++ .file 37 "/usr/include/c++/4.8/debug/debug.h" ++ .file 38 "/usr/include/stdint.h" ++ .file 39 "/usr/include/locale.h" ++ .file 40 "/usr/include/aarch64-linux-gnu/bits/types.h" ++ .file 41 "/usr/include/aarch64-linux-gnu/c++/4.8/bits/atomic_word.h" ++ .file 42 "/usr/include/stdlib.h" ++ .file 43 "/usr/include/aarch64-linux-gnu/bits/stdlib-float.h" ++ .file 44 "/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h" ++ .file 45 "/usr/include/aarch64-linux-gnu/bits/stdlib.h" ++ .file 46 "/usr/include/c++/4.8/ext/type_traits.h" ++ .file 47 "/usr/include/_G_config.h" ++ .file 48 "/usr/include/aarch64-linux-gnu/bits/stdio2.h" ++ .file 49 "/usr/include/aarch64-linux-gnu/bits/stdio.h" ++ .file 50 "/usr/include/wctype.h" ++ .file 51 "/usr/include/aarch64-linux-gnu/c++/4.8/bits/gthr-default.h" ++ .section .debug_info,"",%progbits ++.Ldebug_info0: ++ .4byte 0x51c9 ++ .2byte 0x4 ++ .4byte .Ldebug_abbrev0 ++ .byte 0x8 ++ .uleb128 0x1 ++ .4byte .LASF804 ++ .byte 0x4 ++ .4byte .LASF805 ++ .4byte .LASF806 ++ .8byte .Ltext0 ++ .8byte .Letext0-.Ltext0 ++ .4byte .Ldebug_line0 ++ .uleb128 0x2 ++ .4byte .LASF29 ++ .byte 0x4 ++ .byte 0x30 ++ .4byte 0x38 ++ .uleb128 0x3 ++ .4byte .LASF32 ++ .byte 0xd8 ++ .byte 0x3 ++ .byte 0xf5 ++ .4byte 0x1b8 ++ .uleb128 0x4 ++ .4byte .LASF0 ++ .byte 0x3 ++ .byte 0xf6 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF1 ++ .byte 0x3 ++ .byte 0xfb ++ .4byte 0x300d ++ .byte 0x8 ++ .uleb128 0x4 ++ .4byte .LASF2 ++ .byte 0x3 ++ .byte 0xfc ++ .4byte 0x300d ++ .byte 0x10 ++ .uleb128 0x4 ++ .4byte .LASF3 ++ .byte 0x3 ++ .byte 0xfd ++ .4byte 0x300d ++ .byte 0x18 ++ .uleb128 0x4 ++ .4byte .LASF4 ++ .byte 0x3 ++ .byte 0xfe ++ .4byte 0x300d ++ .byte 0x20 ++ .uleb128 0x4 ++ .4byte .LASF5 ++ .byte 0x3 ++ .byte 0xff ++ .4byte 0x300d ++ .byte 0x28 ++ .uleb128 0x5 ++ .4byte .LASF6 ++ .byte 0x3 ++ .2byte 0x100 ++ .4byte 0x300d ++ .byte 0x30 ++ .uleb128 0x5 ++ .4byte .LASF7 ++ .byte 0x3 ++ .2byte 0x101 ++ .4byte 0x300d ++ .byte 0x38 ++ .uleb128 0x5 ++ .4byte .LASF8 ++ .byte 0x3 ++ .2byte 0x102 ++ .4byte 0x300d ++ .byte 0x40 ++ .uleb128 0x5 ++ .4byte .LASF9 ++ .byte 0x3 ++ .2byte 0x104 ++ .4byte 0x300d ++ .byte 0x48 ++ .uleb128 0x5 ++ .4byte .LASF10 ++ .byte 0x3 ++ .2byte 0x105 ++ .4byte 0x300d ++ .byte 0x50 ++ .uleb128 0x5 ++ .4byte .LASF11 ++ .byte 0x3 ++ .2byte 0x106 ++ .4byte 0x300d ++ .byte 0x58 ++ .uleb128 0x5 ++ .4byte .LASF12 ++ .byte 0x3 ++ .2byte 0x108 ++ .4byte 0x44d9 ++ .byte 0x60 ++ .uleb128 0x5 ++ .4byte .LASF13 ++ .byte 0x3 ++ .2byte 0x10a ++ .4byte 0x44df ++ .byte 0x68 ++ .uleb128 0x5 ++ .4byte .LASF14 ++ .byte 0x3 ++ .2byte 0x10c ++ .4byte 0x20f ++ .byte 0x70 ++ .uleb128 0x5 ++ .4byte .LASF15 ++ .byte 0x3 ++ .2byte 0x110 ++ .4byte 0x20f ++ .byte 0x74 ++ .uleb128 0x5 ++ .4byte .LASF16 ++ .byte 0x3 ++ .2byte 0x112 ++ .4byte 0x4070 ++ .byte 0x78 ++ .uleb128 0x5 ++ .4byte .LASF17 ++ .byte 0x3 ++ .2byte 0x116 ++ .4byte 0x2b3 ++ .byte 0x80 ++ .uleb128 0x5 ++ .4byte .LASF18 ++ .byte 0x3 ++ .2byte 0x117 ++ .4byte 0x3d82 ++ .byte 0x82 ++ .uleb128 0x5 ++ .4byte .LASF19 ++ .byte 0x3 ++ .2byte 0x118 ++ .4byte 0x44e5 ++ .byte 0x83 ++ .uleb128 0x5 ++ .4byte .LASF20 ++ .byte 0x3 ++ .2byte 0x11c ++ .4byte 0x44f5 ++ .byte 0x88 ++ .uleb128 0x5 ++ .4byte .LASF21 ++ .byte 0x3 ++ .2byte 0x125 ++ .4byte 0x407b ++ .byte 0x90 ++ .uleb128 0x5 ++ .4byte .LASF22 ++ .byte 0x3 ++ .2byte 0x12e ++ .4byte 0x20d ++ .byte 0x98 ++ .uleb128 0x5 ++ .4byte .LASF23 ++ .byte 0x3 ++ .2byte 0x12f ++ .4byte 0x20d ++ .byte 0xa0 ++ .uleb128 0x5 ++ .4byte .LASF24 ++ .byte 0x3 ++ .2byte 0x130 ++ .4byte 0x20d ++ .byte 0xa8 ++ .uleb128 0x5 ++ .4byte .LASF25 ++ .byte 0x3 ++ .2byte 0x131 ++ .4byte 0x20d ++ .byte 0xb0 ++ .uleb128 0x5 ++ .4byte .LASF26 ++ .byte 0x3 ++ .2byte 0x132 ++ .4byte 0x216 ++ .byte 0xb8 ++ .uleb128 0x5 ++ .4byte .LASF27 ++ .byte 0x3 ++ .2byte 0x134 ++ .4byte 0x20f ++ .byte 0xc0 ++ .uleb128 0x5 ++ .4byte .LASF28 ++ .byte 0x3 ++ .2byte 0x136 ++ .4byte 0x44fb ++ .byte 0xc4 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF30 ++ .byte 0x4 ++ .byte 0x40 ++ .4byte 0x38 ++ .uleb128 0x2 ++ .4byte .LASF31 ++ .byte 0x5 ++ .byte 0x28 ++ .4byte 0x1ce ++ .uleb128 0x3 ++ .4byte .LASF33 ++ .byte 0x20 ++ .byte 0x6 ++ .byte 0 ++ .4byte 0x20d ++ .uleb128 0x6 ++ .4byte .LASF34 ++ .4byte 0x20d ++ .byte 0 ++ .uleb128 0x6 ++ .4byte .LASF35 ++ .4byte 0x20d ++ .byte 0x8 ++ .uleb128 0x6 ++ .4byte .LASF36 ++ .4byte 0x20d ++ .byte 0x10 ++ .uleb128 0x6 ++ .4byte .LASF37 ++ .4byte 0x20f ++ .byte 0x18 ++ .uleb128 0x6 ++ .4byte .LASF38 ++ .4byte 0x20f ++ .byte 0x1c ++ .byte 0 ++ .uleb128 0x7 ++ .byte 0x8 ++ .uleb128 0x8 ++ .byte 0x4 ++ .byte 0x5 ++ .string "int" ++ .uleb128 0x2 ++ .4byte .LASF39 ++ .byte 0x7 ++ .byte 0xd4 ++ .4byte 0x221 ++ .uleb128 0x9 ++ .byte 0x8 ++ .byte 0x7 ++ .4byte .LASF40 ++ .uleb128 0xa ++ .4byte .LASF41 ++ .byte 0x7 ++ .2byte 0x161 ++ .4byte 0x234 ++ .uleb128 0x9 ++ .byte 0x4 ++ .byte 0x7 ++ .4byte .LASF42 ++ .uleb128 0xb ++ .byte 0x8 ++ .byte 0x8 ++ .byte 0x53 ++ .4byte .LASF683 ++ .4byte 0x27f ++ .uleb128 0xc ++ .byte 0x4 ++ .byte 0x8 ++ .byte 0x56 ++ .4byte 0x266 ++ .uleb128 0xd ++ .4byte .LASF43 ++ .byte 0x8 ++ .byte 0x58 ++ .4byte 0x234 ++ .uleb128 0xd ++ .4byte .LASF44 ++ .byte 0x8 ++ .byte 0x5c ++ .4byte 0x27f ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF45 ++ .byte 0x8 ++ .byte 0x54 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF46 ++ .byte 0x8 ++ .byte 0x5d ++ .4byte 0x247 ++ .byte 0x4 ++ .byte 0 ++ .uleb128 0xe ++ .4byte 0x296 ++ .4byte 0x28f ++ .uleb128 0xf ++ .4byte 0x28f ++ .byte 0x3 ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x8 ++ .byte 0x7 ++ .4byte .LASF47 ++ .uleb128 0x9 ++ .byte 0x1 ++ .byte 0x8 ++ .4byte .LASF48 ++ .uleb128 0x2 ++ .4byte .LASF49 ++ .byte 0x8 ++ .byte 0x5e ++ .4byte 0x23b ++ .uleb128 0x2 ++ .4byte .LASF50 ++ .byte 0x8 ++ .byte 0x6a ++ .4byte 0x29d ++ .uleb128 0x9 ++ .byte 0x2 ++ .byte 0x7 ++ .4byte .LASF51 ++ .uleb128 0x10 ++ .4byte 0x20f ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2c5 ++ .uleb128 0x10 ++ .4byte 0x296 ++ .uleb128 0x12 ++ .string "std" ++ .byte 0x6 ++ .byte 0 ++ .4byte 0x2cfd ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x40 ++ .4byte 0x2a8 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x8b ++ .4byte 0x228 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x8d ++ .4byte 0x2cfd ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x8e ++ .4byte 0x2d13 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x8f ++ .4byte 0x2d2f ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x90 ++ .4byte 0x2d5c ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x91 ++ .4byte 0x2d77 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x92 ++ .4byte 0x2d9d ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x93 ++ .4byte 0x2db8 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x94 ++ .4byte 0x2dd4 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x95 ++ .4byte 0x2df0 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x96 ++ .4byte 0x2e06 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x97 ++ .4byte 0x2e12 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x98 ++ .4byte 0x2e38 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x99 ++ .4byte 0x2e5d ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x9a ++ .4byte 0x2e7e ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x9b ++ .4byte 0x2ea9 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x9c ++ .4byte 0x2ec4 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0x9e ++ .4byte 0x2eda ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xa0 ++ .4byte 0x2efb ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xa1 ++ .4byte 0x2f17 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xa2 ++ .4byte 0x2f32 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xa4 ++ .4byte 0x2f52 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xa7 ++ .4byte 0x2f72 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xaa ++ .4byte 0x2f97 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xac ++ .4byte 0x2fb7 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xae ++ .4byte 0x2fd2 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb0 ++ .4byte 0x2fed ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb1 ++ .4byte 0x3013 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb2 ++ .4byte 0x302d ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb3 ++ .4byte 0x3047 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb4 ++ .4byte 0x3061 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb5 ++ .4byte 0x307b ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb6 ++ .4byte 0x3095 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb7 ++ .4byte 0x3155 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb8 ++ .4byte 0x316b ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xb9 ++ .4byte 0x318b ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xba ++ .4byte 0x31aa ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xbb ++ .4byte 0x31c9 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xbc ++ .4byte 0x31f4 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xbd ++ .4byte 0x320f ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xbf ++ .4byte 0x3237 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc1 ++ .4byte 0x3259 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc2 ++ .4byte 0x3279 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc3 ++ .4byte 0x32a0 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc4 ++ .4byte 0x32c0 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc5 ++ .4byte 0x32df ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc6 ++ .4byte 0x32f5 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc7 ++ .4byte 0x3315 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc8 ++ .4byte 0x3334 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xc9 ++ .4byte 0x3353 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xca ++ .4byte 0x3372 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xcb ++ .4byte 0x3389 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xcc ++ .4byte 0x33a0 ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xcd ++ .4byte 0x33be ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xce ++ .4byte 0x33dd ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xcf ++ .4byte 0x33fb ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xd0 ++ .4byte 0x341a ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x108 ++ .4byte 0x3cdb ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x109 ++ .4byte 0x3cfd ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x10a ++ .4byte 0x3d24 ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x118 ++ .4byte 0x3237 ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x11b ++ .4byte 0x2f52 ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x11e ++ .4byte 0x2f97 ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x121 ++ .4byte 0x2fd2 ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x125 ++ .4byte 0x3cdb ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x126 ++ .4byte 0x3cfd ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x127 ++ .4byte 0x3d24 ++ .uleb128 0x15 ++ .4byte .LASF52 ++ .byte 0xa ++ .byte 0x36 ++ .4byte 0x66d ++ .uleb128 0x16 ++ .4byte .LASF54 ++ .byte 0x8 ++ .byte 0xa ++ .byte 0x4b ++ .4byte 0x667 ++ .uleb128 0x4 ++ .4byte .LASF53 ++ .byte 0xa ++ .byte 0x4d ++ .4byte 0x20d ++ .byte 0 ++ .uleb128 0x17 ++ .4byte .LASF54 ++ .byte 0xa ++ .byte 0x4f ++ .4byte 0x4ed ++ .4byte 0x4f8 ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x20d ++ .byte 0 ++ .uleb128 0x1a ++ .4byte .LASF55 ++ .byte 0xa ++ .byte 0x51 ++ .4byte .LASF57 ++ .4byte 0x50b ++ .4byte 0x511 ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .byte 0 ++ .uleb128 0x1a ++ .4byte .LASF56 ++ .byte 0xa ++ .byte 0x52 ++ .4byte .LASF58 ++ .4byte 0x524 ++ .4byte 0x52a ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .byte 0 ++ .uleb128 0x1b ++ .4byte .LASF63 ++ .byte 0xa ++ .byte 0x54 ++ .4byte .LASF65 ++ .4byte 0x20d ++ .4byte 0x541 ++ .4byte 0x547 ++ .uleb128 0x18 ++ .4byte 0x3d51 ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF54 ++ .byte 0xa ++ .byte 0x5a ++ .byte 0x1 ++ .4byte 0x557 ++ .4byte 0x55d ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF54 ++ .byte 0xa ++ .byte 0x5c ++ .byte 0x1 ++ .4byte 0x56d ++ .4byte 0x578 ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x3d57 ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF54 ++ .byte 0xa ++ .byte 0x5f ++ .byte 0x1 ++ .4byte 0x588 ++ .4byte 0x593 ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x674 ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF54 ++ .byte 0xa ++ .byte 0x63 ++ .byte 0x1 ++ .4byte 0x5a3 ++ .4byte 0x5ae ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x3d62 ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF59 ++ .byte 0xa ++ .byte 0x70 ++ .4byte .LASF60 ++ .4byte 0x3d68 ++ .byte 0x1 ++ .4byte 0x5c6 ++ .4byte 0x5d1 ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x3d57 ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF59 ++ .byte 0xa ++ .byte 0x74 ++ .4byte .LASF61 ++ .4byte 0x3d68 ++ .byte 0x1 ++ .4byte 0x5e9 ++ .4byte 0x5f4 ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x3d62 ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF62 ++ .byte 0xa ++ .byte 0x7b ++ .byte 0x1 ++ .4byte 0x604 ++ .4byte 0x60f ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x1e ++ .4byte .LASF64 ++ .byte 0xa ++ .byte 0x7e ++ .4byte .LASF66 ++ .byte 0x1 ++ .4byte 0x623 ++ .4byte 0x62e ++ .uleb128 0x18 ++ .4byte 0x3d4b ++ .uleb128 0x19 ++ .4byte 0x3d68 ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF67 ++ .byte 0xa ++ .byte 0x8a ++ .4byte .LASF68 ++ .4byte 0x3d6e ++ .byte 0x1 ++ .4byte 0x646 ++ .4byte 0x64c ++ .uleb128 0x18 ++ .4byte 0x3d51 ++ .byte 0 ++ .uleb128 0x1f ++ .4byte .LASF69 ++ .byte 0xa ++ .byte 0x93 ++ .4byte .LASF70 ++ .4byte 0x3d75 ++ .byte 0x1 ++ .4byte 0x660 ++ .uleb128 0x18 ++ .4byte 0x3d51 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x4c6 ++ .byte 0 ++ .uleb128 0x13 ++ .byte 0xa ++ .byte 0x3a ++ .4byte 0x4c6 ++ .uleb128 0x2 ++ .4byte .LASF71 ++ .byte 0xb ++ .byte 0xbe ++ .4byte 0x3d5d ++ .uleb128 0x20 ++ .4byte .LASF355 ++ .uleb128 0x10 ++ .4byte 0x67f ++ .uleb128 0x21 ++ .4byte .LASF72 ++ .byte 0x1 ++ .byte 0xc ++ .byte 0x53 ++ .uleb128 0x21 ++ .4byte .LASF73 ++ .byte 0x1 ++ .byte 0xd ++ .byte 0x4c ++ .uleb128 0x21 ++ .4byte .LASF74 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0x59 ++ .uleb128 0x3 ++ .4byte .LASF75 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0x5f ++ .4byte 0x6b4 ++ .uleb128 0x22 ++ .4byte 0x699 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF76 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0x63 ++ .4byte 0x6c7 ++ .uleb128 0x22 ++ .4byte 0x6a1 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF77 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0x67 ++ .4byte 0x6da ++ .uleb128 0x22 ++ .4byte 0x6b4 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x23 ++ .4byte .LASF807 ++ .byte 0x25 ++ .byte 0x30 ++ .uleb128 0x3 ++ .4byte .LASF78 ++ .byte 0x1 ++ .byte 0xf ++ .byte 0xe9 ++ .4byte 0x8a8 ++ .uleb128 0x2 ++ .4byte .LASF79 ++ .byte 0xf ++ .byte 0xeb ++ .4byte 0x296 ++ .uleb128 0x2 ++ .4byte .LASF80 ++ .byte 0xf ++ .byte 0xec ++ .4byte 0x20f ++ .uleb128 0x24 ++ .4byte .LASF93 ++ .byte 0xf ++ .byte 0xf2 ++ .4byte .LASF808 ++ .4byte 0x71d ++ .uleb128 0x19 ++ .4byte 0x3dad ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x6ed ++ .uleb128 0x25 ++ .string "eq" ++ .byte 0xf ++ .byte 0xf6 ++ .4byte .LASF81 ++ .4byte 0x3d6e ++ .4byte 0x73f ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .byte 0 ++ .uleb128 0x25 ++ .string "lt" ++ .byte 0xf ++ .byte 0xfa ++ .4byte .LASF82 ++ .4byte 0x3d6e ++ .4byte 0x75c ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .byte 0 ++ .uleb128 0x26 ++ .4byte .LASF83 ++ .byte 0xf ++ .byte 0xfe ++ .4byte .LASF84 ++ .4byte 0x20f ++ .4byte 0x77f ++ .uleb128 0x19 ++ .4byte 0x3db9 ++ .uleb128 0x19 ++ .4byte 0x3db9 ++ .uleb128 0x19 ++ .4byte 0x8a8 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF85 ++ .byte 0xf ++ .2byte 0x102 ++ .4byte .LASF87 ++ .4byte 0x8a8 ++ .4byte 0x799 ++ .uleb128 0x19 ++ .4byte 0x3db9 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF86 ++ .byte 0xf ++ .2byte 0x106 ++ .4byte .LASF88 ++ .4byte 0x3db9 ++ .4byte 0x7bd ++ .uleb128 0x19 ++ .4byte 0x3db9 ++ .uleb128 0x19 ++ .4byte 0x8a8 ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF89 ++ .byte 0xf ++ .2byte 0x10a ++ .4byte .LASF90 ++ .4byte 0x3dbf ++ .4byte 0x7e1 ++ .uleb128 0x19 ++ .4byte 0x3dbf ++ .uleb128 0x19 ++ .4byte 0x3db9 ++ .uleb128 0x19 ++ .4byte 0x8a8 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF91 ++ .byte 0xf ++ .2byte 0x10e ++ .4byte .LASF92 ++ .4byte 0x3dbf ++ .4byte 0x805 ++ .uleb128 0x19 ++ .4byte 0x3dbf ++ .uleb128 0x19 ++ .4byte 0x3db9 ++ .uleb128 0x19 ++ .4byte 0x8a8 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF93 ++ .byte 0xf ++ .2byte 0x112 ++ .4byte .LASF94 ++ .4byte 0x3dbf ++ .4byte 0x829 ++ .uleb128 0x19 ++ .4byte 0x3dbf ++ .uleb128 0x19 ++ .4byte 0x8a8 ++ .uleb128 0x19 ++ .4byte 0x6ed ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF95 ++ .byte 0xf ++ .2byte 0x116 ++ .4byte .LASF96 ++ .4byte 0x6ed ++ .4byte 0x843 ++ .uleb128 0x19 ++ .4byte 0x3dc5 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x6f8 ++ .uleb128 0x27 ++ .4byte .LASF97 ++ .byte 0xf ++ .2byte 0x11c ++ .4byte .LASF98 ++ .4byte 0x6f8 ++ .4byte 0x862 ++ .uleb128 0x19 ++ .4byte 0x3db3 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF99 ++ .byte 0xf ++ .2byte 0x120 ++ .4byte .LASF100 ++ .4byte 0x3d6e ++ .4byte 0x881 ++ .uleb128 0x19 ++ .4byte 0x3dc5 ++ .uleb128 0x19 ++ .4byte 0x3dc5 ++ .byte 0 ++ .uleb128 0x28 ++ .string "eof" ++ .byte 0xf ++ .2byte 0x124 ++ .4byte .LASF809 ++ .4byte 0x6f8 ++ .uleb128 0x29 ++ .4byte .LASF101 ++ .byte 0xf ++ .2byte 0x128 ++ .4byte .LASF171 ++ .4byte 0x6f8 ++ .uleb128 0x19 ++ .4byte 0x3dc5 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF39 ++ .byte 0xb ++ .byte 0xba ++ .4byte 0x221 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x30 ++ .4byte 0x3dcb ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x31 ++ .4byte 0x3dd6 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x32 ++ .4byte 0x3de1 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x33 ++ .4byte 0x3dec ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x35 ++ .4byte 0x3e7b ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x36 ++ .4byte 0x3e86 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x37 ++ .4byte 0x3e91 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x38 ++ .4byte 0x3e9c ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x3a ++ .4byte 0x3e23 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x3b ++ .4byte 0x3e2e ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x3c ++ .4byte 0x3e39 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x3d ++ .4byte 0x3e44 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x3f ++ .4byte 0x3ee9 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x40 ++ .4byte 0x3ed3 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x42 ++ .4byte 0x3df7 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x43 ++ .4byte 0x3e02 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x44 ++ .4byte 0x3e0d ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x45 ++ .4byte 0x3e18 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x47 ++ .4byte 0x3ea7 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x48 ++ .4byte 0x3eb2 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x49 ++ .4byte 0x3ebd ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x4a ++ .4byte 0x3ec8 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x4c ++ .4byte 0x3e4f ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x4d ++ .4byte 0x3e5a ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x4e ++ .4byte 0x3e65 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x4f ++ .4byte 0x3e70 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x51 ++ .4byte 0x3ef4 ++ .uleb128 0x13 ++ .byte 0x10 ++ .byte 0x52 ++ .4byte 0x3ede ++ .uleb128 0x13 ++ .byte 0x11 ++ .byte 0x35 ++ .4byte 0x3f0d ++ .uleb128 0x13 ++ .byte 0x11 ++ .byte 0x36 ++ .4byte 0x403a ++ .uleb128 0x13 ++ .byte 0x11 ++ .byte 0x37 ++ .4byte 0x4054 ++ .uleb128 0x2 ++ .4byte .LASF102 ++ .byte 0xb ++ .byte 0xbb ++ .4byte 0x3299 ++ .uleb128 0x16 ++ .4byte .LASF103 ++ .byte 0x1 ++ .byte 0x12 ++ .byte 0x5c ++ .4byte 0xa17 ++ .uleb128 0x2a ++ .4byte 0x346e ++ .byte 0 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF104 ++ .byte 0x12 ++ .byte 0x5f ++ .4byte 0x8a8 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF105 ++ .byte 0x12 ++ .byte 0x63 ++ .4byte 0x40a9 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF106 ++ .byte 0x12 ++ .byte 0x64 ++ .4byte 0x40af ++ .byte 0x1 ++ .uleb128 0x1c ++ .4byte .LASF107 ++ .byte 0x12 ++ .byte 0x71 ++ .byte 0x1 ++ .4byte 0x9de ++ .4byte 0x9e4 ++ .uleb128 0x18 ++ .4byte 0x40c7 ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF107 ++ .byte 0x12 ++ .byte 0x73 ++ .byte 0x1 ++ .4byte 0x9f4 ++ .4byte 0x9ff ++ .uleb128 0x18 ++ .4byte 0x40c7 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x2c ++ .4byte .LASF108 ++ .byte 0x12 ++ .byte 0x79 ++ .byte 0x1 ++ .4byte 0xa0b ++ .uleb128 0x18 ++ .4byte 0x40c7 ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x997 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x76 ++ .4byte 0x40f8 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x77 ++ .4byte 0x4128 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x7b ++ .4byte 0x4189 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x7e ++ .4byte 0x41a6 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x81 ++ .4byte 0x41c0 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x82 ++ .4byte 0x41d5 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x83 ++ .4byte 0x41eb ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x84 ++ .4byte 0x4201 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x86 ++ .4byte 0x422a ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x89 ++ .4byte 0x4245 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x8b ++ .4byte 0x425b ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x8e ++ .4byte 0x4276 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x8f ++ .4byte 0x4291 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x90 ++ .4byte 0x42b0 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x92 ++ .4byte 0x42d0 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x95 ++ .4byte 0x42f1 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x98 ++ .4byte 0x4303 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x9a ++ .4byte 0x430f ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x9b ++ .4byte 0x4321 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x9c ++ .4byte 0x4341 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x9d ++ .4byte 0x4360 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0x9e ++ .4byte 0x437f ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xa0 ++ .4byte 0x4395 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xa1 ++ .4byte 0x43b4 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xf1 ++ .4byte 0x4158 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xf6 ++ .4byte 0x3634 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xf7 ++ .4byte 0x43ce ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xf9 ++ .4byte 0x43e9 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xfa ++ .4byte 0x443d ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xfb ++ .4byte 0x43ff ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xfc ++ .4byte 0x441e ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xfd ++ .4byte 0x4457 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x60 ++ .4byte 0x2d ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x61 ++ .4byte 0x450b ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x63 ++ .4byte 0x4516 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x64 ++ .4byte 0x452e ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x65 ++ .4byte 0x4543 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x66 ++ .4byte 0x4559 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x67 ++ .4byte 0x456f ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x68 ++ .4byte 0x4584 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x69 ++ .4byte 0x459a ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x6a ++ .4byte 0x45bb ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x6b ++ .4byte 0x45da ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x6f ++ .4byte 0x45f5 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x70 ++ .4byte 0x461a ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x72 ++ .4byte 0x463a ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x73 ++ .4byte 0x465a ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x74 ++ .4byte 0x4680 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x76 ++ .4byte 0x4696 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x77 ++ .4byte 0x46ac ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x78 ++ .4byte 0x46b7 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x79 ++ .4byte 0x46cd ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x7e ++ .4byte 0x46df ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x7f ++ .4byte 0x46f4 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x80 ++ .4byte 0x470e ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x82 ++ .4byte 0x4720 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x83 ++ .4byte 0x4737 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x86 ++ .4byte 0x475c ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x87 ++ .4byte 0x4767 ++ .uleb128 0x13 ++ .byte 0x14 ++ .byte 0x88 ++ .4byte 0x477c ++ .uleb128 0x16 ++ .4byte .LASF109 ++ .byte 0x8 ++ .byte 0x15 ++ .byte 0x70 ++ .4byte 0x2547 ++ .uleb128 0x2d ++ .4byte .LASF110 ++ .byte 0x8 ++ .byte 0x15 ++ .2byte 0x110 ++ .4byte 0xc21 ++ .uleb128 0x22 ++ .4byte 0x997 ++ .byte 0 ++ .uleb128 0x5 ++ .4byte .LASF111 ++ .byte 0x15 ++ .2byte 0x115 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x2e ++ .4byte .LASF110 ++ .byte 0x15 ++ .2byte 0x112 ++ .4byte 0xbfc ++ .4byte 0xc0c ++ .uleb128 0x18 ++ .4byte 0x4797 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x2f ++ .4byte .LASF800 ++ .4byte 0xc15 ++ .uleb128 0x18 ++ .4byte 0x4797 ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2b ++ .4byte .LASF104 ++ .byte 0x15 ++ .byte 0x79 ++ .4byte 0x9aa ++ .byte 0x1 ++ .uleb128 0x30 ++ .4byte .LASF810 ++ .byte 0x15 ++ .2byte 0x11d ++ .4byte 0xc3a ++ .byte 0x1 ++ .uleb128 0x10 ++ .4byte 0xc21 ++ .uleb128 0x5 ++ .4byte .LASF112 ++ .byte 0x15 ++ .2byte 0x121 ++ .4byte 0xbcc ++ .byte 0 ++ .uleb128 0x2b ++ .4byte .LASF113 ++ .byte 0x15 ++ .byte 0x78 ++ .4byte 0x997 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF105 ++ .byte 0x15 ++ .byte 0x7b ++ .4byte 0x9b6 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF106 ++ .byte 0x15 ++ .byte 0x7c ++ .4byte 0x9c2 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF114 ++ .byte 0x15 ++ .byte 0x7f ++ .4byte 0x3652 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF115 ++ .byte 0x15 ++ .byte 0x81 ++ .4byte 0x3876 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF116 ++ .byte 0x15 ++ .byte 0x82 ++ .4byte 0x2547 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF117 ++ .byte 0x15 ++ .byte 0x83 ++ .4byte 0x254c ++ .byte 0x1 ++ .uleb128 0x3 ++ .4byte .LASF118 ++ .byte 0x18 ++ .byte 0x15 ++ .byte 0x94 ++ .4byte 0xcd1 ++ .uleb128 0x4 ++ .4byte .LASF119 ++ .byte 0x15 ++ .byte 0x96 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF120 ++ .byte 0x15 ++ .byte 0x97 ++ .4byte 0xc21 ++ .byte 0x8 ++ .uleb128 0x4 ++ .4byte .LASF121 ++ .byte 0x15 ++ .byte 0x98 ++ .4byte 0x4097 ++ .byte 0x10 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF122 ++ .byte 0x18 ++ .byte 0x15 ++ .byte 0x9b ++ .4byte 0xe85 ++ .uleb128 0x22 ++ .4byte 0xca0 ++ .byte 0 ++ .uleb128 0x31 ++ .4byte .LASF123 ++ .byte 0x16 ++ .byte 0x32 ++ .4byte 0xc3a ++ .uleb128 0x31 ++ .4byte .LASF124 ++ .byte 0x16 ++ .byte 0x37 ++ .4byte 0x2c5 ++ .uleb128 0x31 ++ .4byte .LASF125 ++ .byte 0x16 ++ .byte 0x42 ++ .4byte 0x47d3 ++ .uleb128 0x32 ++ .4byte .LASF126 ++ .byte 0x15 ++ .byte 0xb5 ++ .4byte .LASF811 ++ .4byte 0x47af ++ .uleb128 0x1b ++ .4byte .LASF127 ++ .byte 0x15 ++ .byte 0xbf ++ .4byte .LASF128 ++ .4byte 0x3d6e ++ .4byte 0xd2a ++ .4byte 0xd30 ++ .uleb128 0x18 ++ .4byte 0x47de ++ .byte 0 ++ .uleb128 0x1b ++ .4byte .LASF129 ++ .byte 0x15 ++ .byte 0xc3 ++ .4byte .LASF130 ++ .4byte 0x3d6e ++ .4byte 0xd47 ++ .4byte 0xd4d ++ .uleb128 0x18 ++ .4byte 0x47de ++ .byte 0 ++ .uleb128 0x1a ++ .4byte .LASF131 ++ .byte 0x15 ++ .byte 0xc7 ++ .4byte .LASF132 ++ .4byte 0xd60 ++ .4byte 0xd66 ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .byte 0 ++ .uleb128 0x1a ++ .4byte .LASF133 ++ .byte 0x15 ++ .byte 0xcb ++ .4byte .LASF134 ++ .4byte 0xd79 ++ .4byte 0xd7f ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .byte 0 ++ .uleb128 0x1a ++ .4byte .LASF135 ++ .byte 0x15 ++ .byte 0xcf ++ .4byte .LASF136 ++ .4byte 0xd92 ++ .4byte 0xd9d ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x1b ++ .4byte .LASF137 ++ .byte 0x15 ++ .byte 0xde ++ .4byte .LASF138 ++ .4byte 0x300d ++ .4byte 0xdb4 ++ .4byte 0xdba ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .byte 0 ++ .uleb128 0x1b ++ .4byte .LASF139 ++ .byte 0x15 ++ .byte 0xe2 ++ .4byte .LASF140 ++ .4byte 0x300d ++ .4byte 0xdd1 ++ .4byte 0xde1 ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF141 ++ .byte 0x16 ++ .2byte 0x221 ++ .4byte .LASF142 ++ .4byte 0x47a9 ++ .4byte 0xe05 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x1a ++ .4byte .LASF143 ++ .byte 0x15 ++ .byte 0xed ++ .4byte .LASF144 ++ .4byte 0xe18 ++ .4byte 0xe23 ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x33 ++ .4byte .LASF145 ++ .byte 0x16 ++ .2byte 0x1bc ++ .4byte .LASF146 ++ .4byte 0xe37 ++ .4byte 0xe42 ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF147 ++ .byte 0x15 ++ .2byte 0x102 ++ .4byte .LASF151 ++ .4byte 0x300d ++ .4byte 0xe5a ++ .4byte 0xe60 ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .byte 0 ++ .uleb128 0x35 ++ .4byte .LASF148 ++ .byte 0x16 ++ .2byte 0x26f ++ .4byte .LASF149 ++ .4byte 0x300d ++ .4byte 0xe74 ++ .uleb128 0x18 ++ .4byte 0x47a9 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF150 ++ .byte 0x15 ++ .2byte 0x124 ++ .4byte .LASF152 ++ .4byte 0x300d ++ .4byte 0xe9d ++ .4byte 0xea3 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF150 ++ .byte 0x15 ++ .2byte 0x128 ++ .4byte .LASF153 ++ .4byte 0x300d ++ .4byte 0xebb ++ .4byte 0xec6 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF154 ++ .byte 0x15 ++ .2byte 0x12c ++ .4byte .LASF155 ++ .4byte 0x47a9 ++ .4byte 0xede ++ .4byte 0xee4 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF156 ++ .byte 0x15 ++ .2byte 0x132 ++ .4byte .LASF157 ++ .4byte 0xc70 ++ .4byte 0xefc ++ .4byte 0xf02 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF158 ++ .byte 0x15 ++ .2byte 0x136 ++ .4byte .LASF159 ++ .4byte 0xc70 ++ .4byte 0xf1a ++ .4byte 0xf20 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x33 ++ .4byte .LASF160 ++ .byte 0x15 ++ .2byte 0x13a ++ .4byte .LASF161 ++ .4byte 0xf34 ++ .4byte 0xf3a ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF162 ++ .byte 0x15 ++ .2byte 0x141 ++ .4byte .LASF163 ++ .4byte 0xc21 ++ .4byte 0xf52 ++ .4byte 0xf62 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x33 ++ .4byte .LASF164 ++ .byte 0x15 ++ .2byte 0x149 ++ .4byte .LASF165 ++ .4byte 0xf76 ++ .4byte 0xf8b ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF166 ++ .byte 0x15 ++ .2byte 0x151 ++ .4byte .LASF167 ++ .4byte 0xc21 ++ .4byte 0xfa3 ++ .4byte 0xfb3 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF168 ++ .byte 0x15 ++ .2byte 0x159 ++ .4byte .LASF169 ++ .4byte 0x3d6e ++ .4byte 0xfcb ++ .4byte 0xfd6 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF170 ++ .byte 0x15 ++ .2byte 0x162 ++ .4byte .LASF172 ++ .4byte 0xff6 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF173 ++ .byte 0x15 ++ .2byte 0x16b ++ .4byte .LASF174 ++ .4byte 0x1016 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF175 ++ .byte 0x15 ++ .2byte 0x174 ++ .4byte .LASF176 ++ .4byte 0x1036 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF177 ++ .byte 0x15 ++ .2byte 0x187 ++ .4byte .LASF178 ++ .4byte 0x1056 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF177 ++ .byte 0x15 ++ .2byte 0x18b ++ .4byte .LASF179 ++ .4byte 0x1076 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0xc7c ++ .uleb128 0x19 ++ .4byte 0xc7c ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF177 ++ .byte 0x15 ++ .2byte 0x18f ++ .4byte .LASF180 ++ .4byte 0x1096 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x36 ++ .4byte .LASF177 ++ .byte 0x15 ++ .2byte 0x193 ++ .4byte .LASF181 ++ .4byte 0x10b6 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF182 ++ .byte 0x15 ++ .2byte 0x197 ++ .4byte .LASF183 ++ .4byte 0x20f ++ .4byte 0x10d5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x33 ++ .4byte .LASF184 ++ .byte 0x15 ++ .2byte 0x1a4 ++ .4byte .LASF185 ++ .4byte 0x10e9 ++ .4byte 0x10fe ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x33 ++ .4byte .LASF186 ++ .byte 0x15 ++ .2byte 0x1a7 ++ .4byte .LASF187 ++ .4byte 0x1112 ++ .4byte 0x1118 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x37 ++ .4byte .LASF126 ++ .byte 0x15 ++ .2byte 0x1aa ++ .4byte .LASF812 ++ .4byte 0x47af ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1b5 ++ .byte 0x1 ++ .4byte 0x1139 ++ .4byte 0x113f ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x39 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1c0 ++ .byte 0x1 ++ .4byte 0x1150 ++ .4byte 0x115b ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1c7 ++ .byte 0x1 ++ .4byte 0x116c ++ .4byte 0x1177 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1ce ++ .byte 0x1 ++ .4byte 0x1188 ++ .4byte 0x119d ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1d7 ++ .byte 0x1 ++ .4byte 0x11ae ++ .4byte 0x11c8 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1e3 ++ .byte 0x1 ++ .4byte 0x11d9 ++ .4byte 0x11ee ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1ea ++ .byte 0x1 ++ .4byte 0x11ff ++ .4byte 0x120f ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1f1 ++ .byte 0x1 ++ .4byte 0x1220 ++ .4byte 0x1235 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x1fb ++ .byte 0x1 ++ .4byte 0x1246 ++ .4byte 0x1251 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47bb ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF188 ++ .byte 0x15 ++ .2byte 0x20a ++ .byte 0x1 ++ .4byte 0x1262 ++ .4byte 0x1272 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF189 ++ .byte 0x15 ++ .2byte 0x21a ++ .byte 0x1 ++ .4byte 0x1283 ++ .4byte 0x128e ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF59 ++ .byte 0x15 ++ .2byte 0x222 ++ .4byte .LASF190 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x12a7 ++ .4byte 0x12b2 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF59 ++ .byte 0x15 ++ .2byte 0x22a ++ .4byte .LASF191 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x12cb ++ .4byte 0x12d6 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF59 ++ .byte 0x15 ++ .2byte 0x235 ++ .4byte .LASF192 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x12ef ++ .4byte 0x12fa ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF59 ++ .byte 0x15 ++ .2byte 0x244 ++ .4byte .LASF193 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1313 ++ .4byte 0x131e ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47bb ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF59 ++ .byte 0x15 ++ .2byte 0x250 ++ .4byte .LASF194 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1337 ++ .4byte 0x1342 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF195 ++ .byte 0x15 ++ .2byte 0x25d ++ .4byte .LASF196 ++ .4byte 0xc70 ++ .byte 0x1 ++ .4byte 0x135b ++ .4byte 0x1361 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF195 ++ .byte 0x15 ++ .2byte 0x268 ++ .4byte .LASF197 ++ .4byte 0xc7c ++ .byte 0x1 ++ .4byte 0x137a ++ .4byte 0x1380 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3b ++ .string "end" ++ .byte 0x15 ++ .2byte 0x270 ++ .4byte .LASF198 ++ .4byte 0xc70 ++ .byte 0x1 ++ .4byte 0x1399 ++ .4byte 0x139f ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3b ++ .string "end" ++ .byte 0x15 ++ .2byte 0x27b ++ .4byte .LASF199 ++ .4byte 0xc7c ++ .byte 0x1 ++ .4byte 0x13b8 ++ .4byte 0x13be ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF200 ++ .byte 0x15 ++ .2byte 0x284 ++ .4byte .LASF201 ++ .4byte 0xc94 ++ .byte 0x1 ++ .4byte 0x13d7 ++ .4byte 0x13dd ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF200 ++ .byte 0x15 ++ .2byte 0x28d ++ .4byte .LASF202 ++ .4byte 0xc88 ++ .byte 0x1 ++ .4byte 0x13f6 ++ .4byte 0x13fc ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF203 ++ .byte 0x15 ++ .2byte 0x296 ++ .4byte .LASF204 ++ .4byte 0xc94 ++ .byte 0x1 ++ .4byte 0x1415 ++ .4byte 0x141b ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF203 ++ .byte 0x15 ++ .2byte 0x29f ++ .4byte .LASF205 ++ .4byte 0xc88 ++ .byte 0x1 ++ .4byte 0x1434 ++ .4byte 0x143a ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF206 ++ .byte 0x15 ++ .2byte 0x2a8 ++ .4byte .LASF207 ++ .4byte 0xc7c ++ .byte 0x1 ++ .4byte 0x1453 ++ .4byte 0x1459 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF208 ++ .byte 0x15 ++ .2byte 0x2b0 ++ .4byte .LASF209 ++ .4byte 0xc7c ++ .byte 0x1 ++ .4byte 0x1472 ++ .4byte 0x1478 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF210 ++ .byte 0x15 ++ .2byte 0x2b9 ++ .4byte .LASF211 ++ .4byte 0xc88 ++ .byte 0x1 ++ .4byte 0x1491 ++ .4byte 0x1497 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF212 ++ .byte 0x15 ++ .2byte 0x2c2 ++ .4byte .LASF213 ++ .4byte 0xc88 ++ .byte 0x1 ++ .4byte 0x14b0 ++ .4byte 0x14b6 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF214 ++ .byte 0x15 ++ .2byte 0x2cb ++ .4byte .LASF215 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x14cf ++ .4byte 0x14d5 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF85 ++ .byte 0x15 ++ .2byte 0x2d1 ++ .4byte .LASF216 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x14ee ++ .4byte 0x14f4 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF217 ++ .byte 0x15 ++ .2byte 0x2d6 ++ .4byte .LASF218 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x150d ++ .4byte 0x1513 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF219 ++ .byte 0x15 ++ .2byte 0x2e4 ++ .4byte .LASF220 ++ .byte 0x1 ++ .4byte 0x1528 ++ .4byte 0x1538 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF219 ++ .byte 0x15 ++ .2byte 0x2f1 ++ .4byte .LASF221 ++ .byte 0x1 ++ .4byte 0x154d ++ .4byte 0x1558 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF222 ++ .byte 0x15 ++ .2byte 0x2f7 ++ .4byte .LASF223 ++ .byte 0x1 ++ .4byte 0x156d ++ .4byte 0x1573 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF224 ++ .byte 0x15 ++ .2byte 0x308 ++ .4byte .LASF225 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x158c ++ .4byte 0x1592 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF226 ++ .byte 0x15 ++ .2byte 0x31d ++ .4byte .LASF227 ++ .byte 0x1 ++ .4byte 0x15a7 ++ .4byte 0x15b2 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF228 ++ .byte 0x15 ++ .2byte 0x323 ++ .4byte .LASF229 ++ .byte 0x1 ++ .4byte 0x15c7 ++ .4byte 0x15cd ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF230 ++ .byte 0x15 ++ .2byte 0x32b ++ .4byte .LASF231 ++ .4byte 0x3d6e ++ .byte 0x1 ++ .4byte 0x15e6 ++ .4byte 0x15ec ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF232 ++ .byte 0x15 ++ .2byte 0x33a ++ .4byte .LASF233 ++ .4byte 0xc64 ++ .byte 0x1 ++ .4byte 0x1605 ++ .4byte 0x1610 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF232 ++ .byte 0x15 ++ .2byte 0x34b ++ .4byte .LASF234 ++ .4byte 0xc58 ++ .byte 0x1 ++ .4byte 0x1629 ++ .4byte 0x1634 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3b ++ .string "at" ++ .byte 0x15 ++ .2byte 0x360 ++ .4byte .LASF235 ++ .4byte 0xc64 ++ .byte 0x1 ++ .4byte 0x164c ++ .4byte 0x1657 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3b ++ .string "at" ++ .byte 0x15 ++ .2byte 0x373 ++ .4byte .LASF236 ++ .4byte 0xc58 ++ .byte 0x1 ++ .4byte 0x166f ++ .4byte 0x167a ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF237 ++ .byte 0x15 ++ .2byte 0x381 ++ .4byte .LASF238 ++ .4byte 0xc58 ++ .byte 0x1 ++ .4byte 0x1693 ++ .4byte 0x1699 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF237 ++ .byte 0x15 ++ .2byte 0x389 ++ .4byte .LASF239 ++ .4byte 0xc64 ++ .byte 0x1 ++ .4byte 0x16b2 ++ .4byte 0x16b8 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF240 ++ .byte 0x15 ++ .2byte 0x391 ++ .4byte .LASF241 ++ .4byte 0xc58 ++ .byte 0x1 ++ .4byte 0x16d1 ++ .4byte 0x16d7 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF240 ++ .byte 0x15 ++ .2byte 0x399 ++ .4byte .LASF242 ++ .4byte 0xc64 ++ .byte 0x1 ++ .4byte 0x16f0 ++ .4byte 0x16f6 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF243 ++ .byte 0x15 ++ .2byte 0x3a4 ++ .4byte .LASF244 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x170f ++ .4byte 0x171a ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF243 ++ .byte 0x15 ++ .2byte 0x3ad ++ .4byte .LASF245 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1733 ++ .4byte 0x173e ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF243 ++ .byte 0x15 ++ .2byte 0x3b6 ++ .4byte .LASF246 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1757 ++ .4byte 0x1762 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF243 ++ .byte 0x15 ++ .2byte 0x3c3 ++ .4byte .LASF247 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x177b ++ .4byte 0x1786 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF248 ++ .byte 0x15 ++ .2byte 0x3cd ++ .4byte .LASF249 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x179f ++ .4byte 0x17aa ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF248 ++ .byte 0x15 ++ .2byte 0x3dd ++ .4byte .LASF250 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x17c3 ++ .4byte 0x17d8 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF248 ++ .byte 0x15 ++ .2byte 0x3e6 ++ .4byte .LASF251 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x17f1 ++ .4byte 0x1801 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF248 ++ .byte 0x15 ++ .2byte 0x3ee ++ .4byte .LASF252 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x181a ++ .4byte 0x1825 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF248 ++ .byte 0x15 ++ .2byte 0x3fd ++ .4byte .LASF253 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x183e ++ .4byte 0x184e ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF248 ++ .byte 0x15 ++ .2byte 0x406 ++ .4byte .LASF254 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1867 ++ .4byte 0x1872 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF255 ++ .byte 0x15 ++ .2byte 0x41c ++ .4byte .LASF256 ++ .byte 0x1 ++ .4byte 0x1887 ++ .4byte 0x1892 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x42b ++ .4byte .LASF257 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x18ab ++ .4byte 0x18b6 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x437 ++ .4byte .LASF258 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x18cf ++ .4byte 0x18da ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47bb ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x44c ++ .4byte .LASF259 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x18f3 ++ .4byte 0x1908 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x45c ++ .4byte .LASF260 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1921 ++ .4byte 0x1931 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x468 ++ .4byte .LASF261 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x194a ++ .4byte 0x1955 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x478 ++ .4byte .LASF262 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x196e ++ .4byte 0x197e ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF93 ++ .byte 0x15 ++ .2byte 0x48f ++ .4byte .LASF263 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1997 ++ .4byte 0x19a2 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x4a1 ++ .4byte .LASF265 ++ .byte 0x1 ++ .4byte 0x19b7 ++ .4byte 0x19cc ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x4bd ++ .4byte .LASF266 ++ .byte 0x1 ++ .4byte 0x19e1 ++ .4byte 0x19f1 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x4d1 ++ .4byte .LASF267 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1a0a ++ .4byte 0x1a1a ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x4e7 ++ .4byte .LASF268 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1a33 ++ .4byte 0x1a4d ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x4fe ++ .4byte .LASF269 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1a66 ++ .4byte 0x1a7b ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x510 ++ .4byte .LASF270 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1a94 ++ .4byte 0x1aa4 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x527 ++ .4byte .LASF271 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1abd ++ .4byte 0x1ad2 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF264 ++ .byte 0x15 ++ .2byte 0x539 ++ .4byte .LASF272 ++ .4byte 0xc70 ++ .byte 0x1 ++ .4byte 0x1aeb ++ .4byte 0x1afb ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF273 ++ .byte 0x15 ++ .2byte 0x552 ++ .4byte .LASF274 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1b14 ++ .4byte 0x1b24 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF273 ++ .byte 0x15 ++ .2byte 0x562 ++ .4byte .LASF275 ++ .4byte 0xc70 ++ .byte 0x1 ++ .4byte 0x1b3d ++ .4byte 0x1b48 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF273 ++ .byte 0x15 ++ .2byte 0x576 ++ .4byte .LASF276 ++ .4byte 0xc70 ++ .byte 0x1 ++ .4byte 0x1b61 ++ .4byte 0x1b71 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF277 ++ .byte 0x15 ++ .2byte 0x57f ++ .4byte .LASF278 ++ .byte 0x1 ++ .4byte 0x1b86 ++ .4byte 0x1b8c ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x595 ++ .4byte .LASF280 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1ba5 ++ .4byte 0x1bba ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x5ab ++ .4byte .LASF281 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1bd3 ++ .4byte 0x1bf2 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x5c4 ++ .4byte .LASF282 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1c0b ++ .4byte 0x1c25 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x5d8 ++ .4byte .LASF283 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1c3e ++ .4byte 0x1c53 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x5f0 ++ .4byte .LASF284 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1c6c ++ .4byte 0x1c86 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x602 ++ .4byte .LASF285 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1c9f ++ .4byte 0x1cb4 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x615 ++ .4byte .LASF286 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1ccd ++ .4byte 0x1ce7 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x62a ++ .4byte .LASF287 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1d00 ++ .4byte 0x1d15 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x63f ++ .4byte .LASF288 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1d2e ++ .4byte 0x1d48 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x664 ++ .4byte .LASF289 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1d61 ++ .4byte 0x1d7b ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x66e ++ .4byte .LASF290 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1d94 ++ .4byte 0x1dae ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x679 ++ .4byte .LASF291 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1dc7 ++ .4byte 0x1de1 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x683 ++ .4byte .LASF292 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1dfa ++ .4byte 0x1e14 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc7c ++ .uleb128 0x19 ++ .4byte 0xc7c ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF279 ++ .byte 0x15 ++ .2byte 0x69c ++ .4byte .LASF293 ++ .4byte 0x47c1 ++ .byte 0x1 ++ .4byte 0x1e2d ++ .4byte 0x1e42 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0xc70 ++ .uleb128 0x19 ++ .4byte 0x2556 ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF294 ++ .byte 0x15 ++ .2byte 0x6ae ++ .4byte .LASF295 ++ .4byte 0x47c1 ++ .4byte 0x1e5a ++ .4byte 0x1e74 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x34 ++ .4byte .LASF296 ++ .byte 0x15 ++ .2byte 0x6b2 ++ .4byte .LASF297 ++ .4byte 0x47c1 ++ .4byte 0x1e8c ++ .4byte 0x1ea6 ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF298 ++ .byte 0x15 ++ .2byte 0x6ca ++ .4byte .LASF299 ++ .4byte 0x300d ++ .4byte 0x1eca ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF300 ++ .byte 0x15 ++ .2byte 0x6e3 ++ .4byte .LASF301 ++ .4byte 0x300d ++ .4byte 0x1eee ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF91 ++ .byte 0x15 ++ .2byte 0x6f4 ++ .4byte .LASF302 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x1f07 ++ .4byte 0x1f1c ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3c ++ .4byte .LASF64 ++ .byte 0x15 ++ .2byte 0x6fe ++ .4byte .LASF303 ++ .byte 0x1 ++ .4byte 0x1f31 ++ .4byte 0x1f3c ++ .uleb128 0x18 ++ .4byte 0x47a3 ++ .uleb128 0x19 ++ .4byte 0x47c1 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF304 ++ .byte 0x15 ++ .2byte 0x708 ++ .4byte .LASF305 ++ .4byte 0x2bf ++ .byte 0x1 ++ .4byte 0x1f55 ++ .4byte 0x1f5b ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF306 ++ .byte 0x15 ++ .2byte 0x712 ++ .4byte .LASF307 ++ .4byte 0x2bf ++ .byte 0x1 ++ .4byte 0x1f74 ++ .4byte 0x1f7a ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF308 ++ .byte 0x15 ++ .2byte 0x719 ++ .4byte .LASF309 ++ .4byte 0xc4c ++ .byte 0x1 ++ .4byte 0x1f93 ++ .4byte 0x1f99 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF86 ++ .byte 0x15 ++ .2byte 0x729 ++ .4byte .LASF310 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x1fb2 ++ .4byte 0x1fc7 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF86 ++ .byte 0x15 ++ .2byte 0x736 ++ .4byte .LASF311 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x1fe0 ++ .4byte 0x1ff0 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF86 ++ .byte 0x15 ++ .2byte 0x745 ++ .4byte .LASF312 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2009 ++ .4byte 0x2019 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF86 ++ .byte 0x15 ++ .2byte 0x756 ++ .4byte .LASF313 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2032 ++ .4byte 0x2042 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF314 ++ .byte 0x15 ++ .2byte 0x763 ++ .4byte .LASF315 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x205b ++ .4byte 0x206b ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF314 ++ .byte 0x15 ++ .2byte 0x774 ++ .4byte .LASF316 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2084 ++ .4byte 0x2099 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF314 ++ .byte 0x15 ++ .2byte 0x781 ++ .4byte .LASF317 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x20b2 ++ .4byte 0x20c2 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF314 ++ .byte 0x15 ++ .2byte 0x792 ++ .4byte .LASF318 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x20db ++ .4byte 0x20eb ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF319 ++ .byte 0x15 ++ .2byte 0x7a0 ++ .4byte .LASF320 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2104 ++ .4byte 0x2114 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF319 ++ .byte 0x15 ++ .2byte 0x7b1 ++ .4byte .LASF321 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x212d ++ .4byte 0x2142 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF319 ++ .byte 0x15 ++ .2byte 0x7be ++ .4byte .LASF322 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x215b ++ .4byte 0x216b ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF319 ++ .byte 0x15 ++ .2byte 0x7d1 ++ .4byte .LASF323 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2184 ++ .4byte 0x2194 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF324 ++ .byte 0x15 ++ .2byte 0x7e0 ++ .4byte .LASF325 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x21ad ++ .4byte 0x21bd ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF324 ++ .byte 0x15 ++ .2byte 0x7f1 ++ .4byte .LASF326 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x21d6 ++ .4byte 0x21eb ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF324 ++ .byte 0x15 ++ .2byte 0x7fe ++ .4byte .LASF327 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2204 ++ .4byte 0x2214 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF324 ++ .byte 0x15 ++ .2byte 0x811 ++ .4byte .LASF328 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x222d ++ .4byte 0x223d ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF329 ++ .byte 0x15 ++ .2byte 0x81f ++ .4byte .LASF330 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2256 ++ .4byte 0x2266 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF329 ++ .byte 0x15 ++ .2byte 0x830 ++ .4byte .LASF331 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x227f ++ .4byte 0x2294 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF329 ++ .byte 0x15 ++ .2byte 0x83e ++ .4byte .LASF332 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x22ad ++ .4byte 0x22bd ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF329 ++ .byte 0x15 ++ .2byte 0x84f ++ .4byte .LASF333 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x22d6 ++ .4byte 0x22e6 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF334 ++ .byte 0x15 ++ .2byte 0x85e ++ .4byte .LASF335 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x22ff ++ .4byte 0x230f ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF334 ++ .byte 0x15 ++ .2byte 0x86f ++ .4byte .LASF336 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2328 ++ .4byte 0x233d ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF334 ++ .byte 0x15 ++ .2byte 0x87d ++ .4byte .LASF337 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x2356 ++ .4byte 0x2366 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF334 ++ .byte 0x15 ++ .2byte 0x88e ++ .4byte .LASF338 ++ .4byte 0xc21 ++ .byte 0x1 ++ .4byte 0x237f ++ .4byte 0x238f ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF339 ++ .byte 0x15 ++ .2byte 0x89e ++ .4byte .LASF340 ++ .4byte 0xbc0 ++ .byte 0x1 ++ .4byte 0x23a8 ++ .4byte 0x23b8 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF83 ++ .byte 0x15 ++ .2byte 0x8b1 ++ .4byte .LASF341 ++ .4byte 0x20f ++ .byte 0x1 ++ .4byte 0x23d1 ++ .4byte 0x23dc ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF83 ++ .byte 0x15 ++ .2byte 0x8d1 ++ .4byte .LASF342 ++ .4byte 0x20f ++ .byte 0x1 ++ .4byte 0x23f5 ++ .4byte 0x240a ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF83 ++ .byte 0x15 ++ .2byte 0x8eb ++ .4byte .LASF343 ++ .4byte 0x20f ++ .byte 0x1 ++ .4byte 0x2423 ++ .4byte 0x2442 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x47b5 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF83 ++ .byte 0x15 ++ .2byte 0x8fd ++ .4byte .LASF344 ++ .4byte 0x20f ++ .byte 0x1 ++ .4byte 0x245b ++ .4byte 0x2466 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF83 ++ .byte 0x15 ++ .2byte 0x915 ++ .4byte .LASF345 ++ .4byte 0x20f ++ .byte 0x1 ++ .4byte 0x247f ++ .4byte 0x2494 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF83 ++ .byte 0x15 ++ .2byte 0x930 ++ .4byte .LASF346 ++ .4byte 0x20f ++ .byte 0x1 ++ .4byte 0x24ad ++ .4byte 0x24c7 ++ .uleb128 0x18 ++ .4byte 0x479d ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0xcd1 ++ .uleb128 0x27 ++ .4byte .LASF347 ++ .byte 0x15 ++ .2byte 0x6b9 ++ .4byte .LASF348 ++ .4byte 0x300d ++ .4byte 0x24fe ++ .uleb128 0x3d ++ .4byte .LASF351 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .uleb128 0x19 ++ .4byte 0x689 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF349 ++ .byte 0x15 ++ .2byte 0x6cf ++ .4byte .LASF350 ++ .4byte 0x300d ++ .4byte 0x252b ++ .uleb128 0x3d ++ .4byte .LASF351 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF352 ++ .4byte 0x296 ++ .uleb128 0x3d ++ .4byte .LASF353 ++ .4byte 0x6e1 ++ .uleb128 0x3d ++ .4byte .LASF354 ++ .4byte 0x997 ++ .byte 0 ++ .uleb128 0x20 ++ .4byte .LASF356 ++ .uleb128 0x20 ++ .4byte .LASF357 ++ .uleb128 0x10 ++ .4byte 0xbc0 ++ .uleb128 0x16 ++ .4byte .LASF358 ++ .byte 0x10 ++ .byte 0x17 ++ .byte 0x2f ++ .4byte 0x2636 ++ .uleb128 0x2b ++ .4byte .LASF114 ++ .byte 0x17 ++ .byte 0x36 ++ .4byte 0x2bf ++ .byte 0x1 ++ .uleb128 0x4 ++ .4byte .LASF359 ++ .byte 0x17 ++ .byte 0x3a ++ .4byte 0x2562 ++ .byte 0 ++ .uleb128 0x2b ++ .4byte .LASF104 ++ .byte 0x17 ++ .byte 0x35 ++ .4byte 0x8a8 ++ .byte 0x1 ++ .uleb128 0x4 ++ .4byte .LASF360 ++ .byte 0x17 ++ .byte 0x3b ++ .4byte 0x257a ++ .byte 0x8 ++ .uleb128 0x2b ++ .4byte .LASF115 ++ .byte 0x17 ++ .byte 0x37 ++ .4byte 0x2bf ++ .byte 0x1 ++ .uleb128 0x3e ++ .4byte .LASF361 ++ .byte 0x17 ++ .byte 0x3e ++ .4byte 0x25ad ++ .4byte 0x25bd ++ .uleb128 0x18 ++ .4byte 0x47c7 ++ .uleb128 0x19 ++ .4byte 0x2592 ++ .uleb128 0x19 ++ .4byte 0x257a ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF361 ++ .byte 0x17 ++ .byte 0x42 ++ .byte 0x1 ++ .4byte 0x25cd ++ .4byte 0x25d3 ++ .uleb128 0x18 ++ .4byte 0x47c7 ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF214 ++ .byte 0x17 ++ .byte 0x47 ++ .4byte .LASF362 ++ .4byte 0x257a ++ .byte 0x1 ++ .4byte 0x25eb ++ .4byte 0x25f1 ++ .uleb128 0x18 ++ .4byte 0x47cd ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF195 ++ .byte 0x17 ++ .byte 0x4b ++ .4byte .LASF363 ++ .4byte 0x2592 ++ .byte 0x1 ++ .4byte 0x2609 ++ .4byte 0x260f ++ .uleb128 0x18 ++ .4byte 0x47cd ++ .byte 0 ++ .uleb128 0x3f ++ .string "end" ++ .byte 0x17 ++ .byte 0x4f ++ .4byte .LASF456 ++ .4byte 0x2592 ++ .byte 0x1 ++ .4byte 0x2627 ++ .4byte 0x262d ++ .uleb128 0x18 ++ .4byte 0x47cd ++ .byte 0 ++ .uleb128 0x40 ++ .string "_E" ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x2556 ++ .uleb128 0x41 ++ .4byte .LASF385 ++ .byte 0x4 ++ .byte 0x18 ++ .byte 0x33 ++ .4byte 0x26de ++ .uleb128 0x42 ++ .4byte .LASF364 ++ .sleb128 1 ++ .uleb128 0x42 ++ .4byte .LASF365 ++ .sleb128 2 ++ .uleb128 0x42 ++ .4byte .LASF366 ++ .sleb128 4 ++ .uleb128 0x42 ++ .4byte .LASF367 ++ .sleb128 8 ++ .uleb128 0x42 ++ .4byte .LASF368 ++ .sleb128 16 ++ .uleb128 0x42 ++ .4byte .LASF369 ++ .sleb128 32 ++ .uleb128 0x42 ++ .4byte .LASF370 ++ .sleb128 64 ++ .uleb128 0x42 ++ .4byte .LASF371 ++ .sleb128 128 ++ .uleb128 0x42 ++ .4byte .LASF372 ++ .sleb128 256 ++ .uleb128 0x42 ++ .4byte .LASF373 ++ .sleb128 512 ++ .uleb128 0x42 ++ .4byte .LASF374 ++ .sleb128 1024 ++ .uleb128 0x42 ++ .4byte .LASF375 ++ .sleb128 2048 ++ .uleb128 0x42 ++ .4byte .LASF376 ++ .sleb128 4096 ++ .uleb128 0x42 ++ .4byte .LASF377 ++ .sleb128 8192 ++ .uleb128 0x42 ++ .4byte .LASF378 ++ .sleb128 16384 ++ .uleb128 0x42 ++ .4byte .LASF379 ++ .sleb128 176 ++ .uleb128 0x42 ++ .4byte .LASF380 ++ .sleb128 74 ++ .uleb128 0x42 ++ .4byte .LASF381 ++ .sleb128 260 ++ .uleb128 0x42 ++ .4byte .LASF382 ++ .sleb128 65536 ++ .uleb128 0x42 ++ .4byte .LASF383 ++ .sleb128 2147483647 ++ .uleb128 0x42 ++ .4byte .LASF384 ++ .sleb128 -2147483648 ++ .byte 0 ++ .uleb128 0x41 ++ .4byte .LASF386 ++ .byte 0x4 ++ .byte 0x18 ++ .byte 0x69 ++ .4byte 0x272b ++ .uleb128 0x42 ++ .4byte .LASF387 ++ .sleb128 1 ++ .uleb128 0x42 ++ .4byte .LASF388 ++ .sleb128 2 ++ .uleb128 0x42 ++ .4byte .LASF389 ++ .sleb128 4 ++ .uleb128 0x42 ++ .4byte .LASF390 ++ .sleb128 8 ++ .uleb128 0x42 ++ .4byte .LASF391 ++ .sleb128 16 ++ .uleb128 0x42 ++ .4byte .LASF392 ++ .sleb128 32 ++ .uleb128 0x42 ++ .4byte .LASF393 ++ .sleb128 65536 ++ .uleb128 0x42 ++ .4byte .LASF394 ++ .sleb128 2147483647 ++ .uleb128 0x42 ++ .4byte .LASF395 ++ .sleb128 -2147483648 ++ .byte 0 ++ .uleb128 0x41 ++ .4byte .LASF396 ++ .byte 0x4 ++ .byte 0x18 ++ .byte 0x93 ++ .4byte 0x276c ++ .uleb128 0x42 ++ .4byte .LASF397 ++ .sleb128 0 ++ .uleb128 0x42 ++ .4byte .LASF398 ++ .sleb128 1 ++ .uleb128 0x42 ++ .4byte .LASF399 ++ .sleb128 2 ++ .uleb128 0x42 ++ .4byte .LASF400 ++ .sleb128 4 ++ .uleb128 0x42 ++ .4byte .LASF401 ++ .sleb128 65536 ++ .uleb128 0x42 ++ .4byte .LASF402 ++ .sleb128 2147483647 ++ .uleb128 0x42 ++ .4byte .LASF403 ++ .sleb128 -2147483648 ++ .byte 0 ++ .uleb128 0x41 ++ .4byte .LASF404 ++ .byte 0x4 ++ .byte 0x18 ++ .byte 0xbb ++ .4byte 0x2793 ++ .uleb128 0x42 ++ .4byte .LASF405 ++ .sleb128 0 ++ .uleb128 0x42 ++ .4byte .LASF406 ++ .sleb128 1 ++ .uleb128 0x42 ++ .4byte .LASF407 ++ .sleb128 2 ++ .uleb128 0x42 ++ .4byte .LASF408 ++ .sleb128 65536 ++ .byte 0 ++ .uleb128 0x43 ++ .4byte .LASF432 ++ .4byte 0x2974 ++ .uleb128 0x44 ++ .4byte .LASF409 ++ .byte 0x18 ++ .2byte 0x16f ++ .4byte 0x26de ++ .byte 0x1 ++ .uleb128 0x44 ++ .4byte .LASF410 ++ .byte 0x18 ++ .2byte 0x105 ++ .4byte 0x263b ++ .byte 0x1 ++ .uleb128 0x45 ++ .4byte .LASF411 ++ .byte 0x18 ++ .2byte 0x108 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x1 ++ .uleb128 0x10 ++ .4byte 0x27a9 ++ .uleb128 0x46 ++ .string "dec" ++ .byte 0x18 ++ .2byte 0x10b ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x2 ++ .uleb128 0x45 ++ .4byte .LASF412 ++ .byte 0x18 ++ .2byte 0x10e ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x4 ++ .uleb128 0x46 ++ .string "hex" ++ .byte 0x18 ++ .2byte 0x111 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x8 ++ .uleb128 0x45 ++ .4byte .LASF413 ++ .byte 0x18 ++ .2byte 0x116 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x10 ++ .uleb128 0x45 ++ .4byte .LASF414 ++ .byte 0x18 ++ .2byte 0x11a ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x20 ++ .uleb128 0x46 ++ .string "oct" ++ .byte 0x18 ++ .2byte 0x11d ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x40 ++ .uleb128 0x45 ++ .4byte .LASF415 ++ .byte 0x18 ++ .2byte 0x121 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x80 ++ .uleb128 0x47 ++ .4byte .LASF416 ++ .byte 0x18 ++ .2byte 0x124 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x100 ++ .uleb128 0x47 ++ .4byte .LASF417 ++ .byte 0x18 ++ .2byte 0x128 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x200 ++ .uleb128 0x47 ++ .4byte .LASF418 ++ .byte 0x18 ++ .2byte 0x12c ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x400 ++ .uleb128 0x47 ++ .4byte .LASF419 ++ .byte 0x18 ++ .2byte 0x12f ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x800 ++ .uleb128 0x47 ++ .4byte .LASF420 ++ .byte 0x18 ++ .2byte 0x132 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x1000 ++ .uleb128 0x47 ++ .4byte .LASF421 ++ .byte 0x18 ++ .2byte 0x135 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x2000 ++ .uleb128 0x47 ++ .4byte .LASF422 ++ .byte 0x18 ++ .2byte 0x139 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x4000 ++ .uleb128 0x45 ++ .4byte .LASF423 ++ .byte 0x18 ++ .2byte 0x13c ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0xb0 ++ .uleb128 0x45 ++ .4byte .LASF424 ++ .byte 0x18 ++ .2byte 0x13f ++ .4byte 0x27c4 ++ .byte 0x1 ++ .byte 0x4a ++ .uleb128 0x47 ++ .4byte .LASF425 ++ .byte 0x18 ++ .2byte 0x142 ++ .4byte 0x27c4 ++ .byte 0x1 ++ .2byte 0x104 ++ .uleb128 0x44 ++ .4byte .LASF426 ++ .byte 0x18 ++ .2byte 0x150 ++ .4byte 0x272b ++ .byte 0x1 ++ .uleb128 0x45 ++ .4byte .LASF427 ++ .byte 0x18 ++ .2byte 0x154 ++ .4byte 0x28da ++ .byte 0x1 ++ .byte 0x1 ++ .uleb128 0x10 ++ .4byte 0x28bf ++ .uleb128 0x45 ++ .4byte .LASF428 ++ .byte 0x18 ++ .2byte 0x157 ++ .4byte 0x28da ++ .byte 0x1 ++ .byte 0x2 ++ .uleb128 0x45 ++ .4byte .LASF429 ++ .byte 0x18 ++ .2byte 0x15c ++ .4byte 0x28da ++ .byte 0x1 ++ .byte 0x4 ++ .uleb128 0x45 ++ .4byte .LASF430 ++ .byte 0x18 ++ .2byte 0x15f ++ .4byte 0x28da ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0x46 ++ .string "app" ++ .byte 0x18 ++ .2byte 0x172 ++ .4byte 0x2917 ++ .byte 0x1 ++ .byte 0x1 ++ .uleb128 0x10 ++ .4byte 0x279c ++ .uleb128 0x46 ++ .string "ate" ++ .byte 0x18 ++ .2byte 0x175 ++ .4byte 0x2917 ++ .byte 0x1 ++ .byte 0x2 ++ .uleb128 0x46 ++ .string "in" ++ .byte 0x18 ++ .2byte 0x17d ++ .4byte 0x2917 ++ .byte 0x1 ++ .byte 0x8 ++ .uleb128 0x46 ++ .string "out" ++ .byte 0x18 ++ .2byte 0x180 ++ .4byte 0x2917 ++ .byte 0x1 ++ .byte 0x10 ++ .uleb128 0x44 ++ .4byte .LASF431 ++ .byte 0x18 ++ .2byte 0x18f ++ .4byte 0x276c ++ .byte 0x1 ++ .uleb128 0x46 ++ .string "cur" ++ .byte 0x18 ++ .2byte 0x195 ++ .4byte 0x2960 ++ .byte 0x1 ++ .byte 0x1 ++ .uleb128 0x10 ++ .4byte 0x2945 ++ .uleb128 0x46 ++ .string "end" ++ .byte 0x18 ++ .2byte 0x198 ++ .4byte 0x2960 ++ .byte 0x1 ++ .byte 0x2 ++ .byte 0 ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x52 ++ .4byte 0x47f4 ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x53 ++ .4byte 0x47e9 ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x54 ++ .4byte 0x228 ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x5c ++ .4byte 0x480a ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x65 ++ .4byte 0x4824 ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x68 ++ .4byte 0x483e ++ .uleb128 0x13 ++ .byte 0x19 ++ .byte 0x69 ++ .4byte 0x4853 ++ .uleb128 0x43 ++ .4byte .LASF433 ++ .4byte 0x29e6 ++ .uleb128 0x48 ++ .4byte .LASF434 ++ .byte 0x1a ++ .byte 0x5d ++ .byte 0x1 ++ .4byte 0x29a5 ++ .byte 0x1 ++ .4byte 0x29c3 ++ .4byte 0x29d3 ++ .uleb128 0x18 ++ .4byte 0x49ef ++ .uleb128 0x18 ++ .4byte 0x20f ++ .uleb128 0x18 ++ .4byte 0x49f5 ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF352 ++ .4byte 0x296 ++ .uleb128 0x3d ++ .4byte .LASF353 ++ .4byte 0x6e1 ++ .byte 0 ++ .uleb128 0x43 ++ .4byte .LASF435 ++ .4byte 0x2aa2 ++ .uleb128 0x48 ++ .4byte .LASF436 ++ .byte 0x1b ++ .byte 0xc5 ++ .byte 0x1 ++ .4byte 0x29e6 ++ .byte 0x1 ++ .4byte 0x2a04 ++ .4byte 0x2a0f ++ .uleb128 0x18 ++ .4byte 0x4997 ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF437 ++ .byte 0x1b ++ .2byte 0x1cf ++ .byte 0x2 ++ .4byte 0x2a20 ++ .4byte 0x2a26 ++ .uleb128 0x18 ++ .4byte 0x4997 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF438 ++ .byte 0x1b ++ .2byte 0x214 ++ .4byte .LASF439 ++ .4byte 0x4e95 ++ .byte 0x2 ++ .4byte 0x2a3f ++ .4byte 0x2a45 ++ .uleb128 0x18 ++ .4byte 0x4e9b ++ .byte 0 ++ .uleb128 0x2b ++ .4byte .LASF79 ++ .byte 0x1b ++ .byte 0x81 ++ .4byte 0x296 ++ .byte 0x1 ++ .uleb128 0x3a ++ .4byte .LASF440 ++ .byte 0x1b ++ .2byte 0x1e8 ++ .4byte .LASF441 ++ .4byte 0x4e95 ++ .byte 0x2 ++ .4byte 0x2a6a ++ .4byte 0x2a70 ++ .uleb128 0x18 ++ .4byte 0x4e9b ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF442 ++ .byte 0x1b ++ .2byte 0x211 ++ .4byte .LASF443 ++ .4byte 0x4e95 ++ .byte 0x2 ++ .4byte 0x2a89 ++ .4byte 0x2a8f ++ .uleb128 0x18 ++ .4byte 0x4e9b ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF352 ++ .4byte 0x296 ++ .uleb128 0x3d ++ .4byte .LASF353 ++ .4byte 0x6e1 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF444 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0xaf ++ .4byte 0x2ae4 ++ .uleb128 0x2 ++ .4byte .LASF445 ++ .byte 0xe ++ .byte 0xb1 ++ .4byte 0x6c7 ++ .uleb128 0x2 ++ .4byte .LASF446 ++ .byte 0xe ++ .byte 0xb3 ++ .4byte 0x98c ++ .uleb128 0x2 ++ .4byte .LASF447 ++ .byte 0xe ++ .byte 0xb4 ++ .4byte 0x300d ++ .uleb128 0x2 ++ .4byte .LASF105 ++ .byte 0xe ++ .byte 0xb5 ++ .4byte 0x40a9 ++ .uleb128 0x3d ++ .4byte .LASF448 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF449 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0xba ++ .4byte 0x2b1b ++ .uleb128 0x2 ++ .4byte .LASF446 ++ .byte 0xe ++ .byte 0xbe ++ .4byte 0x98c ++ .uleb128 0x2 ++ .4byte .LASF447 ++ .byte 0xe ++ .byte 0xbf ++ .4byte 0x2bf ++ .uleb128 0x2 ++ .4byte .LASF105 ++ .byte 0xe ++ .byte 0xc0 ++ .4byte 0x40af ++ .uleb128 0x3d ++ .4byte .LASF448 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x43 ++ .4byte .LASF450 ++ .4byte 0x2b6f ++ .uleb128 0x49 ++ .4byte .LASF451 ++ .byte 0x1c ++ .2byte 0x114 ++ .byte 0x1 ++ .4byte 0x2b1b ++ .byte 0x1 ++ .4byte 0x2b3a ++ .4byte 0x2b45 ++ .uleb128 0x18 ++ .4byte 0x49c3 ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x38 ++ .4byte .LASF452 ++ .byte 0x1c ++ .2byte 0x1c6 ++ .byte 0x2 ++ .4byte 0x2b56 ++ .4byte 0x2b5c ++ .uleb128 0x18 ++ .4byte 0x49c3 ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF352 ++ .4byte 0x296 ++ .uleb128 0x3d ++ .4byte .LASF353 ++ .4byte 0x6e1 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF453 ++ .byte 0x18 ++ .byte 0x7b ++ .4byte 0x26de ++ .4byte 0x2b89 ++ .uleb128 0x19 ++ .4byte 0x26de ++ .uleb128 0x19 ++ .4byte 0x26de ++ .byte 0 ++ .uleb128 0x43 ++ .4byte .LASF454 ++ .4byte 0x2bf3 ++ .uleb128 0x4b ++ .4byte .LASF455 ++ .byte 0x2 ++ .byte 0x62 ++ .byte 0x1 ++ .4byte 0x2ba2 ++ .4byte 0x2bad ++ .uleb128 0x18 ++ .4byte 0x4cd6 ++ .uleb128 0x19 ++ .4byte 0x279c ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF352 ++ .4byte 0x296 ++ .uleb128 0x3d ++ .4byte .LASF353 ++ .4byte 0x6e1 ++ .uleb128 0x3d ++ .4byte .LASF354 ++ .4byte 0x997 ++ .uleb128 0x3f ++ .string "str" ++ .byte 0x2 ++ .byte 0x7e ++ .4byte .LASF457 ++ .4byte 0x2be6 ++ .byte 0x1 ++ .4byte 0x2be0 ++ .4byte 0x2be6 ++ .uleb128 0x18 ++ .4byte 0x5178 ++ .byte 0 ++ .uleb128 0x2b ++ .4byte .LASF458 ++ .byte 0x2 ++ .byte 0x4e ++ .4byte 0xbc0 ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF459 ++ .byte 0xe ++ .byte 0xc9 ++ .4byte 0x2aae ++ .4byte 0x2c11 ++ .uleb128 0x3d ++ .4byte .LASF460 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x48a1 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF461 ++ .byte 0x1d ++ .byte 0x5a ++ .4byte 0x2ab9 ++ .4byte 0x2c39 ++ .uleb128 0x3d ++ .4byte .LASF462 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x6c7 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF463 ++ .byte 0x12 ++ .byte 0x85 ++ .4byte 0x3d6e ++ .4byte 0x2c5c ++ .uleb128 0x40 ++ .string "_Tp" ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .uleb128 0x19 ++ .4byte 0x40cd ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF464 ++ .byte 0x1d ++ .byte 0x72 ++ .4byte 0x2ab9 ++ .4byte 0x2c7f ++ .uleb128 0x3d ++ .4byte .LASF465 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x29e6 ++ .uleb128 0x43 ++ .4byte .LASF466 ++ .4byte 0x2cd5 ++ .uleb128 0x3b ++ .string "str" ++ .byte 0x2 ++ .2byte 0x1d7 ++ .4byte .LASF467 ++ .4byte 0x2cac ++ .byte 0x1 ++ .4byte 0x2ca6 ++ .4byte 0x2cac ++ .uleb128 0x18 ++ .4byte 0x4f40 ++ .byte 0 ++ .uleb128 0x44 ++ .4byte .LASF458 ++ .byte 0x2 ++ .2byte 0x191 ++ .4byte 0xbc0 ++ .byte 0x1 ++ .uleb128 0x3d ++ .4byte .LASF352 ++ .4byte 0x296 ++ .uleb128 0x3d ++ .4byte .LASF353 ++ .4byte 0x6e1 ++ .uleb128 0x3d ++ .4byte .LASF354 ++ .4byte 0x997 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x2c84 ++ .uleb128 0x2 ++ .4byte .LASF468 ++ .byte 0x1e ++ .byte 0x94 ++ .4byte 0x2c84 ++ .uleb128 0x4c ++ .4byte .LASF785 ++ .byte 0xd ++ .byte 0x4f ++ .4byte 0x2cf2 ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x691 ++ .uleb128 0x10 ++ .4byte 0x2b89 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF469 ++ .byte 0x8 ++ .2byte 0x184 ++ .4byte 0x228 ++ .4byte 0x2d13 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF470 ++ .byte 0x8 ++ .2byte 0x2e9 ++ .4byte 0x228 ++ .4byte 0x2d29 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x1b8 ++ .uleb128 0x4d ++ .4byte .LASF471 ++ .byte 0x1f ++ .2byte 0x180 ++ .4byte 0x2d4f ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x20f ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2d55 ++ .uleb128 0x9 ++ .byte 0x4 ++ .byte 0x7 ++ .4byte .LASF472 ++ .uleb128 0x4d ++ .4byte .LASF473 ++ .byte 0x8 ++ .2byte 0x2f7 ++ .4byte 0x228 ++ .4byte 0x2d77 ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF474 ++ .byte 0x8 ++ .2byte 0x30d ++ .4byte 0x20f ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2d98 ++ .uleb128 0x10 ++ .4byte 0x2d55 ++ .uleb128 0x4d ++ .4byte .LASF475 ++ .byte 0x8 ++ .2byte 0x24b ++ .4byte 0x20f ++ .4byte 0x2db8 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF476 ++ .byte 0x1f ++ .2byte 0x159 ++ .4byte 0x20f ++ .4byte 0x2dd4 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x4e ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF477 ++ .byte 0x8 ++ .2byte 0x27b ++ .4byte 0x20f ++ .4byte 0x2df0 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x4e ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF478 ++ .byte 0x8 ++ .2byte 0x2ea ++ .4byte 0x228 ++ .4byte 0x2e06 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x4f ++ .4byte .LASF677 ++ .byte 0x8 ++ .2byte 0x2f0 ++ .4byte 0x228 ++ .uleb128 0x4d ++ .4byte .LASF479 ++ .byte 0x8 ++ .2byte 0x18f ++ .4byte 0x216 ++ .4byte 0x2e32 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2e32 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2a8 ++ .uleb128 0x4d ++ .4byte .LASF480 ++ .byte 0x8 ++ .2byte 0x16d ++ .4byte 0x216 ++ .4byte 0x2e5d ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2e32 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF481 ++ .byte 0x8 ++ .2byte 0x169 ++ .4byte 0x20f ++ .4byte 0x2e73 ++ .uleb128 0x19 ++ .4byte 0x2e73 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2e79 ++ .uleb128 0x10 ++ .4byte 0x2a8 ++ .uleb128 0x4d ++ .4byte .LASF482 ++ .byte 0x1f ++ .2byte 0x1da ++ .4byte 0x216 ++ .4byte 0x2ea3 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2ea3 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2e32 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2bf ++ .uleb128 0x4d ++ .4byte .LASF483 ++ .byte 0x8 ++ .2byte 0x2f8 ++ .4byte 0x228 ++ .4byte 0x2ec4 ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF484 ++ .byte 0x8 ++ .2byte 0x2fe ++ .4byte 0x228 ++ .4byte 0x2eda ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF485 ++ .byte 0x1f ++ .2byte 0x11d ++ .4byte 0x20f ++ .4byte 0x2efb ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x4e ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF486 ++ .byte 0x8 ++ .2byte 0x285 ++ .4byte 0x20f ++ .4byte 0x2f17 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x4e ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF487 ++ .byte 0x8 ++ .2byte 0x315 ++ .4byte 0x228 ++ .4byte 0x2f32 ++ .uleb128 0x19 ++ .4byte 0x228 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF488 ++ .byte 0x1f ++ .2byte 0x16c ++ .4byte 0x20f ++ .4byte 0x2f52 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x1c3 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF489 ++ .byte 0x8 ++ .2byte 0x2b1 ++ .4byte 0x20f ++ .4byte 0x2f72 ++ .uleb128 0x19 ++ .4byte 0x2d29 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x1c3 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF490 ++ .byte 0x1f ++ .2byte 0x13b ++ .4byte 0x20f ++ .4byte 0x2f97 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x1c3 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF491 ++ .byte 0x8 ++ .2byte 0x2bd ++ .4byte 0x20f ++ .4byte 0x2fb7 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x1c3 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF492 ++ .byte 0x1f ++ .2byte 0x166 ++ .4byte 0x20f ++ .4byte 0x2fd2 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x1c3 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF493 ++ .byte 0x8 ++ .2byte 0x2b9 ++ .4byte 0x20f ++ .4byte 0x2fed ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x1c3 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF494 ++ .byte 0x1f ++ .2byte 0x1b8 ++ .4byte 0x216 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .uleb128 0x19 ++ .4byte 0x2e32 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x296 ++ .uleb128 0x4a ++ .4byte .LASF495 ++ .byte 0x1f ++ .byte 0xf6 ++ .4byte 0x2d4f ++ .4byte 0x302d ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF496 ++ .byte 0x8 ++ .byte 0xa3 ++ .4byte 0x20f ++ .4byte 0x3047 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF497 ++ .byte 0x8 ++ .byte 0xc0 ++ .4byte 0x20f ++ .4byte 0x3061 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF498 ++ .byte 0x1f ++ .byte 0x98 ++ .4byte 0x2d4f ++ .4byte 0x307b ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF499 ++ .byte 0x8 ++ .byte 0xfc ++ .4byte 0x216 ++ .4byte 0x3095 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF500 ++ .byte 0x8 ++ .2byte 0x357 ++ .4byte 0x216 ++ .4byte 0x30ba ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x30ba ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x30c0 ++ .uleb128 0x10 ++ .4byte 0x30c5 ++ .uleb128 0x50 ++ .string "tm" ++ .byte 0x38 ++ .byte 0x20 ++ .byte 0x85 ++ .4byte 0x3155 ++ .uleb128 0x4 ++ .4byte .LASF501 ++ .byte 0x20 ++ .byte 0x87 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF502 ++ .byte 0x20 ++ .byte 0x88 ++ .4byte 0x20f ++ .byte 0x4 ++ .uleb128 0x4 ++ .4byte .LASF503 ++ .byte 0x20 ++ .byte 0x89 ++ .4byte 0x20f ++ .byte 0x8 ++ .uleb128 0x4 ++ .4byte .LASF504 ++ .byte 0x20 ++ .byte 0x8a ++ .4byte 0x20f ++ .byte 0xc ++ .uleb128 0x4 ++ .4byte .LASF505 ++ .byte 0x20 ++ .byte 0x8b ++ .4byte 0x20f ++ .byte 0x10 ++ .uleb128 0x4 ++ .4byte .LASF506 ++ .byte 0x20 ++ .byte 0x8c ++ .4byte 0x20f ++ .byte 0x14 ++ .uleb128 0x4 ++ .4byte .LASF507 ++ .byte 0x20 ++ .byte 0x8d ++ .4byte 0x20f ++ .byte 0x18 ++ .uleb128 0x4 ++ .4byte .LASF508 ++ .byte 0x20 ++ .byte 0x8e ++ .4byte 0x20f ++ .byte 0x1c ++ .uleb128 0x4 ++ .4byte .LASF509 ++ .byte 0x20 ++ .byte 0x8f ++ .4byte 0x20f ++ .byte 0x20 ++ .uleb128 0x4 ++ .4byte .LASF510 ++ .byte 0x20 ++ .byte 0x92 ++ .4byte 0x3299 ++ .byte 0x28 ++ .uleb128 0x4 ++ .4byte .LASF511 ++ .byte 0x20 ++ .byte 0x93 ++ .4byte 0x2bf ++ .byte 0x30 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF512 ++ .byte 0x8 ++ .2byte 0x11f ++ .4byte 0x216 ++ .4byte 0x316b ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF513 ++ .byte 0x1f ++ .2byte 0x107 ++ .4byte 0x2d4f ++ .4byte 0x318b ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF514 ++ .byte 0x8 ++ .byte 0xa6 ++ .4byte 0x20f ++ .4byte 0x31aa ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF515 ++ .byte 0x1f ++ .byte 0xbf ++ .4byte 0x2d4f ++ .4byte 0x31c9 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF516 ++ .byte 0x1f ++ .2byte 0x1fc ++ .4byte 0x216 ++ .4byte 0x31ee ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x31ee ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x2e32 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2d92 ++ .uleb128 0x4d ++ .4byte .LASF517 ++ .byte 0x8 ++ .2byte 0x100 ++ .4byte 0x216 ++ .4byte 0x320f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF518 ++ .byte 0x8 ++ .2byte 0x1c2 ++ .4byte 0x322a ++ .4byte 0x322a ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x8 ++ .byte 0x4 ++ .4byte .LASF519 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2d4f ++ .uleb128 0x4d ++ .4byte .LASF520 ++ .byte 0x8 ++ .2byte 0x1c9 ++ .4byte 0x3252 ++ .4byte 0x3252 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x4 ++ .byte 0x4 ++ .4byte .LASF521 ++ .uleb128 0x4d ++ .4byte .LASF522 ++ .byte 0x8 ++ .2byte 0x11a ++ .4byte 0x2d4f ++ .4byte 0x3279 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF523 ++ .byte 0x8 ++ .2byte 0x1d4 ++ .4byte 0x3299 ++ .4byte 0x3299 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x8 ++ .byte 0x5 ++ .4byte .LASF524 ++ .uleb128 0x4d ++ .4byte .LASF525 ++ .byte 0x8 ++ .2byte 0x1d9 ++ .4byte 0x221 ++ .4byte 0x32c0 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF526 ++ .byte 0x8 ++ .byte 0xc4 ++ .4byte 0x216 ++ .4byte 0x32df ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF527 ++ .byte 0x8 ++ .2byte 0x18a ++ .4byte 0x20f ++ .4byte 0x32f5 ++ .uleb128 0x19 ++ .4byte 0x228 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF528 ++ .byte 0x8 ++ .2byte 0x145 ++ .4byte 0x20f ++ .4byte 0x3315 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF529 ++ .byte 0x1f ++ .byte 0x27 ++ .4byte 0x2d4f ++ .4byte 0x3334 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF530 ++ .byte 0x1f ++ .byte 0x44 ++ .4byte 0x2d4f ++ .4byte 0x3353 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF531 ++ .byte 0x1f ++ .byte 0x81 ++ .4byte 0x2d4f ++ .4byte 0x3372 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF532 ++ .byte 0x1f ++ .2byte 0x153 ++ .4byte 0x20f ++ .4byte 0x3389 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x4e ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF533 ++ .byte 0x8 ++ .2byte 0x282 ++ .4byte 0x20f ++ .4byte 0x33a0 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x4e ++ .byte 0 ++ .uleb128 0x26 ++ .4byte .LASF534 ++ .byte 0x8 ++ .byte 0xe0 ++ .4byte .LASF534 ++ .4byte 0x2d92 ++ .4byte 0x33be ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF535 ++ .byte 0x8 ++ .2byte 0x106 ++ .4byte .LASF535 ++ .4byte 0x2d92 ++ .4byte 0x33dd ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x26 ++ .4byte .LASF536 ++ .byte 0x8 ++ .byte 0xea ++ .4byte .LASF536 ++ .4byte 0x2d92 ++ .4byte 0x33fb ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF537 ++ .byte 0x8 ++ .2byte 0x111 ++ .4byte .LASF537 ++ .4byte 0x2d92 ++ .4byte 0x341a ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .byte 0 ++ .uleb128 0x27 ++ .4byte .LASF538 ++ .byte 0x8 ++ .2byte 0x13c ++ .4byte .LASF538 ++ .4byte 0x2d92 ++ .4byte 0x343e ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x15 ++ .4byte .LASF539 ++ .byte 0x9 ++ .byte 0xf2 ++ .4byte 0x3cdb ++ .uleb128 0x13 ++ .byte 0x9 ++ .byte 0xf8 ++ .4byte 0x3cdb ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x101 ++ .4byte 0x3cfd ++ .uleb128 0x14 ++ .byte 0x9 ++ .2byte 0x102 ++ .4byte 0x3d24 ++ .uleb128 0x13 ++ .byte 0x21 ++ .byte 0x2c ++ .4byte 0x8a8 ++ .uleb128 0x13 ++ .byte 0x21 ++ .byte 0x2d ++ .4byte 0x98c ++ .uleb128 0x16 ++ .4byte .LASF540 ++ .byte 0x1 ++ .byte 0x21 ++ .byte 0x3a ++ .4byte 0x35bc ++ .uleb128 0x2b ++ .4byte .LASF104 ++ .byte 0x21 ++ .byte 0x3d ++ .4byte 0x8a8 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF447 ++ .byte 0x21 ++ .byte 0x3f ++ .4byte 0x300d ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF541 ++ .byte 0x21 ++ .byte 0x40 ++ .4byte 0x2bf ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF105 ++ .byte 0x21 ++ .byte 0x41 ++ .4byte 0x40a9 ++ .byte 0x1 ++ .uleb128 0x2b ++ .4byte .LASF106 ++ .byte 0x21 ++ .byte 0x42 ++ .4byte 0x40af ++ .byte 0x1 ++ .uleb128 0x1c ++ .4byte .LASF542 ++ .byte 0x21 ++ .byte 0x4f ++ .byte 0x1 ++ .4byte 0x34c6 ++ .4byte 0x34cc ++ .uleb128 0x18 ++ .4byte 0x40b5 ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF542 ++ .byte 0x21 ++ .byte 0x51 ++ .byte 0x1 ++ .4byte 0x34dc ++ .4byte 0x34e7 ++ .uleb128 0x18 ++ .4byte 0x40b5 ++ .uleb128 0x19 ++ .4byte 0x40bb ++ .byte 0 ++ .uleb128 0x1c ++ .4byte .LASF543 ++ .byte 0x21 ++ .byte 0x56 ++ .byte 0x1 ++ .4byte 0x34f7 ++ .4byte 0x3502 ++ .uleb128 0x18 ++ .4byte 0x40b5 ++ .uleb128 0x18 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF544 ++ .byte 0x21 ++ .byte 0x59 ++ .4byte .LASF545 ++ .4byte 0x3486 ++ .byte 0x1 ++ .4byte 0x351a ++ .4byte 0x3525 ++ .uleb128 0x18 ++ .4byte 0x40c1 ++ .uleb128 0x19 ++ .4byte 0x349e ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF544 ++ .byte 0x21 ++ .byte 0x5d ++ .4byte .LASF546 ++ .4byte 0x3492 ++ .byte 0x1 ++ .4byte 0x353d ++ .4byte 0x3548 ++ .uleb128 0x18 ++ .4byte 0x40c1 ++ .uleb128 0x19 ++ .4byte 0x34aa ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF547 ++ .byte 0x21 ++ .byte 0x63 ++ .4byte .LASF548 ++ .4byte 0x3486 ++ .byte 0x1 ++ .4byte 0x3560 ++ .4byte 0x3570 ++ .uleb128 0x18 ++ .4byte 0x40b5 ++ .uleb128 0x19 ++ .4byte 0x347a ++ .uleb128 0x19 ++ .4byte 0x40a2 ++ .byte 0 ++ .uleb128 0x1e ++ .4byte .LASF549 ++ .byte 0x21 ++ .byte 0x6d ++ .4byte .LASF550 ++ .byte 0x1 ++ .4byte 0x3584 ++ .4byte 0x3594 ++ .uleb128 0x18 ++ .4byte 0x40b5 ++ .uleb128 0x19 ++ .4byte 0x3486 ++ .uleb128 0x19 ++ .4byte 0x347a ++ .byte 0 ++ .uleb128 0x1d ++ .4byte .LASF217 ++ .byte 0x21 ++ .byte 0x71 ++ .4byte .LASF551 ++ .4byte 0x347a ++ .byte 0x1 ++ .4byte 0x35ac ++ .4byte 0x35b2 ++ .uleb128 0x18 ++ .4byte 0x40c1 ++ .byte 0 ++ .uleb128 0x40 ++ .string "_Tp" ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x346e ++ .uleb128 0x3 ++ .4byte .LASF552 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x37 ++ .4byte 0x3603 ++ .uleb128 0x31 ++ .4byte .LASF553 ++ .byte 0x22 ++ .byte 0x3a ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF554 ++ .byte 0x22 ++ .byte 0x3b ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x3f ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF556 ++ .byte 0x22 ++ .byte 0x40 ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xc9 ++ .4byte 0x4158 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xd9 ++ .4byte 0x43ce ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xe4 ++ .4byte 0x43e9 ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xe5 ++ .4byte 0x43ff ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xe6 ++ .4byte 0x441e ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xe8 ++ .4byte 0x443d ++ .uleb128 0x13 ++ .byte 0x13 ++ .byte 0xe9 ++ .4byte 0x4457 ++ .uleb128 0x25 ++ .string "div" ++ .byte 0x13 ++ .byte 0xd6 ++ .4byte .LASF558 ++ .4byte 0x4158 ++ .4byte 0x3652 ++ .uleb128 0x19 ++ .4byte 0x3d1d ++ .uleb128 0x19 ++ .4byte 0x3d1d ++ .byte 0 ++ .uleb128 0x51 ++ .4byte .LASF559 ++ .byte 0x8 ++ .byte 0x23 ++ .2byte 0x2c4 ++ .4byte 0x3876 ++ .uleb128 0x52 ++ .4byte .LASF560 ++ .byte 0x23 ++ .2byte 0x2c7 ++ .4byte 0x300d ++ .byte 0 ++ .byte 0x2 ++ .uleb128 0x44 ++ .4byte .LASF446 ++ .byte 0x23 ++ .2byte 0x2cf ++ .4byte 0x2ab9 ++ .byte 0x1 ++ .uleb128 0x44 ++ .4byte .LASF105 ++ .byte 0x23 ++ .2byte 0x2d0 ++ .4byte 0x2acf ++ .byte 0x1 ++ .uleb128 0x44 ++ .4byte .LASF447 ++ .byte 0x23 ++ .2byte 0x2d1 ++ .4byte 0x2ac4 ++ .byte 0x1 ++ .uleb128 0x38 ++ .4byte .LASF561 ++ .byte 0x23 ++ .2byte 0x2d3 ++ .byte 0x1 ++ .4byte 0x36a5 ++ .4byte 0x36ab ++ .uleb128 0x18 ++ .4byte 0x489b ++ .byte 0 ++ .uleb128 0x39 ++ .4byte .LASF561 ++ .byte 0x23 ++ .2byte 0x2d6 ++ .byte 0x1 ++ .4byte 0x36bc ++ .4byte 0x36c7 ++ .uleb128 0x18 ++ .4byte 0x489b ++ .uleb128 0x19 ++ .4byte 0x48a1 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF562 ++ .byte 0x23 ++ .2byte 0x2e2 ++ .4byte .LASF563 ++ .4byte 0x367a ++ .byte 0x1 ++ .4byte 0x36e0 ++ .4byte 0x36e6 ++ .uleb128 0x18 ++ .4byte 0x48ac ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF564 ++ .byte 0x23 ++ .2byte 0x2e6 ++ .4byte .LASF565 ++ .4byte 0x3687 ++ .byte 0x1 ++ .4byte 0x36ff ++ .4byte 0x3705 ++ .uleb128 0x18 ++ .4byte 0x48ac ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF566 ++ .byte 0x23 ++ .2byte 0x2ea ++ .4byte .LASF567 ++ .4byte 0x48b2 ++ .byte 0x1 ++ .4byte 0x371e ++ .4byte 0x3724 ++ .uleb128 0x18 ++ .4byte 0x489b ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF566 ++ .byte 0x23 ++ .2byte 0x2f1 ++ .4byte .LASF568 ++ .4byte 0x3652 ++ .byte 0x1 ++ .4byte 0x373d ++ .4byte 0x3748 ++ .uleb128 0x18 ++ .4byte 0x489b ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF569 ++ .byte 0x23 ++ .2byte 0x2f6 ++ .4byte .LASF570 ++ .4byte 0x48b2 ++ .byte 0x1 ++ .4byte 0x3761 ++ .4byte 0x3767 ++ .uleb128 0x18 ++ .4byte 0x489b ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF569 ++ .byte 0x23 ++ .2byte 0x2fd ++ .4byte .LASF571 ++ .4byte 0x3652 ++ .byte 0x1 ++ .4byte 0x3780 ++ .4byte 0x378b ++ .uleb128 0x18 ++ .4byte 0x489b ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF232 ++ .byte 0x23 ++ .2byte 0x302 ++ .4byte .LASF572 ++ .4byte 0x367a ++ .byte 0x1 ++ .4byte 0x37a4 ++ .4byte 0x37af ++ .uleb128 0x18 ++ .4byte 0x48ac ++ .uleb128 0x19 ++ .4byte 0x48b8 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x366d ++ .uleb128 0x3a ++ .4byte .LASF243 ++ .byte 0x23 ++ .2byte 0x306 ++ .4byte .LASF573 ++ .4byte 0x48b2 ++ .byte 0x1 ++ .4byte 0x37cd ++ .4byte 0x37d8 ++ .uleb128 0x18 ++ .4byte 0x489b ++ .uleb128 0x19 ++ .4byte 0x48b8 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF574 ++ .byte 0x23 ++ .2byte 0x30a ++ .4byte .LASF575 ++ .4byte 0x3652 ++ .byte 0x1 ++ .4byte 0x37f1 ++ .4byte 0x37fc ++ .uleb128 0x18 ++ .4byte 0x48ac ++ .uleb128 0x19 ++ .4byte 0x48b8 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF576 ++ .byte 0x23 ++ .2byte 0x30e ++ .4byte .LASF577 ++ .4byte 0x48b2 ++ .byte 0x1 ++ .4byte 0x3815 ++ .4byte 0x3820 ++ .uleb128 0x18 ++ .4byte 0x489b ++ .uleb128 0x19 ++ .4byte 0x48b8 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF578 ++ .byte 0x23 ++ .2byte 0x312 ++ .4byte .LASF579 ++ .4byte 0x3652 ++ .byte 0x1 ++ .4byte 0x3839 ++ .4byte 0x3844 ++ .uleb128 0x18 ++ .4byte 0x48ac ++ .uleb128 0x19 ++ .4byte 0x48b8 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF580 ++ .byte 0x23 ++ .2byte 0x316 ++ .4byte .LASF581 ++ .4byte 0x48a1 ++ .byte 0x1 ++ .4byte 0x385d ++ .4byte 0x3863 ++ .uleb128 0x18 ++ .4byte 0x48ac ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF448 ++ .4byte 0x300d ++ .uleb128 0x3d ++ .4byte .LASF582 ++ .4byte 0xbc0 ++ .byte 0 ++ .uleb128 0x51 ++ .4byte .LASF583 ++ .byte 0x8 ++ .byte 0x23 ++ .2byte 0x2c4 ++ .4byte 0x3a9a ++ .uleb128 0x52 ++ .4byte .LASF560 ++ .byte 0x23 ++ .2byte 0x2c7 ++ .4byte 0x2bf ++ .byte 0 ++ .byte 0x2 ++ .uleb128 0x44 ++ .4byte .LASF446 ++ .byte 0x23 ++ .2byte 0x2cf ++ .4byte 0x2af0 ++ .byte 0x1 ++ .uleb128 0x44 ++ .4byte .LASF105 ++ .byte 0x23 ++ .2byte 0x2d0 ++ .4byte 0x2b06 ++ .byte 0x1 ++ .uleb128 0x44 ++ .4byte .LASF447 ++ .byte 0x23 ++ .2byte 0x2d1 ++ .4byte 0x2afb ++ .byte 0x1 ++ .uleb128 0x38 ++ .4byte .LASF561 ++ .byte 0x23 ++ .2byte 0x2d3 ++ .byte 0x1 ++ .4byte 0x38c9 ++ .4byte 0x38cf ++ .uleb128 0x18 ++ .4byte 0x487d ++ .byte 0 ++ .uleb128 0x39 ++ .4byte .LASF561 ++ .byte 0x23 ++ .2byte 0x2d6 ++ .byte 0x1 ++ .4byte 0x38e0 ++ .4byte 0x38eb ++ .uleb128 0x18 ++ .4byte 0x487d ++ .uleb128 0x19 ++ .4byte 0x4883 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF562 ++ .byte 0x23 ++ .2byte 0x2e2 ++ .4byte .LASF584 ++ .4byte 0x389e ++ .byte 0x1 ++ .4byte 0x3904 ++ .4byte 0x390a ++ .uleb128 0x18 ++ .4byte 0x4889 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF564 ++ .byte 0x23 ++ .2byte 0x2e6 ++ .4byte .LASF585 ++ .4byte 0x38ab ++ .byte 0x1 ++ .4byte 0x3923 ++ .4byte 0x3929 ++ .uleb128 0x18 ++ .4byte 0x4889 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF566 ++ .byte 0x23 ++ .2byte 0x2ea ++ .4byte .LASF586 ++ .4byte 0x488f ++ .byte 0x1 ++ .4byte 0x3942 ++ .4byte 0x3948 ++ .uleb128 0x18 ++ .4byte 0x487d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF566 ++ .byte 0x23 ++ .2byte 0x2f1 ++ .4byte .LASF587 ++ .4byte 0x3876 ++ .byte 0x1 ++ .4byte 0x3961 ++ .4byte 0x396c ++ .uleb128 0x18 ++ .4byte 0x487d ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF569 ++ .byte 0x23 ++ .2byte 0x2f6 ++ .4byte .LASF588 ++ .4byte 0x488f ++ .byte 0x1 ++ .4byte 0x3985 ++ .4byte 0x398b ++ .uleb128 0x18 ++ .4byte 0x487d ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF569 ++ .byte 0x23 ++ .2byte 0x2fd ++ .4byte .LASF589 ++ .4byte 0x3876 ++ .byte 0x1 ++ .4byte 0x39a4 ++ .4byte 0x39af ++ .uleb128 0x18 ++ .4byte 0x487d ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF232 ++ .byte 0x23 ++ .2byte 0x302 ++ .4byte .LASF590 ++ .4byte 0x389e ++ .byte 0x1 ++ .4byte 0x39c8 ++ .4byte 0x39d3 ++ .uleb128 0x18 ++ .4byte 0x4889 ++ .uleb128 0x19 ++ .4byte 0x4895 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x3891 ++ .uleb128 0x3a ++ .4byte .LASF243 ++ .byte 0x23 ++ .2byte 0x306 ++ .4byte .LASF591 ++ .4byte 0x488f ++ .byte 0x1 ++ .4byte 0x39f1 ++ .4byte 0x39fc ++ .uleb128 0x18 ++ .4byte 0x487d ++ .uleb128 0x19 ++ .4byte 0x4895 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF574 ++ .byte 0x23 ++ .2byte 0x30a ++ .4byte .LASF592 ++ .4byte 0x3876 ++ .byte 0x1 ++ .4byte 0x3a15 ++ .4byte 0x3a20 ++ .uleb128 0x18 ++ .4byte 0x4889 ++ .uleb128 0x19 ++ .4byte 0x4895 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF576 ++ .byte 0x23 ++ .2byte 0x30e ++ .4byte .LASF593 ++ .4byte 0x488f ++ .byte 0x1 ++ .4byte 0x3a39 ++ .4byte 0x3a44 ++ .uleb128 0x18 ++ .4byte 0x487d ++ .uleb128 0x19 ++ .4byte 0x4895 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF578 ++ .byte 0x23 ++ .2byte 0x312 ++ .4byte .LASF594 ++ .4byte 0x3876 ++ .byte 0x1 ++ .4byte 0x3a5d ++ .4byte 0x3a68 ++ .uleb128 0x18 ++ .4byte 0x4889 ++ .uleb128 0x19 ++ .4byte 0x4895 ++ .byte 0 ++ .uleb128 0x3a ++ .4byte .LASF580 ++ .byte 0x23 ++ .2byte 0x316 ++ .4byte .LASF595 ++ .4byte 0x4883 ++ .byte 0x1 ++ .4byte 0x3a81 ++ .4byte 0x3a87 ++ .uleb128 0x18 ++ .4byte 0x4889 ++ .byte 0 ++ .uleb128 0x3d ++ .4byte .LASF448 ++ .4byte 0x2bf ++ .uleb128 0x3d ++ .4byte .LASF582 ++ .4byte 0xbc0 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF596 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x64 ++ .4byte 0x3adc ++ .uleb128 0x31 ++ .4byte .LASF597 ++ .byte 0x22 ++ .byte 0x67 ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x6a ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF598 ++ .byte 0x22 ++ .byte 0x6b ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF599 ++ .byte 0x22 ++ .byte 0x6c ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x3252 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF600 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x64 ++ .4byte 0x3b1e ++ .uleb128 0x31 ++ .4byte .LASF597 ++ .byte 0x22 ++ .byte 0x67 ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x6a ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF598 ++ .byte 0x22 ++ .byte 0x6b ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF599 ++ .byte 0x22 ++ .byte 0x6c ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x322a ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF601 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x64 ++ .4byte 0x3b60 ++ .uleb128 0x31 ++ .4byte .LASF597 ++ .byte 0x22 ++ .byte 0x67 ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x6a ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF598 ++ .byte 0x22 ++ .byte 0x6b ++ .4byte 0x2ba ++ .uleb128 0x31 ++ .4byte .LASF599 ++ .byte 0x22 ++ .byte 0x6c ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x3cf6 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF602 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x37 ++ .4byte 0x3ba2 ++ .uleb128 0x31 ++ .4byte .LASF553 ++ .byte 0x22 ++ .byte 0x3a ++ .4byte 0x3d95 ++ .uleb128 0x31 ++ .4byte .LASF554 ++ .byte 0x22 ++ .byte 0x3b ++ .4byte 0x3d95 ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x3f ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF556 ++ .byte 0x22 ++ .byte 0x40 ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x221 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF603 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x37 ++ .4byte 0x3be4 ++ .uleb128 0x31 ++ .4byte .LASF553 ++ .byte 0x22 ++ .byte 0x3a ++ .4byte 0x2c5 ++ .uleb128 0x31 ++ .4byte .LASF554 ++ .byte 0x22 ++ .byte 0x3b ++ .4byte 0x2c5 ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x3f ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF556 ++ .byte 0x22 ++ .byte 0x40 ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x296 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF604 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x37 ++ .4byte 0x3c26 ++ .uleb128 0x31 ++ .4byte .LASF553 ++ .byte 0x22 ++ .byte 0x3a ++ .4byte 0x4868 ++ .uleb128 0x31 ++ .4byte .LASF554 ++ .byte 0x22 ++ .byte 0x3b ++ .4byte 0x4868 ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x3f ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF556 ++ .byte 0x22 ++ .byte 0x40 ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x3d89 ++ .byte 0 ++ .uleb128 0x3 ++ .4byte .LASF605 ++ .byte 0x1 ++ .byte 0x22 ++ .byte 0x37 ++ .4byte 0x3c68 ++ .uleb128 0x31 ++ .4byte .LASF553 ++ .byte 0x22 ++ .byte 0x3a ++ .4byte 0x486d ++ .uleb128 0x31 ++ .4byte .LASF554 ++ .byte 0x22 ++ .byte 0x3b ++ .4byte 0x486d ++ .uleb128 0x31 ++ .4byte .LASF555 ++ .byte 0x22 ++ .byte 0x3f ++ .4byte 0x3d90 ++ .uleb128 0x31 ++ .4byte .LASF556 ++ .byte 0x22 ++ .byte 0x40 ++ .4byte 0x2ba ++ .uleb128 0x3d ++ .4byte .LASF557 ++ .4byte 0x3299 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x3876 ++ .uleb128 0x10 ++ .4byte 0x3652 ++ .uleb128 0x53 ++ .4byte .LASF606 ++ .byte 0x24 ++ .byte 0x30 ++ .4byte 0x4097 ++ .4byte 0x3c8c ++ .uleb128 0x19 ++ .4byte 0x4916 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x53 ++ .4byte .LASF607 ++ .byte 0x24 ++ .byte 0x41 ++ .4byte 0x4097 ++ .4byte 0x3ca6 ++ .uleb128 0x19 ++ .4byte 0x4942 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x53 ++ .4byte .LASF608 ++ .byte 0x24 ++ .byte 0x4e ++ .4byte 0x4097 ++ .4byte 0x3cc0 ++ .uleb128 0x19 ++ .4byte 0x4942 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x54 ++ .4byte .LASF703 ++ .byte 0x2e ++ .byte 0x96 ++ .4byte 0x3d6e ++ .uleb128 0x3d ++ .4byte .LASF609 ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF610 ++ .byte 0x8 ++ .2byte 0x1cb ++ .4byte 0x3cf6 ++ .4byte 0x3cf6 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x10 ++ .byte 0x4 ++ .4byte .LASF611 ++ .uleb128 0x4d ++ .4byte .LASF612 ++ .byte 0x8 ++ .2byte 0x1e3 ++ .4byte 0x3d1d ++ .4byte 0x3d1d ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x8 ++ .byte 0x5 ++ .4byte .LASF613 ++ .uleb128 0x4d ++ .4byte .LASF614 ++ .byte 0x8 ++ .2byte 0x1ea ++ .4byte 0x3d44 ++ .4byte 0x3d44 ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x3231 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x9 ++ .byte 0x8 ++ .byte 0x7 ++ .4byte .LASF615 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x4c6 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x667 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x667 ++ .uleb128 0x56 ++ .4byte .LASF813 ++ .uleb128 0x57 ++ .byte 0x8 ++ .4byte 0x4c6 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x4c6 ++ .uleb128 0x9 ++ .byte 0x1 ++ .byte 0x2 ++ .4byte .LASF616 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x684 ++ .uleb128 0x9 ++ .byte 0x1 ++ .byte 0x8 ++ .4byte .LASF617 ++ .uleb128 0x9 ++ .byte 0x1 ++ .byte 0x6 ++ .4byte .LASF618 ++ .uleb128 0x9 ++ .byte 0x2 ++ .byte 0x5 ++ .4byte .LASF619 ++ .uleb128 0x10 ++ .4byte 0x3d6e ++ .uleb128 0x10 ++ .4byte 0x221 ++ .uleb128 0x15 ++ .4byte .LASF620 ++ .byte 0x25 ++ .byte 0x37 ++ .4byte 0x3dad ++ .uleb128 0x58 ++ .byte 0x25 ++ .byte 0x38 ++ .4byte 0x6da ++ .byte 0 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x6ed ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x71d ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x71d ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x6ed ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x843 ++ .uleb128 0x2 ++ .4byte .LASF621 ++ .byte 0x26 ++ .byte 0x24 ++ .4byte 0x3d82 ++ .uleb128 0x2 ++ .4byte .LASF622 ++ .byte 0x26 ++ .byte 0x25 ++ .4byte 0x3d89 ++ .uleb128 0x2 ++ .4byte .LASF623 ++ .byte 0x26 ++ .byte 0x26 ++ .4byte 0x20f ++ .uleb128 0x2 ++ .4byte .LASF624 ++ .byte 0x26 ++ .byte 0x28 ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF625 ++ .byte 0x26 ++ .byte 0x30 ++ .4byte 0x3d7b ++ .uleb128 0x2 ++ .4byte .LASF626 ++ .byte 0x26 ++ .byte 0x31 ++ .4byte 0x2b3 ++ .uleb128 0x2 ++ .4byte .LASF627 ++ .byte 0x26 ++ .byte 0x33 ++ .4byte 0x234 ++ .uleb128 0x2 ++ .4byte .LASF628 ++ .byte 0x26 ++ .byte 0x37 ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF629 ++ .byte 0x26 ++ .byte 0x41 ++ .4byte 0x3d82 ++ .uleb128 0x2 ++ .4byte .LASF630 ++ .byte 0x26 ++ .byte 0x42 ++ .4byte 0x3d89 ++ .uleb128 0x2 ++ .4byte .LASF631 ++ .byte 0x26 ++ .byte 0x43 ++ .4byte 0x20f ++ .uleb128 0x2 ++ .4byte .LASF632 ++ .byte 0x26 ++ .byte 0x45 ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF633 ++ .byte 0x26 ++ .byte 0x4c ++ .4byte 0x3d7b ++ .uleb128 0x2 ++ .4byte .LASF634 ++ .byte 0x26 ++ .byte 0x4d ++ .4byte 0x2b3 ++ .uleb128 0x2 ++ .4byte .LASF635 ++ .byte 0x26 ++ .byte 0x4e ++ .4byte 0x234 ++ .uleb128 0x2 ++ .4byte .LASF636 ++ .byte 0x26 ++ .byte 0x50 ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF637 ++ .byte 0x26 ++ .byte 0x5a ++ .4byte 0x3d82 ++ .uleb128 0x2 ++ .4byte .LASF638 ++ .byte 0x26 ++ .byte 0x5c ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF639 ++ .byte 0x26 ++ .byte 0x5d ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF640 ++ .byte 0x26 ++ .byte 0x5e ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF641 ++ .byte 0x26 ++ .byte 0x67 ++ .4byte 0x3d7b ++ .uleb128 0x2 ++ .4byte .LASF642 ++ .byte 0x26 ++ .byte 0x69 ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF643 ++ .byte 0x26 ++ .byte 0x6a ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF644 ++ .byte 0x26 ++ .byte 0x6b ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF645 ++ .byte 0x26 ++ .byte 0x77 ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF646 ++ .byte 0x26 ++ .byte 0x7a ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF647 ++ .byte 0x26 ++ .byte 0x86 ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF648 ++ .byte 0x26 ++ .byte 0x87 ++ .4byte 0x221 ++ .uleb128 0x9 ++ .byte 0x2 ++ .byte 0x10 ++ .4byte .LASF649 ++ .uleb128 0x9 ++ .byte 0x4 ++ .byte 0x10 ++ .4byte .LASF650 ++ .uleb128 0x3 ++ .4byte .LASF651 ++ .byte 0x60 ++ .byte 0x27 ++ .byte 0x35 ++ .4byte 0x403a ++ .uleb128 0x4 ++ .4byte .LASF652 ++ .byte 0x27 ++ .byte 0x39 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF653 ++ .byte 0x27 ++ .byte 0x3a ++ .4byte 0x300d ++ .byte 0x8 ++ .uleb128 0x4 ++ .4byte .LASF654 ++ .byte 0x27 ++ .byte 0x40 ++ .4byte 0x300d ++ .byte 0x10 ++ .uleb128 0x4 ++ .4byte .LASF655 ++ .byte 0x27 ++ .byte 0x46 ++ .4byte 0x300d ++ .byte 0x18 ++ .uleb128 0x4 ++ .4byte .LASF656 ++ .byte 0x27 ++ .byte 0x47 ++ .4byte 0x300d ++ .byte 0x20 ++ .uleb128 0x4 ++ .4byte .LASF657 ++ .byte 0x27 ++ .byte 0x48 ++ .4byte 0x300d ++ .byte 0x28 ++ .uleb128 0x4 ++ .4byte .LASF658 ++ .byte 0x27 ++ .byte 0x49 ++ .4byte 0x300d ++ .byte 0x30 ++ .uleb128 0x4 ++ .4byte .LASF659 ++ .byte 0x27 ++ .byte 0x4a ++ .4byte 0x300d ++ .byte 0x38 ++ .uleb128 0x4 ++ .4byte .LASF660 ++ .byte 0x27 ++ .byte 0x4b ++ .4byte 0x300d ++ .byte 0x40 ++ .uleb128 0x4 ++ .4byte .LASF661 ++ .byte 0x27 ++ .byte 0x4c ++ .4byte 0x300d ++ .byte 0x48 ++ .uleb128 0x4 ++ .4byte .LASF662 ++ .byte 0x27 ++ .byte 0x4d ++ .4byte 0x296 ++ .byte 0x50 ++ .uleb128 0x4 ++ .4byte .LASF663 ++ .byte 0x27 ++ .byte 0x4e ++ .4byte 0x296 ++ .byte 0x51 ++ .uleb128 0x4 ++ .4byte .LASF664 ++ .byte 0x27 ++ .byte 0x50 ++ .4byte 0x296 ++ .byte 0x52 ++ .uleb128 0x4 ++ .4byte .LASF665 ++ .byte 0x27 ++ .byte 0x52 ++ .4byte 0x296 ++ .byte 0x53 ++ .uleb128 0x4 ++ .4byte .LASF666 ++ .byte 0x27 ++ .byte 0x54 ++ .4byte 0x296 ++ .byte 0x54 ++ .uleb128 0x4 ++ .4byte .LASF667 ++ .byte 0x27 ++ .byte 0x56 ++ .4byte 0x296 ++ .byte 0x55 ++ .uleb128 0x4 ++ .4byte .LASF668 ++ .byte 0x27 ++ .byte 0x5d ++ .4byte 0x296 ++ .byte 0x56 ++ .uleb128 0x4 ++ .4byte .LASF669 ++ .byte 0x27 ++ .byte 0x5e ++ .4byte 0x296 ++ .byte 0x57 ++ .uleb128 0x4 ++ .4byte .LASF670 ++ .byte 0x27 ++ .byte 0x61 ++ .4byte 0x296 ++ .byte 0x58 ++ .uleb128 0x4 ++ .4byte .LASF671 ++ .byte 0x27 ++ .byte 0x63 ++ .4byte 0x296 ++ .byte 0x59 ++ .uleb128 0x4 ++ .4byte .LASF672 ++ .byte 0x27 ++ .byte 0x65 ++ .4byte 0x296 ++ .byte 0x5a ++ .uleb128 0x4 ++ .4byte .LASF673 ++ .byte 0x27 ++ .byte 0x67 ++ .4byte 0x296 ++ .byte 0x5b ++ .uleb128 0x4 ++ .4byte .LASF674 ++ .byte 0x27 ++ .byte 0x6e ++ .4byte 0x296 ++ .byte 0x5c ++ .uleb128 0x4 ++ .4byte .LASF675 ++ .byte 0x27 ++ .byte 0x6f ++ .4byte 0x296 ++ .byte 0x5d ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF676 ++ .byte 0x27 ++ .byte 0x7c ++ .4byte 0x300d ++ .4byte 0x4054 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x59 ++ .4byte .LASF678 ++ .byte 0x27 ++ .byte 0x7f ++ .4byte 0x405f ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x3f0d ++ .uleb128 0x2 ++ .4byte .LASF679 ++ .byte 0x28 ++ .byte 0x28 ++ .4byte 0x20f ++ .uleb128 0x2 ++ .4byte .LASF680 ++ .byte 0x28 ++ .byte 0x83 ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF681 ++ .byte 0x28 ++ .byte 0x84 ++ .4byte 0x3299 ++ .uleb128 0x5a ++ .4byte 0x4091 ++ .uleb128 0x19 ++ .4byte 0x20d ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x4086 ++ .uleb128 0x2 ++ .4byte .LASF682 ++ .byte 0x29 ++ .byte 0x20 ++ .4byte 0x20f ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x40a8 ++ .uleb128 0x5b ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x296 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x2c5 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x346e ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x35bc ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x35bc ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x997 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0xa17 ++ .uleb128 0xb ++ .byte 0x8 ++ .byte 0x2a ++ .byte 0x62 ++ .4byte .LASF684 ++ .4byte 0x40f8 ++ .uleb128 0x4 ++ .4byte .LASF685 ++ .byte 0x2a ++ .byte 0x63 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x5c ++ .string "rem" ++ .byte 0x2a ++ .byte 0x64 ++ .4byte 0x20f ++ .byte 0x4 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF686 ++ .byte 0x2a ++ .byte 0x65 ++ .4byte 0x40d3 ++ .uleb128 0xb ++ .byte 0x10 ++ .byte 0x2a ++ .byte 0x6a ++ .4byte .LASF687 ++ .4byte 0x4128 ++ .uleb128 0x4 ++ .4byte .LASF685 ++ .byte 0x2a ++ .byte 0x6b ++ .4byte 0x3299 ++ .byte 0 ++ .uleb128 0x5c ++ .string "rem" ++ .byte 0x2a ++ .byte 0x6c ++ .4byte 0x3299 ++ .byte 0x8 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF688 ++ .byte 0x2a ++ .byte 0x6d ++ .4byte 0x4103 ++ .uleb128 0xb ++ .byte 0x10 ++ .byte 0x2a ++ .byte 0x76 ++ .4byte .LASF689 ++ .4byte 0x4158 ++ .uleb128 0x4 ++ .4byte .LASF685 ++ .byte 0x2a ++ .byte 0x77 ++ .4byte 0x3d1d ++ .byte 0 ++ .uleb128 0x5c ++ .string "rem" ++ .byte 0x2a ++ .byte 0x78 ++ .4byte 0x3d1d ++ .byte 0x8 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF690 ++ .byte 0x2a ++ .byte 0x79 ++ .4byte 0x4133 ++ .uleb128 0xa ++ .4byte .LASF691 ++ .byte 0x2a ++ .2byte 0x2e6 ++ .4byte 0x416f ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x4175 ++ .uleb128 0x5d ++ .4byte 0x20f ++ .4byte 0x4189 ++ .uleb128 0x19 ++ .4byte 0x40a2 ++ .uleb128 0x19 ++ .4byte 0x40a2 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF692 ++ .byte 0x2a ++ .2byte 0x207 ++ .4byte 0x20f ++ .4byte 0x419f ++ .uleb128 0x19 ++ .4byte 0x419f ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x41a5 ++ .uleb128 0x5e ++ .uleb128 0x27 ++ .4byte .LASF693 ++ .byte 0x2a ++ .2byte 0x20c ++ .4byte .LASF693 ++ .4byte 0x20f ++ .4byte 0x41c0 ++ .uleb128 0x19 ++ .4byte 0x419f ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF694 ++ .byte 0x2b ++ .byte 0x1a ++ .4byte 0x322a ++ .4byte 0x41d5 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF695 ++ .byte 0x2a ++ .2byte 0x116 ++ .4byte 0x20f ++ .4byte 0x41eb ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF696 ++ .byte 0x2a ++ .2byte 0x11b ++ .4byte 0x3299 ++ .4byte 0x4201 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF697 ++ .byte 0x2c ++ .byte 0x14 ++ .4byte 0x20d ++ .4byte 0x422a ++ .uleb128 0x19 ++ .4byte 0x40a2 ++ .uleb128 0x19 ++ .4byte 0x40a2 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x4163 ++ .byte 0 ++ .uleb128 0x5f ++ .string "div" ++ .byte 0x2a ++ .2byte 0x315 ++ .4byte 0x40f8 ++ .4byte 0x4245 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF698 ++ .byte 0x2a ++ .2byte 0x234 ++ .4byte 0x300d ++ .4byte 0x425b ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF699 ++ .byte 0x2a ++ .2byte 0x317 ++ .4byte 0x4128 ++ .4byte 0x4276 ++ .uleb128 0x19 ++ .4byte 0x3299 ++ .uleb128 0x19 ++ .4byte 0x3299 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF700 ++ .byte 0x2a ++ .2byte 0x35f ++ .4byte 0x20f ++ .4byte 0x4291 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF701 ++ .byte 0x2d ++ .byte 0x71 ++ .4byte 0x216 ++ .4byte 0x42b0 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF702 ++ .byte 0x2a ++ .2byte 0x362 ++ .4byte 0x20f ++ .4byte 0x42d0 ++ .uleb128 0x19 ++ .4byte 0x2d4f ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x60 ++ .4byte .LASF704 ++ .byte 0x2a ++ .2byte 0x2fd ++ .4byte 0x42f1 ++ .uleb128 0x19 ++ .4byte 0x20d ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x4163 ++ .byte 0 ++ .uleb128 0x60 ++ .4byte .LASF705 ++ .byte 0x2a ++ .2byte 0x225 ++ .4byte 0x4303 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4f ++ .4byte .LASF706 ++ .byte 0x2a ++ .2byte 0x176 ++ .4byte 0x20f ++ .uleb128 0x60 ++ .4byte .LASF707 ++ .byte 0x2a ++ .2byte 0x178 ++ .4byte 0x4321 ++ .uleb128 0x19 ++ .4byte 0x234 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF708 ++ .byte 0x2a ++ .byte 0xa4 ++ .4byte 0x322a ++ .4byte 0x433b ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x300d ++ .uleb128 0x4a ++ .4byte .LASF709 ++ .byte 0x2a ++ .byte 0xb7 ++ .4byte 0x3299 ++ .4byte 0x4360 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF710 ++ .byte 0x2a ++ .byte 0xbb ++ .4byte 0x221 ++ .4byte 0x437f ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF711 ++ .byte 0x2a ++ .2byte 0x2cd ++ .4byte 0x20f ++ .4byte 0x4395 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF712 ++ .byte 0x2d ++ .byte 0x90 ++ .4byte 0x216 ++ .4byte 0x43b4 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x2d92 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF713 ++ .byte 0x2d ++ .byte 0x53 ++ .4byte 0x20f ++ .4byte 0x43ce ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x2d55 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF714 ++ .byte 0x2a ++ .2byte 0x31d ++ .4byte 0x4158 ++ .4byte 0x43e9 ++ .uleb128 0x19 ++ .4byte 0x3d1d ++ .uleb128 0x19 ++ .4byte 0x3d1d ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF715 ++ .byte 0x2a ++ .2byte 0x124 ++ .4byte 0x3d1d ++ .4byte 0x43ff ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF716 ++ .byte 0x2a ++ .byte 0xd1 ++ .4byte 0x3d1d ++ .4byte 0x441e ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF717 ++ .byte 0x2a ++ .byte 0xd6 ++ .4byte 0x3d44 ++ .4byte 0x443d ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF718 ++ .byte 0x2a ++ .byte 0xac ++ .4byte 0x3252 ++ .4byte 0x4457 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF719 ++ .byte 0x2a ++ .byte 0xaf ++ .4byte 0x3cf6 ++ .4byte 0x4471 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x433b ++ .byte 0 ++ .uleb128 0xb ++ .byte 0x10 ++ .byte 0x2f ++ .byte 0x16 ++ .4byte .LASF720 ++ .4byte 0x4496 ++ .uleb128 0x4 ++ .4byte .LASF721 ++ .byte 0x2f ++ .byte 0x17 ++ .4byte 0x4070 ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF722 ++ .byte 0x2f ++ .byte 0x18 ++ .4byte 0x29d ++ .byte 0x8 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF723 ++ .byte 0x2f ++ .byte 0x19 ++ .4byte 0x4471 ++ .uleb128 0x61 ++ .4byte .LASF814 ++ .byte 0x3 ++ .byte 0x9a ++ .uleb128 0x3 ++ .4byte .LASF724 ++ .byte 0x18 ++ .byte 0x3 ++ .byte 0xa0 ++ .4byte 0x44d9 ++ .uleb128 0x4 ++ .4byte .LASF725 ++ .byte 0x3 ++ .byte 0xa1 ++ .4byte 0x44d9 ++ .byte 0 ++ .uleb128 0x4 ++ .4byte .LASF726 ++ .byte 0x3 ++ .byte 0xa2 ++ .4byte 0x44df ++ .byte 0x8 ++ .uleb128 0x4 ++ .4byte .LASF727 ++ .byte 0x3 ++ .byte 0xa6 ++ .4byte 0x20f ++ .byte 0x10 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x44a8 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x38 ++ .uleb128 0xe ++ .4byte 0x296 ++ .4byte 0x44f5 ++ .uleb128 0xf ++ .4byte 0x28f ++ .byte 0 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x44a1 ++ .uleb128 0xe ++ .4byte 0x296 ++ .4byte 0x450b ++ .uleb128 0xf ++ .4byte 0x28f ++ .byte 0x13 ++ .byte 0 ++ .uleb128 0x2 ++ .4byte .LASF728 ++ .byte 0x4 ++ .byte 0x6e ++ .4byte 0x4496 ++ .uleb128 0x60 ++ .4byte .LASF729 ++ .byte 0x4 ++ .2byte 0x33a ++ .4byte 0x4528 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2d ++ .uleb128 0x4a ++ .4byte .LASF730 ++ .byte 0x4 ++ .byte 0xed ++ .4byte 0x20f ++ .4byte 0x4543 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF731 ++ .byte 0x4 ++ .2byte 0x33c ++ .4byte 0x20f ++ .4byte 0x4559 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF732 ++ .byte 0x4 ++ .2byte 0x33e ++ .4byte 0x20f ++ .4byte 0x456f ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF733 ++ .byte 0x4 ++ .byte 0xf2 ++ .4byte 0x20f ++ .4byte 0x4584 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF734 ++ .byte 0x4 ++ .2byte 0x213 ++ .4byte 0x20f ++ .4byte 0x459a ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF735 ++ .byte 0x4 ++ .2byte 0x31e ++ .4byte 0x20f ++ .4byte 0x45b5 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .uleb128 0x19 ++ .4byte 0x45b5 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x450b ++ .uleb128 0x4a ++ .4byte .LASF736 ++ .byte 0x30 ++ .byte 0xfd ++ .4byte 0x300d ++ .4byte 0x45da ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x20f ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF737 ++ .byte 0x4 ++ .2byte 0x110 ++ .4byte 0x4528 ++ .4byte 0x45f5 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF738 ++ .byte 0x30 ++ .2byte 0x11a ++ .4byte 0x216 ++ .4byte 0x461a ++ .uleb128 0x19 ++ .4byte 0x20d ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x216 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF739 ++ .byte 0x4 ++ .2byte 0x116 ++ .4byte 0x4528 ++ .4byte 0x463a ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF740 ++ .byte 0x4 ++ .2byte 0x2ed ++ .4byte 0x20f ++ .4byte 0x465a ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .uleb128 0x19 ++ .4byte 0x3299 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF741 ++ .byte 0x4 ++ .2byte 0x323 ++ .4byte 0x20f ++ .4byte 0x4675 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .uleb128 0x19 ++ .4byte 0x4675 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x467b ++ .uleb128 0x10 ++ .4byte 0x450b ++ .uleb128 0x4d ++ .4byte .LASF742 ++ .byte 0x4 ++ .2byte 0x2f2 ++ .4byte 0x3299 ++ .4byte 0x4696 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF743 ++ .byte 0x4 ++ .2byte 0x214 ++ .4byte 0x20f ++ .4byte 0x46ac ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x59 ++ .4byte .LASF744 ++ .byte 0x31 ++ .byte 0x2c ++ .4byte 0x20f ++ .uleb128 0x4d ++ .4byte .LASF745 ++ .byte 0x4 ++ .2byte 0x27e ++ .4byte 0x300d ++ .4byte 0x46cd ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x60 ++ .4byte .LASF746 ++ .byte 0x4 ++ .2byte 0x34e ++ .4byte 0x46df ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF747 ++ .byte 0x4 ++ .byte 0xb2 ++ .4byte 0x20f ++ .4byte 0x46f4 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF748 ++ .byte 0x4 ++ .byte 0xb4 ++ .4byte 0x20f ++ .4byte 0x470e ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x60 ++ .4byte .LASF749 ++ .byte 0x4 ++ .2byte 0x2f7 ++ .4byte 0x4720 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x60 ++ .4byte .LASF750 ++ .byte 0x4 ++ .2byte 0x14c ++ .4byte 0x4737 ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF751 ++ .byte 0x4 ++ .2byte 0x150 ++ .4byte 0x20f ++ .4byte 0x475c ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .uleb128 0x19 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x20f ++ .uleb128 0x19 ++ .4byte 0x216 ++ .byte 0 ++ .uleb128 0x59 ++ .4byte .LASF752 ++ .byte 0x4 ++ .byte 0xc3 ++ .4byte 0x4528 ++ .uleb128 0x4a ++ .4byte .LASF753 ++ .byte 0x4 ++ .byte 0xd1 ++ .4byte 0x300d ++ .4byte 0x477c ++ .uleb128 0x19 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x4d ++ .4byte .LASF754 ++ .byte 0x4 ++ .2byte 0x2be ++ .4byte 0x20f ++ .4byte 0x4797 ++ .uleb128 0x19 ++ .4byte 0x20f ++ .uleb128 0x19 ++ .4byte 0x4528 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0xbcc ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2551 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0xbc0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0xcd1 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0xcd1 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x2551 ++ .uleb128 0x57 ++ .byte 0x8 ++ .4byte 0xbc0 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0xbc0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2556 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2636 ++ .uleb128 0xe ++ .4byte 0x221 ++ .4byte 0x47de ++ .uleb128 0x62 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x24c7 ++ .uleb128 0x10 ++ .4byte 0x2bf ++ .uleb128 0x2 ++ .4byte .LASF755 ++ .byte 0x32 ++ .byte 0x34 ++ .4byte 0x221 ++ .uleb128 0x2 ++ .4byte .LASF756 ++ .byte 0x32 ++ .byte 0xba ++ .4byte 0x47ff ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x4805 ++ .uleb128 0x10 ++ .4byte 0x4065 ++ .uleb128 0x4a ++ .4byte .LASF757 ++ .byte 0x32 ++ .byte 0xaf ++ .4byte 0x20f ++ .4byte 0x4824 ++ .uleb128 0x19 ++ .4byte 0x228 ++ .uleb128 0x19 ++ .4byte 0x47e9 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF758 ++ .byte 0x32 ++ .byte 0xdd ++ .4byte 0x228 ++ .4byte 0x483e ++ .uleb128 0x19 ++ .4byte 0x228 ++ .uleb128 0x19 ++ .4byte 0x47f4 ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF759 ++ .byte 0x32 ++ .byte 0xda ++ .4byte 0x47f4 ++ .4byte 0x4853 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x4a ++ .4byte .LASF760 ++ .byte 0x32 ++ .byte 0xab ++ .4byte 0x47e9 ++ .4byte 0x4868 ++ .uleb128 0x19 ++ .4byte 0x2bf ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x3d89 ++ .uleb128 0x10 ++ .4byte 0x3299 ++ .uleb128 0x2 ++ .4byte .LASF761 ++ .byte 0x1 ++ .byte 0x17 ++ .4byte 0x20f ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x3876 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x47e4 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x3c68 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x3876 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x39d3 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x3652 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x48a7 ++ .uleb128 0x10 ++ .4byte 0x300d ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x3c6d ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x3652 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x37af ++ .uleb128 0x63 ++ .4byte 0xe85 ++ .byte 0x3 ++ .4byte 0x48cc ++ .4byte 0x48d6 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x48d6 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x479d ++ .uleb128 0x65 ++ .4byte 0xd04 ++ .byte 0x3 ++ .4byte 0x48f3 ++ .uleb128 0x66 ++ .uleb128 0x67 ++ .string "__p" ++ .byte 0x15 ++ .byte 0xba ++ .4byte 0x20d ++ .byte 0 ++ .byte 0 ++ .uleb128 0x68 ++ .4byte .LASF762 ++ .byte 0x33 ++ .byte 0xf7 ++ .4byte 0x20f ++ .byte 0x3 ++ .4byte 0x4911 ++ .uleb128 0x66 ++ .uleb128 0x69 ++ .4byte .LASF763 ++ .byte 0x33 ++ .byte 0xf9 ++ .4byte 0x4911 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x20d ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x491c ++ .uleb128 0x6a ++ .4byte 0x4097 ++ .uleb128 0x65 ++ .4byte 0x3c72 ++ .byte 0x3 ++ .4byte 0x4942 ++ .uleb128 0x6b ++ .4byte .LASF764 ++ .byte 0x24 ++ .byte 0x30 ++ .4byte 0x4916 ++ .uleb128 0x6b ++ .4byte .LASF765 ++ .byte 0x24 ++ .byte 0x30 ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x4097 ++ .uleb128 0x65 ++ .4byte 0x3c8c ++ .byte 0x3 ++ .4byte 0x4976 ++ .uleb128 0x6b ++ .4byte .LASF764 ++ .byte 0x24 ++ .byte 0x41 ++ .4byte 0x4942 ++ .uleb128 0x6b ++ .4byte .LASF765 ++ .byte 0x24 ++ .byte 0x41 ++ .4byte 0x20f ++ .uleb128 0x66 ++ .uleb128 0x69 ++ .4byte .LASF766 ++ .byte 0x24 ++ .byte 0x43 ++ .4byte 0x4097 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x3ca6 ++ .byte 0x3 ++ .4byte 0x4997 ++ .uleb128 0x6b ++ .4byte .LASF764 ++ .byte 0x24 ++ .byte 0x4e ++ .4byte 0x4942 ++ .uleb128 0x6b ++ .4byte .LASF765 ++ .byte 0x24 ++ .byte 0x4e ++ .4byte 0x20f ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x29e6 ++ .uleb128 0x63 ++ .4byte 0x29ef ++ .byte 0x3 ++ .4byte 0x49ab ++ .4byte 0x49be ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x49be ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x4997 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2b1b ++ .uleb128 0x63 ++ .4byte 0x2b24 ++ .byte 0x3 ++ .4byte 0x49d7 ++ .4byte 0x49ea ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x49ea ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x49c3 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x29a5 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x40a2 ++ .uleb128 0x63 ++ .4byte 0x29ae ++ .byte 0x3 ++ .4byte 0x4a09 ++ .4byte 0x4a25 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4a25 ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .uleb128 0x64 ++ .4byte .LASF769 ++ .4byte 0x4a2a ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x49ef ++ .uleb128 0x10 ++ .4byte 0x49f5 ++ .uleb128 0x63 ++ .4byte 0xd66 ++ .byte 0x3 ++ .4byte 0x4a3d ++ .4byte 0x4a47 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4a47 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x47a9 ++ .uleb128 0x63 ++ .4byte 0xd9d ++ .byte 0x3 ++ .4byte 0x4a5a ++ .4byte 0x4a64 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4a47 ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x703 ++ .byte 0x3 ++ .4byte 0x4a85 ++ .uleb128 0x6b ++ .4byte .LASF770 ++ .byte 0xf ++ .byte 0xf2 ++ .4byte 0x4a85 ++ .uleb128 0x6b ++ .4byte .LASF771 ++ .byte 0xf ++ .byte 0xf2 ++ .4byte 0x4a8a ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x3dad ++ .uleb128 0x10 ++ .4byte 0x3db3 ++ .uleb128 0x65 ++ .4byte 0x7e1 ++ .byte 0x3 ++ .4byte 0x4abe ++ .uleb128 0x6c ++ .4byte .LASF772 ++ .byte 0xf ++ .2byte 0x10e ++ .4byte 0x3dbf ++ .uleb128 0x6c ++ .4byte .LASF773 ++ .byte 0xf ++ .2byte 0x10e ++ .4byte 0x3db9 ++ .uleb128 0x6d ++ .string "__n" ++ .byte 0xf ++ .2byte 0x10e ++ .4byte 0x8a8 ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0xfd6 ++ .byte 0x3 ++ .4byte 0x4aed ++ .uleb128 0x6d ++ .string "__d" ++ .byte 0x15 ++ .2byte 0x162 ++ .4byte 0x300d ++ .uleb128 0x6d ++ .string "__s" ++ .byte 0x15 ++ .2byte 0x162 ++ .4byte 0x2bf ++ .uleb128 0x6d ++ .string "__n" ++ .byte 0x15 ++ .2byte 0x162 ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x34b6 ++ .byte 0x3 ++ .4byte 0x4afb ++ .4byte 0x4b05 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4b05 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40b5 ++ .uleb128 0x63 ++ .4byte 0x34e7 ++ .byte 0x3 ++ .4byte 0x4b18 ++ .4byte 0x4b2b ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4b05 ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x9ff ++ .byte 0x3 ++ .4byte 0x4b39 ++ .4byte 0x4b4c ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4b4c ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40c7 ++ .uleb128 0x63 ++ .4byte 0x34cc ++ .byte 0x3 ++ .4byte 0x4b5f ++ .4byte 0x4b6e ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4b05 ++ .uleb128 0x19 ++ .4byte 0x4b6e ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40bb ++ .uleb128 0x63 ++ .4byte 0x9e4 ++ .byte 0x3 ++ .4byte 0x4b81 ++ .4byte 0x4b96 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4b4c ++ .uleb128 0x6e ++ .string "__a" ++ .byte 0x12 ++ .byte 0x73 ++ .4byte 0x4b96 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40cd ++ .uleb128 0x63 ++ .4byte 0xec6 ++ .byte 0x3 ++ .4byte 0x4ba9 ++ .4byte 0x4bb3 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x48d6 ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x1f7a ++ .byte 0x3 ++ .4byte 0x4bc1 ++ .4byte 0x4bcb ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x48d6 ++ .byte 0 ++ .uleb128 0x6f ++ .4byte 0xc0c ++ .byte 0x15 ++ .2byte 0x110 ++ .byte 0x3 ++ .4byte 0x4bdc ++ .4byte 0x4bef ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4bef ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x4797 ++ .uleb128 0x63 ++ .4byte 0x1272 ++ .byte 0x3 ++ .4byte 0x4c02 ++ .4byte 0x4c15 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4c15 ++ .uleb128 0x64 ++ .4byte .LASF768 ++ .4byte 0x2ba ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x47a3 ++ .uleb128 0x70 ++ .4byte 0x1118 ++ .byte 0x3 ++ .uleb128 0x63 ++ .4byte 0x9ce ++ .byte 0x3 ++ .4byte 0x4c2e ++ .4byte 0x4c38 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4b4c ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0xbec ++ .byte 0x3 ++ .4byte 0x4c46 ++ .4byte 0x4c68 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4bef ++ .uleb128 0x6c ++ .4byte .LASF774 ++ .byte 0x15 ++ .2byte 0x112 ++ .4byte 0x300d ++ .uleb128 0x6d ++ .string "__a" ++ .byte 0x15 ++ .2byte 0x112 ++ .4byte 0x4c68 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40cd ++ .uleb128 0x63 ++ .4byte 0x2a0f ++ .byte 0x3 ++ .4byte 0x4c7b ++ .4byte 0x4c85 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x49be ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x1128 ++ .byte 0x3 ++ .4byte 0x4c93 ++ .4byte 0x4c9d ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4c15 ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x2b45 ++ .byte 0x3 ++ .4byte 0x4cab ++ .4byte 0x4cb5 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x49ea ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x2b6f ++ .byte 0x3 ++ .4byte 0x4cd6 ++ .uleb128 0x6e ++ .string "__a" ++ .byte 0x18 ++ .byte 0x7b ++ .4byte 0x26de ++ .uleb128 0x6e ++ .string "__b" ++ .byte 0x18 ++ .byte 0x7b ++ .4byte 0x26de ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2b89 ++ .uleb128 0x63 ++ .4byte 0x2b92 ++ .byte 0x3 ++ .4byte 0x4cea ++ .4byte 0x4cff ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4cff ++ .uleb128 0x6b ++ .4byte .LASF775 ++ .byte 0x2 ++ .byte 0x62 ++ .4byte 0x279c ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x4cd6 ++ .uleb128 0x65 ++ .4byte 0x2bf3 ++ .byte 0x3 ++ .4byte 0x4d1d ++ .uleb128 0x3d ++ .4byte .LASF460 ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x4d1d ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x48a1 ++ .uleb128 0x65 ++ .4byte 0x2c11 ++ .byte 0x3 ++ .4byte 0x4d51 ++ .uleb128 0x3d ++ .4byte .LASF462 ++ .4byte 0x300d ++ .uleb128 0x6b ++ .4byte .LASF776 ++ .byte 0x1d ++ .byte 0x5a ++ .4byte 0x300d ++ .uleb128 0x6b ++ .4byte .LASF777 ++ .byte 0x1d ++ .byte 0x5a ++ .4byte 0x300d ++ .uleb128 0x19 ++ .4byte 0x6c7 ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x2c39 ++ .byte 0x3 ++ .4byte 0x4d6f ++ .uleb128 0x40 ++ .string "_Tp" ++ .4byte 0x296 ++ .uleb128 0x19 ++ .4byte 0x4d6f ++ .uleb128 0x19 ++ .4byte 0x4d74 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40cd ++ .uleb128 0x10 ++ .4byte 0x40cd ++ .uleb128 0x65 ++ .4byte 0x3cc0 ++ .byte 0x3 ++ .4byte 0x4d98 ++ .uleb128 0x3d ++ .4byte .LASF609 ++ .4byte 0x296 ++ .uleb128 0x6b ++ .4byte .LASF778 ++ .byte 0x2e ++ .byte 0x96 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x2c5c ++ .byte 0x3 ++ .4byte 0x4dc2 ++ .uleb128 0x3d ++ .4byte .LASF465 ++ .4byte 0x300d ++ .uleb128 0x6b ++ .4byte .LASF776 ++ .byte 0x1d ++ .byte 0x72 ++ .4byte 0x300d ++ .uleb128 0x6b ++ .4byte .LASF777 ++ .byte 0x1d ++ .byte 0x72 ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x1076 ++ .byte 0x3 ++ .4byte 0x4df1 ++ .uleb128 0x6d ++ .string "__p" ++ .byte 0x15 ++ .2byte 0x18f ++ .4byte 0x300d ++ .uleb128 0x6c ++ .4byte .LASF779 ++ .byte 0x15 ++ .2byte 0x18f ++ .4byte 0x300d ++ .uleb128 0x6c ++ .4byte .LASF780 ++ .byte 0x15 ++ .2byte 0x18f ++ .4byte 0x300d ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0xd7f ++ .byte 0x3 ++ .4byte 0x4dff ++ .4byte 0x4e14 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4a47 ++ .uleb128 0x6e ++ .string "__n" ++ .byte 0x15 ++ .byte 0xcf ++ .4byte 0xc21 ++ .byte 0 ++ .uleb128 0x65 ++ .4byte 0x24cc ++ .byte 0x3 ++ .4byte 0x4e52 ++ .uleb128 0x3d ++ .4byte .LASF351 ++ .4byte 0x300d ++ .uleb128 0x6c ++ .4byte .LASF781 ++ .byte 0x15 ++ .2byte 0x6b9 ++ .4byte 0x300d ++ .uleb128 0x6c ++ .4byte .LASF782 ++ .byte 0x15 ++ .2byte 0x6b9 ++ .4byte 0x300d ++ .uleb128 0x6d ++ .string "__a" ++ .byte 0x15 ++ .2byte 0x6ba ++ .4byte 0x4e52 ++ .uleb128 0x19 ++ .4byte 0x689 ++ .uleb128 0x71 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40cd ++ .uleb128 0x65 ++ .4byte 0x24fe ++ .byte 0x3 ++ .4byte 0x4e90 ++ .uleb128 0x3d ++ .4byte .LASF351 ++ .4byte 0x300d ++ .uleb128 0x6c ++ .4byte .LASF781 ++ .byte 0x15 ++ .2byte 0x6cf ++ .4byte 0x300d ++ .uleb128 0x6c ++ .4byte .LASF782 ++ .byte 0x15 ++ .2byte 0x6cf ++ .4byte 0x300d ++ .uleb128 0x6d ++ .string "__a" ++ .byte 0x15 ++ .2byte 0x6cf ++ .4byte 0x4e90 ++ .uleb128 0x71 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x40cd ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2a45 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2c7f ++ .uleb128 0x63 ++ .4byte 0x2a26 ++ .byte 0x3 ++ .4byte 0x4eaf ++ .4byte 0x4eb9 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4eb9 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x4e9b ++ .uleb128 0x63 ++ .4byte 0x2a51 ++ .byte 0x3 ++ .4byte 0x4ecc ++ .4byte 0x4ed6 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4eb9 ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x2a70 ++ .byte 0x3 ++ .4byte 0x4ee4 ++ .4byte 0x4eee ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4eb9 ++ .byte 0 ++ .uleb128 0x63 ++ .4byte 0x12fa ++ .byte 0x3 ++ .4byte 0x4efc ++ .4byte 0x4f12 ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4c15 ++ .uleb128 0x6c ++ .4byte .LASF783 ++ .byte 0x15 ++ .2byte 0x244 ++ .4byte 0x4f12 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x47bb ++ .uleb128 0x63 ++ .4byte 0x128e ++ .byte 0x3 ++ .4byte 0x4f25 ++ .4byte 0x4f3b ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4c15 ++ .uleb128 0x6c ++ .4byte .LASF783 ++ .byte 0x15 ++ .2byte 0x222 ++ .4byte 0x4f3b ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x47b5 ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2cd5 ++ .uleb128 0x63 ++ .4byte 0x2c8d ++ .byte 0x3 ++ .4byte 0x4f54 ++ .4byte 0x4f5e ++ .uleb128 0x64 ++ .4byte .LASF767 ++ .4byte 0x4f5e ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x4f40 ++ .uleb128 0x72 ++ .4byte .LASF815 ++ .byte 0x1 ++ .byte 0x1a ++ .8byte .LFB1299 ++ .8byte .LFE1299-.LFB1299 ++ .uleb128 0x1 ++ .byte 0x9c ++ .4byte 0x507d ++ .uleb128 0x73 ++ .string "t" ++ .byte 0x1 ++ .byte 0x1a ++ .4byte 0x507d ++ .4byte .LLST0 ++ .uleb128 0x74 ++ .8byte .LBB293 ++ .8byte .LBE293-.LBB293 ++ .4byte 0x5068 ++ .uleb128 0x75 ++ .string "oss" ++ .byte 0x1 ++ .byte 0x1c ++ .4byte 0x2cda ++ .uleb128 0x3 ++ .byte 0x91 ++ .sleb128 -352 ++ .uleb128 0x76 ++ .4byte 0x4f46 ++ .8byte .LBB294 ++ .8byte .LBE294-.LBB294 ++ .byte 0x1 ++ .byte 0x1d ++ .4byte 0x4fea ++ .uleb128 0x77 ++ .4byte 0x4f54 ++ .4byte .LLST1 ++ .uleb128 0x78 ++ .8byte .LVL5 ++ .4byte 0x2bc8 ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x8f ++ .sleb128 40 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7a ++ .8byte .LVL2 ++ .4byte 0x5003 ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x51 ++ .uleb128 0x1 ++ .byte 0x40 ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x8f ++ .sleb128 32 ++ .byte 0 ++ .uleb128 0x7b ++ .8byte .LVL3 ++ .4byte 0x517e ++ .4byte 0x501a ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x1 ++ .byte 0x38 ++ .byte 0 ++ .uleb128 0x7b ++ .8byte .LVL6 ++ .4byte 0x5192 ++ .4byte 0x503f ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x51 ++ .uleb128 0x9 ++ .byte 0x3 ++ .8byte _ZTISs ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x83 ++ .sleb128 0 ++ .byte 0 ++ .uleb128 0x7b ++ .8byte .LVL7 ++ .4byte 0x51ac ++ .4byte 0x5057 ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x83 ++ .sleb128 0 ++ .byte 0 ++ .uleb128 0x7c ++ .8byte .LVL9 ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x8f ++ .sleb128 32 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x78 ++ .8byte .LVL10 ++ .4byte 0x51bc ++ .uleb128 0x79 ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x83 ++ .sleb128 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x10 ++ .4byte 0x5082 ++ .uleb128 0x55 ++ .byte 0x8 ++ .4byte 0x5088 ++ .uleb128 0x10 ++ .4byte 0x4872 ++ .uleb128 0x7d ++ .4byte .LASF784 ++ .byte 0x1 ++ .byte 0x21 ++ .4byte 0x20f ++ .8byte .LFB1300 ++ .8byte .LFE1300-.LFB1300 ++ .uleb128 0x1 ++ .byte 0x9c ++ .4byte 0x50c7 ++ .uleb128 0x78 ++ .8byte .LVL11 ++ .4byte 0x4f63 ++ .uleb128 0x7e ++ .uleb128 0x1 ++ .byte 0x50 ++ .uleb128 0x2 ++ .byte 0x8f ++ .sleb128 28 ++ .uleb128 0x3 ++ .byte 0xa ++ .2byte 0x4d2 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7f ++ .4byte .LASF786 ++ .byte 0x4 ++ .byte 0xa8 ++ .4byte 0x44df ++ .uleb128 0x7f ++ .4byte .LASF787 ++ .byte 0x4 ++ .byte 0xa9 ++ .4byte 0x44df ++ .uleb128 0x80 ++ .4byte 0x2ce5 ++ .uleb128 0x81 ++ .4byte 0x35cd ++ .4byte .LASF788 ++ .sleb128 -2147483648 ++ .uleb128 0x82 ++ .4byte 0x35d8 ++ .4byte .LASF789 ++ .4byte 0x7fffffff ++ .uleb128 0x83 ++ .4byte 0x3ac7 ++ .4byte .LASF790 ++ .byte 0x26 ++ .uleb128 0x84 ++ .4byte 0x3b09 ++ .4byte .LASF791 ++ .2byte 0x134 ++ .uleb128 0x84 ++ .4byte 0x3b4b ++ .4byte .LASF792 ++ .2byte 0x1344 ++ .uleb128 0x83 ++ .4byte 0x3b8d ++ .4byte .LASF793 ++ .byte 0x40 ++ .uleb128 0x81 ++ .4byte 0x3bb9 ++ .4byte .LASF794 ++ .sleb128 -1 ++ .uleb128 0x81 ++ .4byte 0x3bf0 ++ .4byte .LASF795 ++ .sleb128 -32768 ++ .uleb128 0x84 ++ .4byte 0x3bfb ++ .4byte .LASF796 ++ .2byte 0x7fff ++ .uleb128 0x81 ++ .4byte 0x3c32 ++ .4byte .LASF797 ++ .sleb128 -9223372036854775808 ++ .uleb128 0x85 ++ .4byte 0x3c3d ++ .4byte .LASF798 ++ .8byte 0x7fffffffffffffff ++ .uleb128 0x11 ++ .byte 0x8 ++ .4byte 0x2cf7 ++ .uleb128 0x86 ++ .4byte .LASF799 ++ .4byte 0x20d ++ .4byte 0x5192 ++ .uleb128 0x19 ++ .4byte 0x221 ++ .byte 0 ++ .uleb128 0x87 ++ .4byte .LASF801 ++ .4byte 0x51ac ++ .uleb128 0x19 ++ .4byte 0x20d ++ .uleb128 0x19 ++ .4byte 0x20d ++ .uleb128 0x19 ++ .4byte 0x4091 ++ .byte 0 ++ .uleb128 0x87 ++ .4byte .LASF802 ++ .4byte 0x51bc ++ .uleb128 0x19 ++ .4byte 0x20d ++ .byte 0 ++ .uleb128 0x88 ++ .4byte .LASF803 ++ .4byte .LASF816 ++ .uleb128 0x19 ++ .4byte 0x20d ++ .byte 0 ++ .byte 0 ++ .section .debug_abbrev,"",%progbits ++.Ldebug_abbrev0: ++ .uleb128 0x1 ++ .uleb128 0x11 ++ .byte 0x1 ++ .uleb128 0x25 ++ .uleb128 0xe ++ .uleb128 0x13 ++ .uleb128 0xb ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x1b ++ .uleb128 0xe ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x10 ++ .uleb128 0x17 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7 ++ .uleb128 0xf ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8 ++ .uleb128 0x24 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x9 ++ .uleb128 0x24 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0x3 ++ .uleb128 0xe ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xc ++ .uleb128 0x17 ++ .byte 0x1 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xd ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xe ++ .uleb128 0x1 ++ .byte 0x1 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xf ++ .uleb128 0x21 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x2f ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x10 ++ .uleb128 0x26 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x11 ++ .uleb128 0xf ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x12 ++ .uleb128 0x39 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x13 ++ .uleb128 0x8 ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x14 ++ .uleb128 0x8 ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x15 ++ .uleb128 0x39 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x16 ++ .uleb128 0x2 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x17 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x18 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x19 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1a ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1b ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1c ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1d ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1e ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1f ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x20 ++ .uleb128 0x2 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x21 ++ .uleb128 0x13 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x22 ++ .uleb128 0x1c ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x23 ++ .uleb128 0x39 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x24 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x25 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x26 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x27 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x28 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x29 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2a ++ .uleb128 0x1c ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2b ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2c ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2d ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2e ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2f ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x30 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x31 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x32 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x33 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x34 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x35 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x36 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x37 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x38 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x39 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3b ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3c ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3d ++ .uleb128 0x2f ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3e ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x40 ++ .uleb128 0x2f ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x41 ++ .uleb128 0x4 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x42 ++ .uleb128 0x28 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0xd ++ .byte 0 ++ .byte 0 ++ .uleb128 0x43 ++ .uleb128 0x2 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x44 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x45 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1c ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x46 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1c ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1c ++ .uleb128 0x5 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x48 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x4c ++ .uleb128 0xb ++ .uleb128 0x1d ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x4c ++ .uleb128 0xb ++ .uleb128 0x1d ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4a ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4b ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4c ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1c ++ .uleb128 0xa ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4d ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4e ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4f ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x50 ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x51 ++ .uleb128 0x2 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x52 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x53 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x54 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x55 ++ .uleb128 0x10 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x56 ++ .uleb128 0x3b ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .byte 0 ++ .byte 0 ++ .uleb128 0x57 ++ .uleb128 0x42 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x58 ++ .uleb128 0x3a ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x59 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5a ++ .uleb128 0x15 ++ .byte 0x1 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5b ++ .uleb128 0x26 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5c ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5d ++ .uleb128 0x15 ++ .byte 0x1 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5e ++ .uleb128 0x15 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5f ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x60 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x61 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x62 ++ .uleb128 0x21 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x63 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x64 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x65 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x66 ++ .uleb128 0xb ++ .byte 0x1 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x67 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x68 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x69 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6a ++ .uleb128 0x35 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6b ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6c ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6d ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6f ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x70 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x71 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x72 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x40 ++ .uleb128 0x18 ++ .uleb128 0x2117 ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x73 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x2 ++ .uleb128 0x17 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x74 ++ .uleb128 0xb ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x75 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x2 ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x76 ++ .uleb128 0x1d ++ .byte 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x58 ++ .uleb128 0xb ++ .uleb128 0x59 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x77 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x2 ++ .uleb128 0x17 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x78 ++ .uleb128 0x4109 ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x79 ++ .uleb128 0x410a ++ .byte 0 ++ .uleb128 0x2 ++ .uleb128 0x18 ++ .uleb128 0x2111 ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7a ++ .uleb128 0x4109 ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7b ++ .uleb128 0x4109 ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7c ++ .uleb128 0x4109 ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7d ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x40 ++ .uleb128 0x18 ++ .uleb128 0x2117 ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7e ++ .uleb128 0x410a ++ .byte 0 ++ .uleb128 0x2 ++ .uleb128 0x18 ++ .uleb128 0x2111 ++ .uleb128 0x18 ++ .uleb128 0x2112 ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7f ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x80 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x81 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0xd ++ .byte 0 ++ .byte 0 ++ .uleb128 0x82 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0x6 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x83 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x84 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0x5 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x85 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0x7 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x86 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x87 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x88 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .section .debug_loc,"",%progbits ++.Ldebug_loc0: ++.LLST0: ++ .8byte .LVL0-.Ltext0 ++ .8byte .LVL1-.Ltext0 ++ .2byte 0x1 ++ .byte 0x50 ++ .8byte .LVL1-.Ltext0 ++ .8byte .LFE1299-.Ltext0 ++ .2byte 0x4 ++ .byte 0xf3 ++ .uleb128 0x1 ++ .byte 0x50 ++ .byte 0x9f ++ .8byte 0 ++ .8byte 0 ++.LLST1: ++ .8byte .LVL4-.Ltext0 ++ .8byte .LVL8-.Ltext0 ++ .2byte 0x3 ++ .byte 0x8f ++ .sleb128 32 ++ .byte 0x9f ++ .8byte .LVL8-.Ltext0 ++ .8byte .LVL9-1-.Ltext0 ++ .2byte 0x1 ++ .byte 0x50 ++ .8byte .LVL9-1-.Ltext0 ++ .8byte .LFE1299-.Ltext0 ++ .2byte 0x3 ++ .byte 0x8f ++ .sleb128 32 ++ .byte 0x9f ++ .8byte 0 ++ .8byte 0 ++ .section .debug_aranges,"",%progbits ++ .4byte 0x2c ++ .2byte 0x2 ++ .4byte .Ldebug_info0 ++ .byte 0x8 ++ .byte 0 ++ .2byte 0 ++ .2byte 0 ++ .8byte .Ltext0 ++ .8byte .Letext0-.Ltext0 ++ .8byte 0 ++ .8byte 0 ++ .section .debug_line,"",%progbits ++.Ldebug_line0: ++ .section .debug_str,"MS",%progbits,1 ++.LASF535: ++ .string "wcspbrk" ++.LASF651: ++ .string "lconv" ++.LASF374: ++ .string "_S_showpoint" ++.LASF729: ++ .string "clearerr" ++.LASF28: ++ .string "_unused2" ++.LASF187: ++ .string "_ZNSs12_M_leak_hardEv" ++.LASF14: ++ .string "_fileno" ++.LASF421: ++ .string "unitbuf" ++.LASF95: ++ .string "to_char_type" ++.LASF101: ++ .string "not_eof" ++.LASF117: ++ .string "reverse_iterator" ++.LASF501: ++ .string "tm_sec" ++.LASF401: ++ .string "_S_ios_iostate_end" ++.LASF547: ++ .string "allocate" ++.LASF475: ++ .string "fwide" ++.LASF426: ++ .string "iostate" ++.LASF466: ++ .string "basic_ostringstream, std::allocator >" ++.LASF542: ++ .string "new_allocator" ++.LASF671: ++ .string "int_p_sep_by_space" ++.LASF663: ++ .string "frac_digits" ++.LASF79: ++ .string "char_type" ++.LASF780: ++ .string "__k2" ++.LASF424: ++ .string "basefield" ++.LASF478: ++ .string "getwc" ++.LASF225: ++ .string "_ZNKSs8capacityEv" ++.LASF782: ++ .string "__end" ++.LASF438: ++ .string "pptr" ++.LASF728: ++ .string "fpos_t" ++.LASF220: ++ .string "_ZNSs6resizeEmc" ++.LASF597: ++ .string "__max_digits10" ++.LASF642: ++ .string "uint_fast16_t" ++.LASF229: ++ .string "_ZNSs5clearEv" ++.LASF557: ++ .string "_Value" ++.LASF19: ++ .string "_shortbuf" ++.LASF539: ++ .string "__gnu_cxx" ++.LASF588: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmmEv" ++.LASF550: ++ .string "_ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcm" ++.LASF313: ++ .string "_ZNKSs4findEcm" ++.LASF140: ++ .string "_ZNSs4_Rep7_M_grabERKSaIcES2_" ++.LASF147: ++ .string "_M_refcopy" ++.LASF449: ++ .string "iterator_traits" ++.LASF224: ++ .string "capacity" ++.LASF388: ++ .string "_S_ate" ++.LASF639: ++ .string "int_fast32_t" ++.LASF606: ++ .string "__exchange_and_add" ++.LASF238: ++ .string "_ZNSs5frontEv" ++.LASF731: ++ .string "feof" ++.LASF626: ++ .string "uint16_t" ++.LASF180: ++ .string "_ZNSs13_S_copy_charsEPcS_S_" ++.LASF88: ++ .string "_ZNSt11char_traitsIcE4findEPKcmRS1_" ++.LASF0: ++ .string "_flags" ++.LASF757: ++ .string "iswctype" ++.LASF85: ++ .string "length" ++.LASF121: ++ .string "_M_refcount" ++.LASF777: ++ .string "__last" ++.LASF385: ++ .string "_Ios_Fmtflags" ++.LASF680: ++ .string "__off_t" ++.LASF769: ++ .string "__vtt_parm" ++.LASF708: ++ .string "strtod" ++.LASF541: ++ .string "const_pointer" ++.LASF552: ++ .string "__numeric_traits_integer" ++.LASF718: ++ .string "strtof" ++.LASF164: ++ .string "_M_check_length" ++.LASF549: ++ .string "deallocate" ++.LASF758: ++ .string "towctrans" ++.LASF452: ++ .string "basic_ios" ++.LASF643: ++ .string "uint_fast32_t" ++.LASF509: ++ .string "tm_isdst" ++.LASF654: ++ .string "grouping" ++.LASF804: ++ .string "GNU C++ 4.8.4 -g -O1 -std=c++11 -fstack-protector" ++.LASF20: ++ .string "_lock" ++.LASF107: ++ .string "allocator" ++.LASF612: ++ .string "wcstoll" ++.LASF362: ++ .string "_ZNKSt16initializer_listIcE4sizeEv" ++.LASF596: ++ .string "__numeric_traits_floating" ++.LASF67: ++ .string "operator bool" ++.LASF217: ++ .string "max_size" ++.LASF201: ++ .string "_ZNSs6rbeginEv" ++.LASF616: ++ .string "bool" ++.LASF365: ++ .string "_S_dec" ++.LASF695: ++ .string "atoi" ++.LASF384: ++ .string "_S_ios_fmtflags_min" ++.LASF696: ++ .string "atol" ++.LASF111: ++ .string "_M_p" ++.LASF517: ++ .string "wcsspn" ++.LASF386: ++ .string "_Ios_Openmode" ++.LASF623: ++ .string "int32_t" ++.LASF647: ++ .string "intmax_t" ++.LASF721: ++ .string "__pos" ++.LASF807: ++ .string "__debug" ++.LASF759: ++ .string "wctrans" ++.LASF445: ++ .string "iterator_category" ++.LASF458: ++ .string "__string_type" ++.LASF676: ++ .string "setlocale" ++.LASF648: ++ .string "uintmax_t" ++.LASF285: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs" ++.LASF152: ++ .string "_ZNKSs7_M_dataEv" ++.LASF493: ++ .string "vwscanf" ++.LASF213: ++ .string "_ZNKSs5crendEv" ++.LASF436: ++ .string "~basic_streambuf" ++.LASF279: ++ .string "replace" ++.LASF373: ++ .string "_S_showbase" ++.LASF792: ++ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIeE16__max_exponent10E" ++.LASF565: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEptEv" ++.LASF155: ++ .string "_ZNKSs6_M_repEv" ++.LASF118: ++ .string "_Rep_base" ++.LASF370: ++ .string "_S_oct" ++.LASF192: ++ .string "_ZNSsaSEc" ++.LASF311: ++ .string "_ZNKSs4findERKSsm" ++.LASF687: ++ .string "6ldiv_t" ++.LASF6: ++ .string "_IO_write_end" ++.LASF276: ++ .string "_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_" ++.LASF295: ++ .string "_ZNSs14_M_replace_auxEmmmc" ++.LASF632: ++ .string "int_least64_t" ++.LASF196: ++ .string "_ZNSs5beginEv" ++.LASF356: ++ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" ++.LASF71: ++ .string "nullptr_t" ++.LASF714: ++ .string "lldiv" ++.LASF591: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEpLERKl" ++.LASF772: ++ .string "__s1" ++.LASF773: ++ .string "__s2" ++.LASF368: ++ .string "_S_internal" ++.LASF126: ++ .string "_S_empty_rep" ++.LASF694: ++ .string "atof" ++.LASF748: ++ .string "rename" ++.LASF92: ++ .string "_ZNSt11char_traitsIcE4copyEPcPKcm" ++.LASF65: ++ .string "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv" ++.LASF272: ++ .string "_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc" ++.LASF427: ++ .string "badbit" ++.LASF399: ++ .string "_S_eofbit" ++.LASF110: ++ .string "_Alloc_hider" ++.LASF629: ++ .string "int_least8_t" ++.LASF537: ++ .string "wcsstr" ++.LASF738: ++ .string "fread" ++.LASF662: ++ .string "int_frac_digits" ++.LASF464: ++ .string "distance" ++.LASF145: ++ .string "_M_destroy" ++.LASF653: ++ .string "thousands_sep" ++.LASF598: ++ .string "__digits10" ++.LASF314: ++ .string "rfind" ++.LASF165: ++ .string "_ZNKSs15_M_check_lengthEmmPKc" ++.LASF736: ++ .string "fgets" ++.LASF423: ++ .string "adjustfield" ++.LASF520: ++ .string "wcstof" ++.LASF522: ++ .string "wcstok" ++.LASF523: ++ .string "wcstol" ++.LASF340: ++ .string "_ZNKSs6substrEmm" ++.LASF739: ++ .string "freopen" ++.LASF298: ++ .string "_S_construct_aux_2" ++.LASF776: ++ .string "__first" ++.LASF157: ++ .string "_ZNKSs9_M_ibeginEv" ++.LASF778: ++ .string "__ptr" ++.LASF372: ++ .string "_S_scientific" ++.LASF732: ++ .string "ferror" ++.LASF793: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE" ++.LASF416: ++ .string "scientific" ++.LASF60: ++ .string "_ZNSt15__exception_ptr13exception_ptraSERKS0_" ++.LASF761: ++ .string "type" ++.LASF302: ++ .string "_ZNKSs4copyEPcmm" ++.LASF562: ++ .string "operator*" ++.LASF267: ++ .string "_ZNSs6insertEmRKSs" ++.LASF578: ++ .string "operator-" ++.LASF620: ++ .string "__gnu_debug" ++.LASF531: ++ .string "wmemset" ++.LASF794: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE" ++.LASF59: ++ .string "operator=" ++.LASF781: ++ .string "__beg" ++.LASF469: ++ .string "btowc" ++.LASF812: ++ .string "_ZNSs12_S_empty_repEv" ++.LASF411: ++ .string "boolalpha" ++.LASF257: ++ .string "_ZNSs6assignERKSs" ++.LASF484: ++ .string "putwchar" ++.LASF563: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEdeEv" ++.LASF149: ++ .string "_ZNSs4_Rep8_M_cloneERKSaIcEm" ++.LASF791: ++ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIdE16__max_exponent10E" ++.LASF656: ++ .string "currency_symbol" ++.LASF350: ++ .string "_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcE" ++.LASF252: ++ .string "_ZNSs6appendEPKc" ++.LASF453: ++ .string "operator|" ++.LASF789: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE" ++.LASF73: ++ .string "piecewise_construct_t" ++.LASF167: ++ .string "_ZNKSs8_M_limitEmm" ++.LASF31: ++ .string "__gnuc_va_list" ++.LASF13: ++ .string "_chain" ++.LASF608: ++ .string "__exchange_and_add_dispatch" ++.LASF339: ++ .string "substr" ++.LASF798: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE" ++.LASF130: ++ .string "_ZNKSs4_Rep12_M_is_sharedEv" ++.LASF287: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc" ++.LASF137: ++ .string "_M_refdata" ++.LASF683: ++ .string "11__mbstate_t" ++.LASF617: ++ .string "unsigned char" ++.LASF422: ++ .string "uppercase" ++.LASF37: ++ .string "__gr_offs" ++.LASF77: ++ .string "random_access_iterator_tag" ++.LASF526: ++ .string "wcsxfrm" ++.LASF814: ++ .string "_IO_lock_t" ++.LASF512: ++ .string "wcslen" ++.LASF322: ++ .string "_ZNKSs13find_first_ofEPKcm" ++.LASF521: ++ .string "float" ++.LASF346: ++ .string "_ZNKSs7compareEmmPKcm" ++.LASF796: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE" ++.LASF135: ++ .string "_M_set_length_and_sharable" ++.LASF394: ++ .string "_S_ios_openmode_max" ++.LASF136: ++ .string "_ZNSs4_Rep26_M_set_length_and_sharableEm" ++.LASF81: ++ .string "_ZNSt11char_traitsIcE2eqERKcS2_" ++.LASF162: ++ .string "_M_check" ++.LASF93: ++ .string "assign" ++.LASF635: ++ .string "uint_least32_t" ++.LASF176: ++ .string "_ZNSs9_M_assignEPcmc" ++.LASF80: ++ .string "int_type" ++.LASF366: ++ .string "_S_fixed" ++.LASF742: ++ .string "ftell" ++.LASF595: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsE4baseEv" ++.LASF203: ++ .string "rend" ++.LASF299: ++ .string "_ZNSs18_S_construct_aux_2EmcRKSaIcE" ++.LASF151: ++ .string "_ZNSs4_Rep10_M_refcopyEv" ++.LASF406: ++ .string "_S_cur" ++.LASF750: ++ .string "setbuf" ++.LASF446: ++ .string "difference_type" ++.LASF172: ++ .string "_ZNSs7_M_copyEPcPKcm" ++.LASF178: ++ .string "_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_" ++.LASF344: ++ .string "_ZNKSs7compareEPKc" ++.LASF511: ++ .string "tm_zone" ++.LASF338: ++ .string "_ZNKSs16find_last_not_ofEcm" ++.LASF289: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_" ++.LASF223: ++ .string "_ZNSs13shrink_to_fitEv" ++.LASF477: ++ .string "fwscanf" ++.LASF713: ++ .string "wctomb" ++.LASF500: ++ .string "wcsftime" ++.LASF64: ++ .string "swap" ++.LASF55: ++ .string "_M_addref" ++.LASF479: ++ .string "mbrlen" ++.LASF235: ++ .string "_ZNKSs2atEm" ++.LASF455: ++ .string "basic_stringbuf" ++.LASF292: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_" ++.LASF68: ++ .string "_ZNKSt15__exception_ptr13exception_ptrcvbEv" ++.LASF158: ++ .string "_M_iend" ++.LASF579: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEmiERKl" ++.LASF104: ++ .string "size_type" ++.LASF749: ++ .string "rewind" ++.LASF244: ++ .string "_ZNSspLERKSs" ++.LASF141: ++ .string "_S_create" ++.LASF420: ++ .string "skipws" ++.LASF816: ++ .string "_Unwind_Resume" ++.LASF114: ++ .string "iterator" ++.LASF719: ++ .string "strtold" ++.LASF465: ++ .string "_InputIterator" ++.LASF716: ++ .string "strtoll" ++.LASF692: ++ .string "atexit" ++.LASF5: ++ .string "_IO_write_ptr" ++.LASF705: ++ .string "quick_exit" ++.LASF803: ++ .string "__builtin_unwind_resume" ++.LASF661: ++ .string "negative_sign" ++.LASF189: ++ .string "~basic_string" ++.LASF495: ++ .string "wcscat" ++.LASF689: ++ .string "7lldiv_t" ++.LASF518: ++ .string "wcstod" ++.LASF61: ++ .string "_ZNSt15__exception_ptr13exception_ptraSEOS0_" ++.LASF173: ++ .string "_M_move" ++.LASF760: ++ .string "wctype" ++.LASF655: ++ .string "int_curr_symbol" ++.LASF341: ++ .string "_ZNKSs7compareERKSs" ++.LASF545: ++ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERc" ++.LASF363: ++ .string "_ZNKSt16initializer_listIcE5beginEv" ++.LASF214: ++ .string "size" ++.LASF148: ++ .string "_M_clone" ++.LASF296: ++ .string "_M_replace_safe" ++.LASF722: ++ .string "__state" ++.LASF250: ++ .string "_ZNSs6appendERKSsmm" ++.LASF599: ++ .string "__max_exponent10" ++.LASF29: ++ .string "FILE" ++.LASF266: ++ .string "_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE" ++.LASF249: ++ .string "_ZNSs6appendERKSs" ++.LASF415: ++ .string "right" ++.LASF156: ++ .string "_M_ibegin" ++.LASF228: ++ .string "clear" ++.LASF82: ++ .string "_ZNSt11char_traitsIcE2ltERKcS2_" ++.LASF499: ++ .string "wcscspn" ++.LASF407: ++ .string "_S_end" ++.LASF259: ++ .string "_ZNSs6assignERKSsmm" ++.LASF39: ++ .string "size_t" ++.LASF254: ++ .string "_ZNSs6appendESt16initializer_listIcE" ++.LASF45: ++ .string "__count" ++.LASF625: ++ .string "uint8_t" ++.LASF685: ++ .string "quot" ++.LASF163: ++ .string "_ZNKSs8_M_checkEmPKc" ++.LASF237: ++ .string "front" ++.LASF332: ++ .string "_ZNKSs17find_first_not_ofEPKcm" ++.LASF503: ++ .string "tm_hour" ++.LASF746: ++ .string "perror" ++.LASF275: ++ .string "_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE" ++.LASF560: ++ .string "_M_current" ++.LASF265: ++ .string "_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc" ++.LASF139: ++ .string "_M_grab" ++.LASF129: ++ .string "_M_is_shared" ++.LASF9: ++ .string "_IO_save_base" ++.LASF461: ++ .string "__distance" ++.LASF125: ++ .string "_S_empty_rep_storage" ++.LASF527: ++ .string "wctob" ++.LASF658: ++ .string "mon_thousands_sep" ++.LASF476: ++ .string "fwprintf" ++.LASF175: ++ .string "_M_assign" ++.LASF395: ++ .string "_S_ios_openmode_min" ++.LASF123: ++ .string "_S_max_size" ++.LASF44: ++ .string "__wchb" ++.LASF514: ++ .string "wcsncmp" ++.LASF334: ++ .string "find_last_not_of" ++.LASF364: ++ .string "_S_boolalpha" ++.LASF690: ++ .string "lldiv_t" ++.LASF489: ++ .string "vfwscanf" ++.LASF41: ++ .string "wint_t" ++.LASF327: ++ .string "_ZNKSs12find_last_ofEPKcm" ++.LASF700: ++ .string "mblen" ++.LASF318: ++ .string "_ZNKSs5rfindEcm" ++.LASF443: ++ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv" ++.LASF309: ++ .string "_ZNKSs13get_allocatorEv" ++.LASF556: ++ .string "__digits" ++.LASF216: ++ .string "_ZNKSs6lengthEv" ++.LASF369: ++ .string "_S_left" ++.LASF200: ++ .string "rbegin" ++.LASF614: ++ .string "wcstoull" ++.LASF170: ++ .string "_M_copy" ++.LASF768: ++ .string "__in_chrg" ++.LASF312: ++ .string "_ZNKSs4findEPKcm" ++.LASF382: ++ .string "_S_ios_fmtflags_end" ++.LASF467: ++ .string "_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv" ++.LASF337: ++ .string "_ZNKSs16find_last_not_ofEPKcm" ++.LASF530: ++ .string "wmemmove" ++.LASF473: ++ .string "fputwc" ++.LASF100: ++ .string "_ZNSt11char_traitsIcE11eq_int_typeERKiS2_" ++.LASF144: ++ .string "_ZNSs4_Rep10_M_disposeERKSaIcE" ++.LASF253: ++ .string "_ZNSs6appendEmc" ++.LASF305: ++ .string "_ZNKSs5c_strEv" ++.LASF233: ++ .string "_ZNKSsixEm" ++.LASF474: ++ .string "fputws" ++.LASF146: ++ .string "_ZNSs4_Rep10_M_destroyERKSaIcE" ++.LASF286: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm" ++.LASF236: ++ .string "_ZNSs2atEm" ++.LASF398: ++ .string "_S_badbit" ++.LASF169: ++ .string "_ZNKSs11_M_disjunctEPKc" ++.LASF582: ++ .string "_Container" ++.LASF202: ++ .string "_ZNKSs6rbeginEv" ++.LASF357: ++ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" ++.LASF534: ++ .string "wcschr" ++.LASF86: ++ .string "find" ++.LASF391: ++ .string "_S_out" ++.LASF725: ++ .string "_next" ++.LASF308: ++ .string "get_allocator" ++.LASF371: ++ .string "_S_right" ++.LASF433: ++ .string "basic_ostream >" ++.LASF166: ++ .string "_M_limit" ++.LASF380: ++ .string "_S_basefield" ++.LASF652: ++ .string "decimal_point" ++.LASF544: ++ .string "address" ++.LASF682: ++ .string "_Atomic_word" ++.LASF636: ++ .string "uint_least64_t" ++.LASF551: ++ .string "_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv" ++.LASF813: ++ .string "decltype(nullptr)" ++.LASF290: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_" ++.LASF212: ++ .string "crend" ++.LASF239: ++ .string "_ZNKSs5frontEv" ++.LASF730: ++ .string "fclose" ++.LASF710: ++ .string "strtoul" ++.LASF409: ++ .string "openmode" ++.LASF87: ++ .string "_ZNSt11char_traitsIcE6lengthEPKc" ++.LASF96: ++ .string "_ZNSt11char_traitsIcE12to_char_typeERKi" ++.LASF328: ++ .string "_ZNKSs12find_last_ofEcm" ++.LASF245: ++ .string "_ZNSspLEPKc" ++.LASF444: ++ .string "iterator_traits" ++.LASF688: ++ .string "ldiv_t" ++.LASF232: ++ .string "operator[]" ++.LASF809: ++ .string "_ZNSt11char_traitsIcE3eofEv" ++.LASF799: ++ .string "__cxa_allocate_exception" ++.LASF801: ++ .string "__cxa_throw" ++.LASF752: ++ .string "tmpfile" ++.LASF103: ++ .string "allocator" ++.LASF199: ++ .string "_ZNKSs3endEv" ++.LASF754: ++ .string "ungetc" ++.LASF765: ++ .string "__val" ++.LASF712: ++ .string "wcstombs" ++.LASF310: ++ .string "_ZNKSs4findEPKcmm" ++.LASF472: ++ .string "wchar_t" ++.LASF323: ++ .string "_ZNKSs13find_first_ofEcm" ++.LASF347: ++ .string "_S_construct_aux" ++.LASF113: ++ .string "allocator_type" ++.LASF198: ++ .string "_ZNSs3endEv" ++.LASF277: ++ .string "pop_back" ++.LASF271: ++ .string "_ZNSs6insertEmmc" ++.LASF638: ++ .string "int_fast16_t" ++.LASF763: ++ .string "__gthread_active_ptr" ++.LASF281: ++ .string "_ZNSs7replaceEmmRKSsmm" ++.LASF581: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsE4baseEv" ++.LASF783: ++ .string "__str" ++.LASF159: ++ .string "_ZNKSs7_M_iendEv" ++.LASF486: ++ .string "swscanf" ++.LASF604: ++ .string "__numeric_traits_integer" ++.LASF515: ++ .string "wcsncpy" ++.LASF376: ++ .string "_S_skipws" ++.LASF628: ++ .string "uint64_t" ++.LASF367: ++ .string "_S_hex" ++.LASF218: ++ .string "_ZNKSs8max_sizeEv" ++.LASF442: ++ .string "pbase" ++.LASF459: ++ .string "__iterator_category" ++.LASF667: ++ .string "n_sep_by_space" ++.LASF269: ++ .string "_ZNSs6insertEmPKcm" ++.LASF808: ++ .string "_ZNSt11char_traitsIcE6assignERcRKc" ++.LASF621: ++ .string "int8_t" ++.LASF11: ++ .string "_IO_save_end" ++.LASF532: ++ .string "wprintf" ++.LASF502: ++ .string "tm_min" ++.LASF785: ++ .string "piecewise_construct" ++.LASF78: ++ .string "char_traits" ++.LASF72: ++ .string "__false_type" ++.LASF631: ++ .string "int_least32_t" ++.LASF707: ++ .string "srand" ++.LASF664: ++ .string "p_cs_precedes" ++.LASF496: ++ .string "wcscmp" ++.LASF590: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEixERKl" ++.LASF260: ++ .string "_ZNSs6assignEPKcm" ++.LASF787: ++ .string "stdout" ++.LASF463: ++ .string "operator==" ++.LASF482: ++ .string "mbsrtowcs" ++.LASF63: ++ .string "_M_get" ++.LASF659: ++ .string "mon_grouping" ++.LASF734: ++ .string "fgetc" ++.LASF89: ++ .string "move" ++.LASF284: ++ .string "_ZNSs7replaceEmmmc" ++.LASF447: ++ .string "pointer" ++.LASF268: ++ .string "_ZNSs6insertEmRKSsmm" ++.LASF488: ++ .string "vfwprintf" ++.LASF650: ++ .string "char32_t" ++.LASF602: ++ .string "__numeric_traits_integer" ++.LASF508: ++ .string "tm_yday" ++.LASF481: ++ .string "mbsinit" ++.LASF329: ++ .string "find_first_not_of" ++.LASF161: ++ .string "_ZNSs7_M_leakEv" ++.LASF47: ++ .string "sizetype" ++.LASF160: ++ .string "_M_leak" ++.LASF62: ++ .string "~exception_ptr" ++.LASF711: ++ .string "system" ++.LASF622: ++ .string "int16_t" ++.LASF197: ++ .string "_ZNKSs5beginEv" ++.LASF51: ++ .string "short unsigned int" ++.LASF548: ++ .string "_ZN9__gnu_cxx13new_allocatorIcE8allocateEmPKv" ++.LASF618: ++ .string "signed char" ++.LASF326: ++ .string "_ZNKSs12find_last_ofEPKcmm" ++.LASF317: ++ .string "_ZNKSs5rfindEPKcm" ++.LASF430: ++ .string "goodbit" ++.LASF102: ++ .string "ptrdiff_t" ++.LASF485: ++ .string "swprintf" ++.LASF240: ++ .string "back" ++.LASF241: ++ .string "_ZNSs4backEv" ++.LASF492: ++ .string "vwprintf" ++.LASF589: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmmEi" ++.LASF381: ++ .string "_S_floatfield" ++.LASF231: ++ .string "_ZNKSs5emptyEv" ++.LASF681: ++ .string "__off64_t" ++.LASF498: ++ .string "wcscpy" ++.LASF219: ++ .string "resize" ++.LASF490: ++ .string "vswprintf" ++.LASF278: ++ .string "_ZNSs8pop_backEv" ++.LASF483: ++ .string "putwc" ++.LASF3: ++ .string "_IO_read_base" ++.LASF262: ++ .string "_ZNSs6assignEmc" ++.LASF21: ++ .string "_offset" ++.LASF8: ++ .string "_IO_buf_end" ++.LASF270: ++ .string "_ZNSs6insertEmPKc" ++.LASF207: ++ .string "_ZNKSs6cbeginEv" ++.LASF434: ++ .string "~basic_ostream" ++.LASF701: ++ .string "mbstowcs" ++.LASF50: ++ .string "mbstate_t" ++.LASF669: ++ .string "n_sign_posn" ++.LASF154: ++ .string "_M_rep" ++.LASF516: ++ .string "wcsrtombs" ++.LASF723: ++ .string "_G_fpos_t" ++.LASF507: ++ .string "tm_wday" ++.LASF390: ++ .string "_S_in" ++.LASF543: ++ .string "~new_allocator" ++.LASF402: ++ .string "_S_ios_iostate_max" ++.LASF307: ++ .string "_ZNKSs4dataEv" ++.LASF90: ++ .string "_ZNSt11char_traitsIcE4moveEPcPKcm" ++.LASF283: ++ .string "_ZNSs7replaceEmmPKc" ++.LASF56: ++ .string "_M_release" ++.LASF27: ++ .string "_mode" ++.LASF4: ++ .string "_IO_write_base" ++.LASF150: ++ .string "_M_data" ++.LASF815: ++ .string "func" ++.LASF43: ++ .string "__wch" ++.LASF94: ++ .string "_ZNSt11char_traitsIcE6assignEPcmc" ++.LASF554: ++ .string "__max" ++.LASF331: ++ .string "_ZNKSs17find_first_not_ofEPKcmm" ++.LASF208: ++ .string "cend" ++.LASF248: ++ .string "append" ++.LASF491: ++ .string "vswscanf" ++.LASF747: ++ .string "remove" ++.LASF505: ++ .string "tm_mon" ++.LASF400: ++ .string "_S_failbit" ++.LASF800: ++ .string "~_Alloc_hider" ++.LASF91: ++ .string "copy" ++.LASF99: ++ .string "eq_int_type" ++.LASF142: ++ .string "_ZNSs4_Rep9_S_createEmmRKSaIcE" ++.LASF69: ++ .string "__cxa_exception_type" ++.LASF345: ++ .string "_ZNKSs7compareEmmPKc" ++.LASF706: ++ .string "rand" ++.LASF291: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_" ++.LASF524: ++ .string "long int" ++.LASF735: ++ .string "fgetpos" ++.LASF211: ++ .string "_ZNKSs7crbeginEv" ++.LASF572: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEixERKl" ++.LASF204: ++ .string "_ZNSs4rendEv" ++.LASF97: ++ .string "to_int_type" ++.LASF724: ++ .string "_IO_marker" ++.LASF674: ++ .string "int_p_sign_posn" ++.LASF378: ++ .string "_S_uppercase" ++.LASF506: ++ .string "tm_year" ++.LASF303: ++ .string "_ZNSs4swapERSs" ++.LASF533: ++ .string "wscanf" ++.LASF575: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEplERKl" ++.LASF559: ++ .string "__normal_iterator, std::allocator > >" ++.LASF594: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEmiERKl" ++.LASF745: ++ .string "gets" ++.LASF396: ++ .string "_Ios_Iostate" ++.LASF70: ++ .string "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv" ++.LASF603: ++ .string "__numeric_traits_integer" ++.LASF230: ++ .string "empty" ++.LASF251: ++ .string "_ZNSs6appendEPKcm" ++.LASF645: ++ .string "intptr_t" ++.LASF49: ++ .string "__mbstate_t" ++.LASF657: ++ .string "mon_decimal_point" ++.LASF627: ++ .string "uint32_t" ++.LASF300: ++ .string "_S_construct" ++.LASF583: ++ .string "__normal_iterator, std::allocator > >" ++.LASF704: ++ .string "qsort" ++.LASF353: ++ .string "_Traits" ++.LASF646: ++ .string "uintptr_t" ++.LASF450: ++ .string "basic_ios >" ++.LASF709: ++ .string "strtol" ++.LASF611: ++ .string "long double" ++.LASF805: ++ .string "entry-value-typedef.cpp" ++.LASF806: ++ .string "/home/simark/src/binutils-gdb/gdb/testsuite/gdb.dwarf2" ++.LASF226: ++ .string "reserve" ++.LASF280: ++ .string "_ZNSs7replaceEmmRKSs" ++.LASF665: ++ .string "p_sep_by_space" ++.LASF206: ++ .string "cbegin" ++.LASF764: ++ .string "__mem" ++.LASF34: ++ .string "__stack" ++.LASF40: ++ .string "long unsigned int" ++.LASF775: ++ .string "__mode" ++.LASF84: ++ .string "_ZNSt11char_traitsIcE7compareEPKcS2_m" ++.LASF243: ++ .string "operator+=" ++.LASF753: ++ .string "tmpnam" ++.LASF577: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEmIERKl" ++.LASF568: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEppEi" ++.LASF354: ++ .string "_Alloc" ++.LASF566: ++ .string "operator++" ++.LASF567: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEppEv" ++.LASF221: ++ .string "_ZNSs6resizeEm" ++.LASF179: ++ .string "_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_" ++.LASF112: ++ .string "_M_dataplus" ++.LASF755: ++ .string "wctype_t" ++.LASF191: ++ .string "_ZNSsaSEPKc" ++.LASF48: ++ .string "char" ++.LASF255: ++ .string "push_back" ++.LASF610: ++ .string "wcstold" ++.LASF124: ++ .string "_S_terminal" ++.LASF703: ++ .string "__is_null_pointer" ++.LASF786: ++ .string "stdin" ++.LASF720: ++ .string "9_G_fpos_t" ++.LASF359: ++ .string "_M_array" ++.LASF264: ++ .string "insert" ++.LASF122: ++ .string "_Rep" ++.LASF393: ++ .string "_S_ios_openmode_end" ++.LASF7: ++ .string "_IO_buf_base" ++.LASF185: ++ .string "_ZNSs9_M_mutateEmmm" ++.LASF609: ++ .string "_Type" ++.LASF569: ++ .string "operator--" ++.LASF432: ++ .string "ios_base" ++.LASF246: ++ .string "_ZNSspLEc" ++.LASF174: ++ .string "_ZNSs7_M_moveEPcPKcm" ++.LASF564: ++ .string "operator->" ++.LASF640: ++ .string "int_fast64_t" ++.LASF2: ++ .string "_IO_read_end" ++.LASF36: ++ .string "__vr_top" ++.LASF32: ++ .string "_IO_FILE" ++.LASF538: ++ .string "wmemchr" ++.LASF321: ++ .string "_ZNKSs13find_first_ofEPKcmm" ++.LASF403: ++ .string "_S_ios_iostate_min" ++.LASF153: ++ .string "_ZNSs7_M_dataEPc" ++.LASF193: ++ .string "_ZNSsaSEOSs" ++.LASF325: ++ .string "_ZNKSs12find_last_ofERKSsm" ++.LASF58: ++ .string "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv" ++.LASF715: ++ .string "atoll" ++.LASF740: ++ .string "fseek" ++.LASF301: ++ .string "_ZNSs12_S_constructEmcRKSaIcE" ++.LASF774: ++ .string "__dat" ++.LASF553: ++ .string "__min" ++.LASF644: ++ .string "uint_fast64_t" ++.LASF460: ++ .string "_Iter" ++.LASF697: ++ .string "bsearch" ++.LASF457: ++ .string "_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv" ++.LASF294: ++ .string "_M_replace_aux" ++.LASF116: ++ .string "const_reverse_iterator" ++.LASF437: ++ .string "basic_streambuf" ++.LASF109: ++ .string "basic_string, std::allocator >" ++.LASF677: ++ .string "getwchar" ++.LASF35: ++ .string "__gr_top" ++.LASF675: ++ .string "int_n_sign_posn" ++.LASF412: ++ .string "fixed" ++.LASF57: ++ .string "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv" ++.LASF504: ++ .string "tm_mday" ++.LASF182: ++ .string "_S_compare" ++.LASF304: ++ .string "c_str" ++.LASF106: ++ .string "const_reference" ++.LASF22: ++ .string "__pad1" ++.LASF23: ++ .string "__pad2" ++.LASF24: ++ .string "__pad3" ++.LASF25: ++ .string "__pad4" ++.LASF26: ++ .string "__pad5" ++.LASF605: ++ .string "__numeric_traits_integer" ++.LASF726: ++ .string "_sbuf" ++.LASF762: ++ .string "__gthread_active_p" ++.LASF316: ++ .string "_ZNKSs5rfindEPKcmm" ++.LASF540: ++ .string "new_allocator" ++.LASF741: ++ .string "fsetpos" ++.LASF333: ++ .string "_ZNKSs17find_first_not_ofEcm" ++.LASF66: ++ .string "_ZNSt15__exception_ptr13exception_ptr4swapERS0_" ++.LASF12: ++ .string "_markers" ++.LASF727: ++ .string "_pos" ++.LASF624: ++ .string "int64_t" ++.LASF119: ++ .string "_M_length" ++.LASF336: ++ .string "_ZNKSs16find_last_not_ofEPKcmm" ++.LASF633: ++ .string "uint_least8_t" ++.LASF699: ++ .string "ldiv" ++.LASF456: ++ .string "_ZNKSt16initializer_listIcE3endEv" ++.LASF429: ++ .string "failbit" ++.LASF672: ++ .string "int_n_cs_precedes" ++.LASF273: ++ .string "erase" ++.LASF519: ++ .string "double" ++.LASF779: ++ .string "__k1" ++.LASF330: ++ .string "_ZNKSs17find_first_not_ofERKSsm" ++.LASF30: ++ .string "__FILE" ++.LASF247: ++ .string "_ZNSspLESt16initializer_listIcE" ++.LASF587: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEppEi" ++.LASF205: ++ .string "_ZNKSs4rendEv" ++.LASF586: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEppEv" ++.LASF448: ++ .string "_Iterator" ++.LASF679: ++ .string "__int32_t" ++.LASF435: ++ .string "basic_streambuf >" ++.LASF133: ++ .string "_M_set_sharable" ++.LASF306: ++ .string "data" ++.LASF528: ++ .string "wmemcmp" ++.LASF468: ++ .string "ostringstream" ++.LASF494: ++ .string "wcrtomb" ++.LASF46: ++ .string "__value" ++.LASF576: ++ .string "operator-=" ++.LASF351: ++ .string "_InIterator" ++.LASF263: ++ .string "_ZNSs6assignESt16initializer_listIcE" ++.LASF256: ++ .string "_ZNSs9push_backEc" ++.LASF585: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEptEv" ++.LASF74: ++ .string "input_iterator_tag" ++.LASF128: ++ .string "_ZNKSs4_Rep12_M_is_leakedEv" ++.LASF431: ++ .string "seekdir" ++.LASF580: ++ .string "base" ++.LASF414: ++ .string "left" ++.LASF209: ++ .string "_ZNKSs4cendEv" ++.LASF660: ++ .string "positive_sign" ++.LASF751: ++ .string "setvbuf" ++.LASF293: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE" ++.LASF684: ++ .string "5div_t" ++.LASF397: ++ .string "_S_goodbit" ++.LASF593: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmIERKl" ++.LASF686: ++ .string "div_t" ++.LASF600: ++ .string "__numeric_traits_floating" ++.LASF693: ++ .string "at_quick_exit" ++.LASF171: ++ .string "_ZNSt11char_traitsIcE7not_eofERKi" ++.LASF375: ++ .string "_S_showpos" ++.LASF408: ++ .string "_S_ios_seekdir_end" ++.LASF52: ++ .string "__exception_ptr" ++.LASF297: ++ .string "_ZNSs15_M_replace_safeEmmPKcm" ++.LASF343: ++ .string "_ZNKSs7compareEmmRKSsmm" ++.LASF462: ++ .string "_RandomAccessIterator" ++.LASF702: ++ .string "mbtowc" ++.LASF574: ++ .string "operator+" ++.LASF75: ++ .string "forward_iterator_tag" ++.LASF143: ++ .string "_M_dispose" ++.LASF788: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE" ++.LASF132: ++ .string "_ZNSs4_Rep13_M_set_leakedEv" ++.LASF615: ++ .string "long long unsigned int" ++.LASF480: ++ .string "mbrtowc" ++.LASF17: ++ .string "_cur_column" ++.LASF811: ++ .string "_ZNSs4_Rep12_S_empty_repEv" ++.LASF529: ++ .string "wmemcpy" ++.LASF691: ++ .string "__compar_fn_t" ++.LASF349: ++ .string "_S_construct" ++.LASF797: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE" ++.LASF181: ++ .string "_ZNSs13_S_copy_charsEPcPKcS1_" ++.LASF417: ++ .string "showbase" ++.LASF377: ++ .string "_S_unitbuf" ++.LASF573: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEpLERKl" ++.LASF392: ++ .string "_S_trunc" ++.LASF98: ++ .string "_ZNSt11char_traitsIcE11to_int_typeERKc" ++.LASF131: ++ .string "_M_set_leaked" ++.LASF410: ++ .string "fmtflags" ++.LASF134: ++ .string "_ZNSs4_Rep15_M_set_sharableEv" ++.LASF441: ++ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv" ++.LASF513: ++ .string "wcsncat" ++.LASF737: ++ .string "fopen" ++.LASF510: ++ .string "tm_gmtoff" ++.LASF795: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE" ++.LASF10: ++ .string "_IO_backup_base" ++.LASF439: ++ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv" ++.LASF673: ++ .string "int_n_sep_by_space" ++.LASF1: ++ .string "_IO_read_ptr" ++.LASF184: ++ .string "_M_mutate" ++.LASF355: ++ .string "type_info" ++.LASF413: ++ .string "internal" ++.LASF190: ++ .string "_ZNSsaSERKSs" ++.LASF698: ++ .string "getenv" ++.LASF470: ++ .string "fgetwc" ++.LASF120: ++ .string "_M_capacity" ++.LASF38: ++ .string "__vr_offs" ++.LASF471: ++ .string "fgetws" ++.LASF194: ++ .string "_ZNSsaSESt16initializer_listIcE" ++.LASF188: ++ .string "basic_string" ++.LASF743: ++ .string "getc" ++.LASF320: ++ .string "_ZNKSs13find_first_ofERKSsm" ++.LASF561: ++ .string "__normal_iterator" ++.LASF16: ++ .string "_old_offset" ++.LASF418: ++ .string "showpoint" ++.LASF497: ++ .string "wcscoll" ++.LASF419: ++ .string "showpos" ++.LASF756: ++ .string "wctrans_t" ++.LASF770: ++ .string "__c1" ++.LASF771: ++ .string "__c2" ++.LASF668: ++ .string "p_sign_posn" ++.LASF183: ++ .string "_ZNSs10_S_compareEmm" ++.LASF790: ++ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIfE16__max_exponent10E" ++.LASF536: ++ .string "wcsrchr" ++.LASF83: ++ .string "compare" ++.LASF613: ++ .string "long long int" ++.LASF215: ++ .string "_ZNKSs4sizeEv" ++.LASF15: ++ .string "_flags2" ++.LASF546: ++ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERKc" ++.LASF405: ++ .string "_S_beg" ++.LASF428: ++ .string "eofbit" ++.LASF744: ++ .string "getchar" ++.LASF274: ++ .string "_ZNSs5eraseEmm" ++.LASF138: ++ .string "_ZNSs4_Rep10_M_refdataEv" ++.LASF288: ++ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc" ++.LASF115: ++ .string "const_iterator" ++.LASF379: ++ .string "_S_adjustfield" ++.LASF315: ++ .string "_ZNKSs5rfindERKSsm" ++.LASF487: ++ .string "ungetwc" ++.LASF361: ++ .string "initializer_list" ++.LASF324: ++ .string "find_last_of" ++.LASF630: ++ .string "int_least16_t" ++.LASF558: ++ .string "_ZN9__gnu_cxx3divExx" ++.LASF666: ++ .string "n_cs_precedes" ++.LASF571: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEmmEi" ++.LASF440: ++ .string "egptr" ++.LASF335: ++ .string "_ZNKSs16find_last_not_ofERKSsm" ++.LASF404: ++ .string "_Ios_Seekdir" ++.LASF570: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEmmEv" ++.LASF352: ++ .string "_CharT" ++.LASF678: ++ .string "localeconv" ++.LASF105: ++ .string "reference" ++.LASF242: ++ .string "_ZNKSs4backEv" ++.LASF649: ++ .string "char16_t" ++.LASF766: ++ .string "__result" ++.LASF261: ++ .string "_ZNSs6assignEPKc" ++.LASF717: ++ .string "strtoull" ++.LASF454: ++ .string "basic_stringbuf, std::allocator >" ++.LASF282: ++ .string "_ZNSs7replaceEmmPKcm" ++.LASF784: ++ .string "main" ++.LASF222: ++ .string "shrink_to_fit" ++.LASF342: ++ .string "_ZNKSs7compareEmmRKSs" ++.LASF607: ++ .string "__exchange_and_add_single" ++.LASF425: ++ .string "floatfield" ++.LASF592: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEplERKl" ++.LASF168: ++ .string "_M_disjunct" ++.LASF584: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEdeEv" ++.LASF555: ++ .string "__is_signed" ++.LASF348: ++ .string "_ZNSs16_S_construct_auxIPcEES0_T_S1_RKSaIcESt12__false_type" ++.LASF42: ++ .string "unsigned int" ++.LASF634: ++ .string "uint_least16_t" ++.LASF177: ++ .string "_S_copy_chars" ++.LASF54: ++ .string "exception_ptr" ++.LASF227: ++ .string "_ZNSs7reserveEm" ++.LASF733: ++ .string "fflush" ++.LASF641: ++ .string "uint_fast8_t" ++.LASF383: ++ .string "_S_ios_fmtflags_max" ++.LASF53: ++ .string "_M_exception_object" ++.LASF389: ++ .string "_S_bin" ++.LASF358: ++ .string "initializer_list" ++.LASF619: ++ .string "short int" ++.LASF195: ++ .string "begin" ++.LASF670: ++ .string "int_p_cs_precedes" ++.LASF525: ++ .string "wcstoul" ++.LASF210: ++ .string "crbegin" ++.LASF18: ++ .string "_vtable_offset" ++.LASF127: ++ .string "_M_is_leaked" ++.LASF186: ++ .string "_M_leak_hard" ++.LASF258: ++ .string "_ZNSs6assignEOSs" ++.LASF802: ++ .string "__cxa_free_exception" ++.LASF810: ++ .string "npos" ++.LASF451: ++ .string "~basic_ios" ++.LASF601: ++ .string "__numeric_traits_floating" ++.LASF234: ++ .string "_ZNSsixEm" ++.LASF33: ++ .string "__va_list" ++.LASF637: ++ .string "int_fast8_t" ++.LASF108: ++ .string "~allocator" ++.LASF767: ++ .string "this" ++.LASF387: ++ .string "_S_app" ++.LASF76: ++ .string "bidirectional_iterator_tag" ++.LASF360: ++ .string "_M_len" ++.LASF319: ++ .string "find_first_of" ++ .hidden DW.ref.__gxx_personality_v0 ++ .weak DW.ref.__gxx_personality_v0 ++ .section .data.DW.ref.__gxx_personality_v0,"awG",%progbits,DW.ref.__gxx_personality_v0,comdat ++ .align 3 ++ .type DW.ref.__gxx_personality_v0, %object ++ .size DW.ref.__gxx_personality_v0, 8 ++DW.ref.__gxx_personality_v0: ++ .xword __gxx_personality_v0 ++ .ident "GCC: (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.4) 4.8.4" ++ .section .note.GNU-stack,"",%progbits +diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S +@@ -0,0 +1,15545 @@ ++/* ++ Copyright 2022 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ ++/* This file was generated from entry-value-typedef.cpp on an x86-64 Ubuntu ++ 20.04 using: ++ ++ $ g++ --version ++ g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 ++ $ g++ entry-value-typedef.cpp -O1 -S -g -o entry-value-typedef-amd64.S ++*/ ++ ++ .file "entry-value-typedef.cpp" ++ .text ++.Ltext0: ++ .type _ZL4funcRKi, @function ++_ZL4funcRKi: ++.LVL0: ++.LFB1646: ++ .file 1 "entry-value-typedef.cpp" ++ .loc 1 27 1 view -0 ++ .cfi_startproc ++ .cfi_personality 0x9b,DW.ref.__gxx_personality_v0 ++ .cfi_lsda 0x1b,.LLSDA1646 ++ .loc 1 27 1 is_stmt 0 view .LVU1 ++ pushq %rbp ++ .cfi_def_cfa_offset 16 ++ .cfi_offset 6, -16 ++ pushq %rbx ++ .cfi_def_cfa_offset 24 ++ .cfi_offset 3, -24 ++ subq $392, %rsp ++ .cfi_def_cfa_offset 416 ++ .loc 1 27 1 view .LVU2 ++ movq %fs:40, %rax ++ movq %rax, 376(%rsp) ++ xorl %eax, %eax ++ .loc 1 28 3 is_stmt 1 view .LVU3 ++ .loc 1 28 22 is_stmt 0 view .LVU4 ++ movq %rsp, %rdi ++.LVL1: ++.LEHB0: ++ .loc 1 28 22 view .LVU5 ++ call _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev@PLT ++.LVL2: ++.LEHE0: ++ .loc 1 29 3 is_stmt 1 view .LVU6 ++ .loc 1 29 18 is_stmt 0 view .LVU7 ++ movl $32, %edi ++ call __cxa_allocate_exception@PLT ++.LVL3: ++ movq %rax, %rbx ++.LVL4: ++.LBB403: ++.LBI403: ++ .file 2 "/usr/include/c++/9/sstream" ++ .loc 2 677 7 is_stmt 1 view .LVU8 ++.LBB404: ++ .loc 2 678 33 is_stmt 0 view .LVU9 ++ leaq 8(%rsp), %rsi ++ movq %rax, %rdi ++.LEHB1: ++ call _ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@PLT ++.LVL5: ++.LEHE1: ++ .loc 2 678 33 view .LVU10 ++.LBE404: ++.LBE403: ++ .loc 1 29 18 discriminator 2 view .LVU11 ++ movq _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@GOTPCREL(%rip), %rdx ++ leaq _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%rip), %rsi ++ movq %rbx, %rdi ++.LEHB2: ++ call __cxa_throw@PLT ++.LVL6: ++.LEHE2: ++.L6: ++ endbr64 ++ movq %rax, %rbx ++ jmp .L3 ++.LVL7: ++.L5: ++ .loc 1 29 18 discriminator 2 view .LVU12 ++ endbr64 ++ movq %rax, %rbp ++ .loc 1 29 18 view .LVU13 ++ movq %rbx, %rdi ++ call __cxa_free_exception@PLT ++.LVL8: ++ movq %rbp, %rbx ++.LVL9: ++.L3: ++ .loc 1 28 22 view .LVU14 ++ movq %rsp, %rdi ++ call _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@PLT ++.LVL10: ++ movq %rbx, %rdi ++.LEHB3: ++ call _Unwind_Resume@PLT ++.LVL11: ++.LEHE3: ++ .cfi_endproc ++.LFE1646: ++ .globl __gxx_personality_v0 ++ .section .gcc_except_table,"a",@progbits ++.LLSDA1646: ++ .byte 0xff ++ .byte 0xff ++ .byte 0x1 ++ .uleb128 .LLSDACSE1646-.LLSDACSB1646 ++.LLSDACSB1646: ++ .uleb128 .LEHB0-.LFB1646 ++ .uleb128 .LEHE0-.LEHB0 ++ .uleb128 0 ++ .uleb128 0 ++ .uleb128 .LEHB1-.LFB1646 ++ .uleb128 .LEHE1-.LEHB1 ++ .uleb128 .L5-.LFB1646 ++ .uleb128 0 ++ .uleb128 .LEHB2-.LFB1646 ++ .uleb128 .LEHE2-.LEHB2 ++ .uleb128 .L6-.LFB1646 ++ .uleb128 0 ++ .uleb128 .LEHB3-.LFB1646 ++ .uleb128 .LEHE3-.LEHB3 ++ .uleb128 0 ++ .uleb128 0 ++.LLSDACSE1646: ++ .text ++ .size _ZL4funcRKi, .-_ZL4funcRKi ++ .globl main ++ .type main, @function ++main: ++.LFB1647: ++ .loc 1 34 1 is_stmt 1 view -0 ++ .cfi_startproc ++ endbr64 ++ pushq %rax ++ .cfi_def_cfa_offset 16 ++ popq %rax ++ .cfi_def_cfa_offset 8 ++ subq $24, %rsp ++ .cfi_def_cfa_offset 32 ++ .loc 1 34 1 is_stmt 0 view .LVU16 ++ movq %fs:40, %rax ++ movq %rax, 8(%rsp) ++ xorl %eax, %eax ++ .loc 1 35 3 is_stmt 1 view .LVU17 ++ .loc 1 35 9 is_stmt 0 view .LVU18 ++ movl $1234, 4(%rsp) ++ .loc 1 35 8 view .LVU19 ++ leaq 4(%rsp), %rdi ++ call _ZL4funcRKi ++.LVL12: ++ .cfi_endproc ++.LFE1647: ++ .size main, .-main ++ .weak _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE ++ .section .rodata._ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,"aG",@progbits,_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,comdat ++ .align 32 ++ .type _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, @object ++ .size _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, 53 ++_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: ++ .string "NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE" ++ .weak _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE ++ .section .data.rel.ro._ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,"awG",@progbits,_ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,comdat ++ .align 8 ++ .type _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, @object ++ .size _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, 16 ++_ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: ++ .quad _ZTVN10__cxxabiv117__class_type_infoE+16 ++ .quad _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE ++ .text ++.Letext0: ++ .file 3 "/usr/include/c++/9/bits/basic_string.h" ++ .file 4 "/usr/include/c++/9/cwchar" ++ .file 5 "/usr/include/c++/9/new" ++ .file 6 "/usr/include/c++/9/bits/exception_ptr.h" ++ .file 7 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" ++ .file 8 "/usr/include/c++/9/type_traits" ++ .file 9 "/usr/include/c++/9/bits/stl_pair.h" ++ .file 10 "/usr/include/c++/9/debug/debug.h" ++ .file 11 "/usr/include/c++/9/bits/char_traits.h" ++ .file 12 "/usr/include/c++/9/cstdint" ++ .file 13 "/usr/include/c++/9/clocale" ++ .file 14 "/usr/include/c++/9/bits/allocator.h" ++ .file 15 "/usr/include/c++/9/cstdlib" ++ .file 16 "/usr/include/c++/9/cstdio" ++ .file 17 "/usr/include/c++/9/bits/alloc_traits.h" ++ .file 18 "/usr/include/c++/9/initializer_list" ++ .file 19 "/usr/include/c++/9/system_error" ++ .file 20 "/usr/include/c++/9/bits/ios_base.h" ++ .file 21 "/usr/include/c++/9/cwctype" ++ .file 22 "/usr/include/c++/9/ostream" ++ .file 23 "/usr/include/c++/9/streambuf" ++ .file 24 "/usr/include/c++/9/bits/stl_iterator_base_types.h" ++ .file 25 "/usr/include/c++/9/bits/ptr_traits.h" ++ .file 26 "/usr/include/c++/9/bits/cpp_type_traits.h" ++ .file 27 "/usr/include/c++/9/bits/move.h" ++ .file 28 "/usr/include/c++/9/bits/basic_ios.h" ++ .file 29 "/usr/include/c++/9/iosfwd" ++ .file 30 "/usr/include/c++/9/bits/predefined_ops.h" ++ .file 31 "/usr/include/c++/9/ext/new_allocator.h" ++ .file 32 "/usr/include/c++/9/ext/numeric_traits.h" ++ .file 33 "/usr/include/c++/9/ext/alloc_traits.h" ++ .file 34 "/usr/include/c++/9/bits/stl_iterator.h" ++ .file 35 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" ++ .file 36 "" ++ .file 37 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" ++ .file 38 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" ++ .file 39 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" ++ .file 40 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" ++ .file 41 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" ++ .file 42 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" ++ .file 43 "/usr/include/wchar.h" ++ .file 44 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" ++ .file 45 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" ++ .file 46 "/usr/include/x86_64-linux-gnu/bits/types.h" ++ .file 47 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" ++ .file 48 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h" ++ .file 49 "/usr/include/stdint.h" ++ .file 50 "/usr/include/locale.h" ++ .file 51 "/usr/include/time.h" ++ .file 52 "/usr/include/stdlib.h" ++ .file 53 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" ++ .file 54 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h" ++ .file 55 "/usr/include/x86_64-linux-gnu/bits/stdlib.h" ++ .file 56 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" ++ .file 57 "/usr/include/stdio.h" ++ .file 58 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" ++ .file 59 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" ++ .file 60 "/usr/include/x86_64-linux-gnu/bits/stdio.h" ++ .file 61 "/usr/include/errno.h" ++ .file 62 "/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h" ++ .file 63 "/usr/include/wctype.h" ++ .section .debug_info,"",@progbits ++.Ldebug_info0: ++ .long 0x60f4 ++ .value 0x4 ++ .long .Ldebug_abbrev0 ++ .byte 0x8 ++ .uleb128 0x5c ++ .long .LASF920 ++ .byte 0x4 ++ .long .LASF921 ++ .long .LASF922 ++ .quad .Ltext0 ++ .quad .Letext0-.Ltext0 ++ .long .Ldebug_line0 ++ .uleb128 0x5d ++ .string "std" ++ .byte 0x24 ++ .byte 0 ++ .long 0x2e67 ++ .uleb128 0x46 ++ .long .LASF369 ++ .byte 0x7 ++ .value 0x118 ++ .byte 0x41 ++ .long 0x1c15 ++ .uleb128 0x30 ++ .long .LASF267 ++ .byte 0x20 ++ .byte 0x3 ++ .byte 0x51 ++ .byte 0xb ++ .long 0x1ace ++ .uleb128 0x13 ++ .long .LASF0 ++ .byte 0x8 ++ .byte 0x3 ++ .byte 0x9a ++ .byte 0xe ++ .long 0xd3 ++ .uleb128 0x47 ++ .long 0x250f ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF0 ++ .byte 0x3 ++ .byte 0xa0 ++ .byte 0x2 ++ .long .LASF1 ++ .long 0x79 ++ .long 0x89 ++ .uleb128 0x2 ++ .long 0x50ef ++ .uleb128 0x1 ++ .long 0xd3 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF0 ++ .byte 0x3 ++ .byte 0xa3 ++ .byte 0x2 ++ .long .LASF2 ++ .long 0x9d ++ .long 0xad ++ .uleb128 0x2 ++ .long 0x50ef ++ .uleb128 0x1 ++ .long 0xd3 ++ .uleb128 0x1 ++ .long 0x50fa ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF7 ++ .byte 0x3 ++ .byte 0xa7 ++ .byte 0xa ++ .long 0xd3 ++ .byte 0 ++ .uleb128 0x5e ++ .long .LASF923 ++ .long .LASF924 ++ .long 0xc7 ++ .uleb128 0x2 ++ .long 0x50ef ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF5 ++ .byte 0x3 ++ .byte 0x60 ++ .byte 0x30 ++ .long 0x318c ++ .byte 0x1 ++ .uleb128 0x5f ++ .byte 0x7 ++ .byte 0x4 ++ .long 0x3970 ++ .byte 0x3 ++ .byte 0xad ++ .byte 0xc ++ .long 0xf5 ++ .uleb128 0x23 ++ .long .LASF372 ++ .byte 0xf ++ .byte 0 ++ .uleb128 0x48 ++ .byte 0x10 ++ .byte 0x3 ++ .byte 0xb0 ++ .byte 0x7 ++ .long 0x117 ++ .uleb128 0x37 ++ .long .LASF3 ++ .byte 0x3 ++ .byte 0xb1 ++ .byte 0x13 ++ .long 0x5100 ++ .uleb128 0x37 ++ .long .LASF4 ++ .byte 0x3 ++ .byte 0xb2 ++ .byte 0x13 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF6 ++ .byte 0x3 ++ .byte 0x5c ++ .byte 0x32 ++ .long 0x31a4 ++ .byte 0x1 ++ .uleb128 0xa ++ .long 0x117 ++ .uleb128 0x60 ++ .long .LASF296 ++ .byte 0x3 ++ .byte 0x69 ++ .byte 0x1e ++ .long 0x124 ++ .byte 0x1 ++ .uleb128 0x6 ++ .long .LASF8 ++ .byte 0x3 ++ .byte 0xaa ++ .byte 0x14 ++ .long 0x52 ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF9 ++ .byte 0x3 ++ .byte 0xab ++ .byte 0x12 ++ .long 0x117 ++ .byte 0x8 ++ .uleb128 0x61 ++ .long 0xf5 ++ .byte 0x10 ++ .uleb128 0x20 ++ .long .LASF10 ++ .byte 0x3 ++ .byte 0xb6 ++ .byte 0x7 ++ .long .LASF11 ++ .long 0x16a ++ .long 0x175 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0xd3 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF12 ++ .byte 0x3 ++ .byte 0xba ++ .byte 0x7 ++ .long .LASF13 ++ .long 0x189 ++ .long 0x194 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF10 ++ .byte 0x3 ++ .byte 0xbe ++ .byte 0x7 ++ .long .LASF15 ++ .long 0xd3 ++ .long 0x1ac ++ .long 0x1b2 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF14 ++ .byte 0x3 ++ .byte 0xc2 ++ .byte 0x7 ++ .long .LASF16 ++ .long 0xd3 ++ .long 0x1ca ++ .long 0x1d0 ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF17 ++ .byte 0x3 ++ .byte 0x61 ++ .byte 0x35 ++ .long 0x3198 ++ .byte 0x1 ++ .uleb128 0x22 ++ .long .LASF14 ++ .byte 0x3 ++ .byte 0xcc ++ .byte 0x7 ++ .long .LASF18 ++ .long 0x1d0 ++ .long 0x1f5 ++ .long 0x1fb ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF19 ++ .byte 0x3 ++ .byte 0xd6 ++ .byte 0x7 ++ .long .LASF20 ++ .long 0x20f ++ .long 0x21a ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF21 ++ .byte 0x3 ++ .byte 0xda ++ .byte 0x7 ++ .long .LASF22 ++ .long 0x22e ++ .long 0x239 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF23 ++ .byte 0x3 ++ .byte 0xe1 ++ .byte 0x7 ++ .long .LASF24 ++ .long 0x448e ++ .long 0x251 ++ .long 0x257 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF25 ++ .byte 0x3 ++ .byte 0xe6 ++ .byte 0x7 ++ .long .LASF26 ++ .long 0xd3 ++ .long 0x26f ++ .long 0x27f ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5126 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF27 ++ .byte 0x3 ++ .byte 0xe9 ++ .byte 0x7 ++ .long .LASF28 ++ .long 0x293 ++ .long 0x299 ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF29 ++ .byte 0x3 ++ .byte 0xf0 ++ .byte 0x7 ++ .long .LASF30 ++ .long 0x2ad ++ .long 0x2b8 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x2b ++ .long .LASF31 ++ .byte 0x3 ++ .value 0x106 ++ .byte 0x7 ++ .long .LASF33 ++ .long 0x2cd ++ .long 0x2dd ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x2b ++ .long .LASF32 ++ .byte 0x3 ++ .value 0x11f ++ .byte 0x7 ++ .long .LASF34 ++ .long 0x2f2 ++ .long 0x302 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF35 ++ .byte 0x3 ++ .byte 0x5b ++ .byte 0x23 ++ .long 0x314 ++ .byte 0x1 ++ .uleb128 0xa ++ .long 0x302 ++ .uleb128 0x5 ++ .long .LASF293 ++ .byte 0x3 ++ .byte 0x54 ++ .byte 0x18 ++ .long 0x31d5 ++ .uleb128 0x27 ++ .long .LASF36 ++ .byte 0x3 ++ .value 0x122 ++ .byte 0x7 ++ .long .LASF37 ++ .long 0x512c ++ .long 0x339 ++ .long 0x33f ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF36 ++ .byte 0x3 ++ .value 0x126 ++ .byte 0x7 ++ .long .LASF38 ++ .long 0x5132 ++ .long 0x358 ++ .long 0x35e ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF39 ++ .byte 0x3 ++ .value 0x13a ++ .byte 0x7 ++ .long .LASF40 ++ .long 0x117 ++ .long 0x377 ++ .long 0x387 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x2b ++ .long .LASF41 ++ .byte 0x3 ++ .value 0x144 ++ .byte 0x7 ++ .long .LASF42 ++ .long 0x39c ++ .long 0x3b1 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF43 ++ .byte 0x3 ++ .value 0x14d ++ .byte 0x7 ++ .long .LASF44 ++ .long 0x117 ++ .long 0x3ca ++ .long 0x3da ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF45 ++ .byte 0x3 ++ .value 0x155 ++ .byte 0x7 ++ .long .LASF46 ++ .long 0x448e ++ .long 0x3f3 ++ .long 0x3fe ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x24 ++ .long .LASF47 ++ .byte 0x3 ++ .value 0x15e ++ .byte 0x7 ++ .long .LASF49 ++ .long 0x41f ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x24 ++ .long .LASF48 ++ .byte 0x3 ++ .value 0x167 ++ .byte 0x7 ++ .long .LASF50 ++ .long 0x440 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x24 ++ .long .LASF51 ++ .byte 0x3 ++ .value 0x170 ++ .byte 0x7 ++ .long .LASF52 ++ .long 0x461 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x24 ++ .long .LASF53 ++ .byte 0x3 ++ .value 0x183 ++ .byte 0x7 ++ .long .LASF54 ++ .long 0x482 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x482 ++ .uleb128 0x1 ++ .long 0x482 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF55 ++ .byte 0x3 ++ .byte 0x62 ++ .byte 0x44 ++ .long 0x31f5 ++ .byte 0x1 ++ .uleb128 0x24 ++ .long .LASF53 ++ .byte 0x3 ++ .value 0x187 ++ .byte 0x7 ++ .long .LASF56 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF57 ++ .byte 0x3 ++ .byte 0x64 ++ .byte 0x8 ++ .long 0x3434 ++ .byte 0x1 ++ .uleb128 0x24 ++ .long .LASF53 ++ .byte 0x3 ++ .value 0x18c ++ .byte 0x7 ++ .long .LASF58 ++ .long 0x4de ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x24 ++ .long .LASF53 ++ .byte 0x3 ++ .value 0x190 ++ .byte 0x7 ++ .long .LASF59 ++ .long 0x4ff ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF60 ++ .byte 0x3 ++ .value 0x195 ++ .byte 0x7 ++ .long .LASF61 ++ .long 0x39eb ++ .long 0x51f ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x2b ++ .long .LASF62 ++ .byte 0x3 ++ .value 0x1a2 ++ .byte 0x7 ++ .long .LASF63 ++ .long 0x534 ++ .long 0x53f ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x2b ++ .long .LASF64 ++ .byte 0x3 ++ .value 0x1a5 ++ .byte 0x7 ++ .long .LASF65 ++ .long 0x554 ++ .long 0x56e ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x2b ++ .long .LASF66 ++ .byte 0x3 ++ .value 0x1a9 ++ .byte 0x7 ++ .long .LASF67 ++ .long 0x583 ++ .long 0x593 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x1b3 ++ .byte 0x7 ++ .long .LASF69 ++ .byte 0x1 ++ .long 0x5a9 ++ .long 0x5af ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x3e ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x1bc ++ .byte 0x7 ++ .long .LASF84 ++ .byte 0x1 ++ .long 0x5c5 ++ .long 0x5d0 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x1c4 ++ .byte 0x7 ++ .long .LASF70 ++ .byte 0x1 ++ .long 0x5e6 ++ .long 0x5f1 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x1d1 ++ .byte 0x7 ++ .long .LASF71 ++ .byte 0x1 ++ .long 0x607 ++ .long 0x61c ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x1e0 ++ .byte 0x7 ++ .long .LASF72 ++ .byte 0x1 ++ .long 0x632 ++ .long 0x647 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x1f0 ++ .byte 0x7 ++ .long .LASF73 ++ .byte 0x1 ++ .long 0x65d ++ .long 0x677 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x202 ++ .byte 0x7 ++ .long .LASF74 ++ .byte 0x1 ++ .long 0x68d ++ .long 0x6a2 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x211 ++ .byte 0x7 ++ .long .LASF75 ++ .byte 0x1 ++ .long 0x6b8 ++ .long 0x6c8 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x220 ++ .byte 0x7 ++ .long .LASF76 ++ .byte 0x1 ++ .long 0x6de ++ .long 0x6f3 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x22c ++ .byte 0x7 ++ .long .LASF77 ++ .byte 0x1 ++ .long 0x709 ++ .long 0x714 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x513e ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x247 ++ .byte 0x7 ++ .long .LASF78 ++ .byte 0x1 ++ .long 0x72a ++ .long 0x73a ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x2891 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x24b ++ .byte 0x7 ++ .long .LASF79 ++ .byte 0x1 ++ .long 0x750 ++ .long 0x760 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF68 ++ .byte 0x3 ++ .value 0x24f ++ .byte 0x7 ++ .long .LASF80 ++ .byte 0x1 ++ .long 0x776 ++ .long 0x786 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x513e ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF81 ++ .byte 0x3 ++ .value 0x295 ++ .byte 0x7 ++ .long .LASF82 ++ .byte 0x1 ++ .long 0x79c ++ .long 0x7a7 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF83 ++ .byte 0x3 ++ .value 0x29d ++ .byte 0x7 ++ .long .LASF85 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x7c1 ++ .long 0x7cc ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF83 ++ .byte 0x3 ++ .value 0x2c4 ++ .byte 0x7 ++ .long .LASF86 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x7e6 ++ .long 0x7f1 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF83 ++ .byte 0x3 ++ .value 0x2cf ++ .byte 0x7 ++ .long .LASF87 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x80b ++ .long 0x816 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF83 ++ .byte 0x3 ++ .value 0x2e0 ++ .byte 0x7 ++ .long .LASF88 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x830 ++ .long 0x83b ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x513e ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF83 ++ .byte 0x3 ++ .value 0x31f ++ .byte 0x7 ++ .long .LASF89 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x855 ++ .long 0x860 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x2891 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF90 ++ .byte 0x3 ++ .value 0x33e ++ .byte 0x7 ++ .long .LASF91 ++ .long 0x482 ++ .byte 0x1 ++ .long 0x87a ++ .long 0x880 ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF90 ++ .byte 0x3 ++ .value 0x346 ++ .byte 0x7 ++ .long .LASF92 ++ .long 0x4b0 ++ .byte 0x1 ++ .long 0x89a ++ .long 0x8a0 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x31 ++ .string "end" ++ .byte 0x3 ++ .value 0x34e ++ .byte 0x7 ++ .long .LASF93 ++ .long 0x482 ++ .byte 0x1 ++ .long 0x8ba ++ .long 0x8c0 ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x31 ++ .string "end" ++ .byte 0x3 ++ .value 0x356 ++ .byte 0x7 ++ .long .LASF94 ++ .long 0x4b0 ++ .byte 0x1 ++ .long 0x8da ++ .long 0x8e0 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF95 ++ .byte 0x3 ++ .byte 0x66 ++ .byte 0x30 ++ .long 0x2989 ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF96 ++ .byte 0x3 ++ .value 0x35f ++ .byte 0x7 ++ .long .LASF97 ++ .long 0x8e0 ++ .byte 0x1 ++ .long 0x907 ++ .long 0x90d ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF98 ++ .byte 0x3 ++ .byte 0x65 ++ .byte 0x35 ++ .long 0x298e ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF96 ++ .byte 0x3 ++ .value 0x368 ++ .byte 0x7 ++ .long .LASF99 ++ .long 0x90d ++ .byte 0x1 ++ .long 0x934 ++ .long 0x93a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF100 ++ .byte 0x3 ++ .value 0x371 ++ .byte 0x7 ++ .long .LASF101 ++ .long 0x8e0 ++ .byte 0x1 ++ .long 0x954 ++ .long 0x95a ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF100 ++ .byte 0x3 ++ .value 0x37a ++ .byte 0x7 ++ .long .LASF102 ++ .long 0x90d ++ .byte 0x1 ++ .long 0x974 ++ .long 0x97a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF103 ++ .byte 0x3 ++ .value 0x383 ++ .byte 0x7 ++ .long .LASF104 ++ .long 0x4b0 ++ .byte 0x1 ++ .long 0x994 ++ .long 0x99a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF105 ++ .byte 0x3 ++ .value 0x38b ++ .byte 0x7 ++ .long .LASF106 ++ .long 0x4b0 ++ .byte 0x1 ++ .long 0x9b4 ++ .long 0x9ba ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF107 ++ .byte 0x3 ++ .value 0x394 ++ .byte 0x7 ++ .long .LASF108 ++ .long 0x90d ++ .byte 0x1 ++ .long 0x9d4 ++ .long 0x9da ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF109 ++ .byte 0x3 ++ .value 0x39d ++ .byte 0x7 ++ .long .LASF110 ++ .long 0x90d ++ .byte 0x1 ++ .long 0x9f4 ++ .long 0x9fa ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF111 ++ .byte 0x3 ++ .value 0x3a6 ++ .byte 0x7 ++ .long .LASF112 ++ .long 0x117 ++ .byte 0x1 ++ .long 0xa14 ++ .long 0xa1a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF113 ++ .byte 0x3 ++ .value 0x3ac ++ .byte 0x7 ++ .long .LASF114 ++ .long 0x117 ++ .byte 0x1 ++ .long 0xa34 ++ .long 0xa3a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF115 ++ .byte 0x3 ++ .value 0x3b1 ++ .byte 0x7 ++ .long .LASF116 ++ .long 0x117 ++ .byte 0x1 ++ .long 0xa54 ++ .long 0xa5a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF117 ++ .byte 0x3 ++ .value 0x3bf ++ .byte 0x7 ++ .long .LASF118 ++ .byte 0x1 ++ .long 0xa70 ++ .long 0xa80 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF117 ++ .byte 0x3 ++ .value 0x3cc ++ .byte 0x7 ++ .long .LASF119 ++ .byte 0x1 ++ .long 0xa96 ++ .long 0xaa1 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF120 ++ .byte 0x3 ++ .value 0x3d2 ++ .byte 0x7 ++ .long .LASF121 ++ .byte 0x1 ++ .long 0xab7 ++ .long 0xabd ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF122 ++ .byte 0x3 ++ .value 0x3e5 ++ .byte 0x7 ++ .long .LASF123 ++ .long 0x117 ++ .byte 0x1 ++ .long 0xad7 ++ .long 0xadd ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF124 ++ .byte 0x3 ++ .value 0x3fd ++ .byte 0x7 ++ .long .LASF125 ++ .byte 0x1 ++ .long 0xaf3 ++ .long 0xafe ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF126 ++ .byte 0x3 ++ .value 0x403 ++ .byte 0x7 ++ .long .LASF127 ++ .byte 0x1 ++ .long 0xb14 ++ .long 0xb1a ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF128 ++ .byte 0x3 ++ .value 0x40b ++ .byte 0x7 ++ .long .LASF129 ++ .long 0x448e ++ .byte 0x1 ++ .long 0xb34 ++ .long 0xb3a ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF130 ++ .byte 0x3 ++ .byte 0x5f ++ .byte 0x37 ++ .long 0x31bc ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF131 ++ .byte 0x3 ++ .value 0x41a ++ .byte 0x7 ++ .long .LASF132 ++ .long 0xb3a ++ .byte 0x1 ++ .long 0xb61 ++ .long 0xb6c ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF133 ++ .byte 0x3 ++ .byte 0x5e ++ .byte 0x32 ++ .long 0x31b0 ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF131 ++ .byte 0x3 ++ .value 0x42b ++ .byte 0x7 ++ .long .LASF134 ++ .long 0xb6c ++ .byte 0x1 ++ .long 0xb93 ++ .long 0xb9e ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x31 ++ .string "at" ++ .byte 0x3 ++ .value 0x440 ++ .byte 0x7 ++ .long .LASF135 ++ .long 0xb3a ++ .byte 0x1 ++ .long 0xbb7 ++ .long 0xbc2 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x31 ++ .string "at" ++ .byte 0x3 ++ .value 0x455 ++ .byte 0x7 ++ .long .LASF136 ++ .long 0xb6c ++ .byte 0x1 ++ .long 0xbdb ++ .long 0xbe6 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF137 ++ .byte 0x3 ++ .value 0x465 ++ .byte 0x7 ++ .long .LASF138 ++ .long 0xb6c ++ .byte 0x1 ++ .long 0xc00 ++ .long 0xc06 ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF137 ++ .byte 0x3 ++ .value 0x470 ++ .byte 0x7 ++ .long .LASF139 ++ .long 0xb3a ++ .byte 0x1 ++ .long 0xc20 ++ .long 0xc26 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF140 ++ .byte 0x3 ++ .value 0x47b ++ .byte 0x7 ++ .long .LASF141 ++ .long 0xb6c ++ .byte 0x1 ++ .long 0xc40 ++ .long 0xc46 ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF140 ++ .byte 0x3 ++ .value 0x486 ++ .byte 0x7 ++ .long .LASF142 ++ .long 0xb3a ++ .byte 0x1 ++ .long 0xc60 ++ .long 0xc66 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF143 ++ .byte 0x3 ++ .value 0x494 ++ .byte 0x7 ++ .long .LASF144 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xc80 ++ .long 0xc8b ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF143 ++ .byte 0x3 ++ .value 0x49d ++ .byte 0x7 ++ .long .LASF145 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xca5 ++ .long 0xcb0 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF143 ++ .byte 0x3 ++ .value 0x4a6 ++ .byte 0x7 ++ .long .LASF146 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xcca ++ .long 0xcd5 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF143 ++ .byte 0x3 ++ .value 0x4b3 ++ .byte 0x7 ++ .long .LASF147 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xcef ++ .long 0xcfa ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x2891 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF148 ++ .byte 0x3 ++ .value 0x4c9 ++ .byte 0x7 ++ .long .LASF149 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xd14 ++ .long 0xd1f ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF148 ++ .byte 0x3 ++ .value 0x4da ++ .byte 0x7 ++ .long .LASF150 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xd39 ++ .long 0xd4e ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF148 ++ .byte 0x3 ++ .value 0x4e6 ++ .byte 0x7 ++ .long .LASF151 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xd68 ++ .long 0xd78 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF148 ++ .byte 0x3 ++ .value 0x4f3 ++ .byte 0x7 ++ .long .LASF152 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xd92 ++ .long 0xd9d ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF148 ++ .byte 0x3 ++ .value 0x504 ++ .byte 0x7 ++ .long .LASF153 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xdb7 ++ .long 0xdc7 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF148 ++ .byte 0x3 ++ .value 0x50e ++ .byte 0x7 ++ .long .LASF154 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xde1 ++ .long 0xdec ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x2891 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF155 ++ .byte 0x3 ++ .value 0x549 ++ .byte 0x7 ++ .long .LASF156 ++ .byte 0x1 ++ .long 0xe02 ++ .long 0xe0d ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x558 ++ .byte 0x7 ++ .long .LASF158 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xe27 ++ .long 0xe32 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x568 ++ .byte 0x7 ++ .long .LASF159 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xe4c ++ .long 0xe57 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x513e ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x57f ++ .byte 0x7 ++ .long .LASF160 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xe71 ++ .long 0xe86 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x58f ++ .byte 0x7 ++ .long .LASF161 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xea0 ++ .long 0xeb0 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x59f ++ .byte 0x7 ++ .long .LASF162 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xeca ++ .long 0xed5 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x5b0 ++ .byte 0x7 ++ .long .LASF163 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xeef ++ .long 0xeff ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF157 ++ .byte 0x3 ++ .value 0x5cc ++ .byte 0x7 ++ .long .LASF164 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xf19 ++ .long 0xf24 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x2891 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x602 ++ .byte 0x7 ++ .long .LASF166 ++ .long 0x482 ++ .byte 0x1 ++ .long 0xf3e ++ .long 0xf53 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x650 ++ .byte 0x7 ++ .long .LASF167 ++ .long 0x482 ++ .byte 0x1 ++ .long 0xf6d ++ .long 0xf7d ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x2891 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x66b ++ .byte 0x7 ++ .long .LASF168 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xf97 ++ .long 0xfa7 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x682 ++ .byte 0x7 ++ .long .LASF169 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xfc1 ++ .long 0xfdb ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x699 ++ .byte 0x7 ++ .long .LASF170 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0xff5 ++ .long 0x100a ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x6ac ++ .byte 0x7 ++ .long .LASF171 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1024 ++ .long 0x1034 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x6c4 ++ .byte 0x7 ++ .long .LASF172 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x104e ++ .long 0x1063 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF165 ++ .byte 0x3 ++ .value 0x6d6 ++ .byte 0x7 ++ .long .LASF173 ++ .long 0x482 ++ .byte 0x1 ++ .long 0x107d ++ .long 0x108d ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF174 ++ .byte 0x3 ++ .byte 0x70 ++ .byte 0x1e ++ .long 0x4b0 ++ .byte 0x2 ++ .uleb128 0x4 ++ .long .LASF175 ++ .byte 0x3 ++ .value 0x713 ++ .byte 0x7 ++ .long .LASF176 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x10b4 ++ .long 0x10c4 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF175 ++ .byte 0x3 ++ .value 0x726 ++ .byte 0x7 ++ .long .LASF177 ++ .long 0x482 ++ .byte 0x1 ++ .long 0x10de ++ .long 0x10e9 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF175 ++ .byte 0x3 ++ .value 0x739 ++ .byte 0x7 ++ .long .LASF178 ++ .long 0x482 ++ .byte 0x1 ++ .long 0x1103 ++ .long 0x1113 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF179 ++ .byte 0x3 ++ .value 0x74c ++ .byte 0x7 ++ .long .LASF180 ++ .byte 0x1 ++ .long 0x1129 ++ .long 0x112f ++ .uleb128 0x2 ++ .long 0x5110 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x765 ++ .byte 0x7 ++ .long .LASF182 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1149 ++ .long 0x115e ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x77b ++ .byte 0x7 ++ .long .LASF183 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1178 ++ .long 0x1197 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x794 ++ .byte 0x7 ++ .long .LASF184 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x11b1 ++ .long 0x11cb ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x7ad ++ .byte 0x7 ++ .long .LASF185 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x11e5 ++ .long 0x11fa ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x7c5 ++ .byte 0x7 ++ .long .LASF186 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1214 ++ .long 0x122e ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x7d7 ++ .byte 0x7 ++ .long .LASF187 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1248 ++ .long 0x125d ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x7eb ++ .byte 0x7 ++ .long .LASF188 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1277 ++ .long 0x1291 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x801 ++ .byte 0x7 ++ .long .LASF189 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x12ab ++ .long 0x12c0 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x816 ++ .byte 0x7 ++ .long .LASF190 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x12da ++ .long 0x12f4 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x84f ++ .byte 0x7 ++ .long .LASF191 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x130e ++ .long 0x1328 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x85a ++ .byte 0x7 ++ .long .LASF192 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1342 ++ .long 0x135c ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x865 ++ .byte 0x7 ++ .long .LASF193 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1376 ++ .long 0x1390 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x482 ++ .uleb128 0x1 ++ .long 0x482 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x870 ++ .byte 0x7 ++ .long .LASF194 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x13aa ++ .long 0x13c4 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x108d ++ .uleb128 0x1 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF181 ++ .byte 0x3 ++ .value 0x889 ++ .byte 0x15 ++ .long .LASF195 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x13de ++ .long 0x13f3 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x4b0 ++ .uleb128 0x1 ++ .long 0x2891 ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF196 ++ .byte 0x3 ++ .value 0x8d3 ++ .byte 0x7 ++ .long .LASF197 ++ .long 0x5144 ++ .long 0x140c ++ .long 0x1426 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF198 ++ .byte 0x3 ++ .value 0x8d7 ++ .byte 0x7 ++ .long .LASF199 ++ .long 0x5144 ++ .long 0x143f ++ .long 0x1459 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x27 ++ .long .LASF200 ++ .byte 0x3 ++ .value 0x8db ++ .byte 0x7 ++ .long .LASF201 ++ .long 0x5144 ++ .long 0x1472 ++ .long 0x1482 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF202 ++ .byte 0x3 ++ .value 0x8ec ++ .byte 0x7 ++ .long .LASF203 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x149c ++ .long 0x14b1 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF204 ++ .byte 0x3 ++ .value 0x8f6 ++ .byte 0x7 ++ .long .LASF205 ++ .byte 0x1 ++ .long 0x14c7 ++ .long 0x14d2 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x5144 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF206 ++ .byte 0x3 ++ .value 0x900 ++ .byte 0x7 ++ .long .LASF207 ++ .long 0x3bba ++ .byte 0x1 ++ .long 0x14ec ++ .long 0x14f2 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF208 ++ .byte 0x3 ++ .value 0x90c ++ .byte 0x7 ++ .long .LASF209 ++ .long 0x3bba ++ .byte 0x1 ++ .long 0x150c ++ .long 0x1512 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF210 ++ .byte 0x3 ++ .value 0x91f ++ .byte 0x7 ++ .long .LASF211 ++ .long 0x302 ++ .byte 0x1 ++ .long 0x152c ++ .long 0x1532 ++ .uleb128 0x2 ++ .long 0x511b ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF212 ++ .byte 0x3 ++ .value 0x92f ++ .byte 0x7 ++ .long .LASF213 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x154c ++ .long 0x1561 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF212 ++ .byte 0x3 ++ .value 0x93d ++ .byte 0x7 ++ .long .LASF214 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x157b ++ .long 0x158b ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF212 ++ .byte 0x3 ++ .value 0x95d ++ .byte 0x7 ++ .long .LASF215 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x15a5 ++ .long 0x15b5 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF212 ++ .byte 0x3 ++ .value 0x96e ++ .byte 0x7 ++ .long .LASF216 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x15cf ++ .long 0x15df ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF217 ++ .byte 0x3 ++ .value 0x97b ++ .byte 0x7 ++ .long .LASF218 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x15f9 ++ .long 0x1609 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF217 ++ .byte 0x3 ++ .value 0x99d ++ .byte 0x7 ++ .long .LASF219 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1623 ++ .long 0x1638 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF217 ++ .byte 0x3 ++ .value 0x9ab ++ .byte 0x7 ++ .long .LASF220 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1652 ++ .long 0x1662 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF217 ++ .byte 0x3 ++ .value 0x9bc ++ .byte 0x7 ++ .long .LASF221 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x167c ++ .long 0x168c ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF222 ++ .byte 0x3 ++ .value 0x9ca ++ .byte 0x7 ++ .long .LASF223 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x16a6 ++ .long 0x16b6 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF222 ++ .byte 0x3 ++ .value 0x9ed ++ .byte 0x7 ++ .long .LASF224 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x16d0 ++ .long 0x16e5 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF222 ++ .byte 0x3 ++ .value 0x9fb ++ .byte 0x7 ++ .long .LASF225 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x16ff ++ .long 0x170f ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF222 ++ .byte 0x3 ++ .value 0xa0f ++ .byte 0x7 ++ .long .LASF226 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1729 ++ .long 0x1739 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF227 ++ .byte 0x3 ++ .value 0xa1e ++ .byte 0x7 ++ .long .LASF228 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1753 ++ .long 0x1763 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF227 ++ .byte 0x3 ++ .value 0xa41 ++ .byte 0x7 ++ .long .LASF229 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x177d ++ .long 0x1792 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF227 ++ .byte 0x3 ++ .value 0xa4f ++ .byte 0x7 ++ .long .LASF230 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x17ac ++ .long 0x17bc ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF227 ++ .byte 0x3 ++ .value 0xa63 ++ .byte 0x7 ++ .long .LASF231 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x17d6 ++ .long 0x17e6 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF232 ++ .byte 0x3 ++ .value 0xa71 ++ .byte 0x7 ++ .long .LASF233 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1800 ++ .long 0x1810 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF232 ++ .byte 0x3 ++ .value 0xa94 ++ .byte 0x7 ++ .long .LASF234 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x182a ++ .long 0x183f ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF232 ++ .byte 0x3 ++ .value 0xaa2 ++ .byte 0x7 ++ .long .LASF235 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1859 ++ .long 0x1869 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF232 ++ .byte 0x3 ++ .value 0xab4 ++ .byte 0x7 ++ .long .LASF236 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1883 ++ .long 0x1893 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF237 ++ .byte 0x3 ++ .value 0xac3 ++ .byte 0x7 ++ .long .LASF238 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x18ad ++ .long 0x18bd ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF237 ++ .byte 0x3 ++ .value 0xae6 ++ .byte 0x7 ++ .long .LASF239 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x18d7 ++ .long 0x18ec ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF237 ++ .byte 0x3 ++ .value 0xaf4 ++ .byte 0x7 ++ .long .LASF240 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1906 ++ .long 0x1916 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF237 ++ .byte 0x3 ++ .value 0xb06 ++ .byte 0x7 ++ .long .LASF241 ++ .long 0x117 ++ .byte 0x1 ++ .long 0x1930 ++ .long 0x1940 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF242 ++ .byte 0x3 ++ .value 0xb16 ++ .byte 0x7 ++ .long .LASF243 ++ .long 0x45 ++ .byte 0x1 ++ .long 0x195a ++ .long 0x196a ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF244 ++ .byte 0x3 ++ .value 0xb29 ++ .byte 0x7 ++ .long .LASF245 ++ .long 0x39eb ++ .byte 0x1 ++ .long 0x1984 ++ .long 0x198f ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF244 ++ .byte 0x3 ++ .value 0xb86 ++ .byte 0x7 ++ .long .LASF246 ++ .long 0x39eb ++ .byte 0x1 ++ .long 0x19a9 ++ .long 0x19be ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF244 ++ .byte 0x3 ++ .value 0xba0 ++ .byte 0x7 ++ .long .LASF247 ++ .long 0x39eb ++ .byte 0x1 ++ .long 0x19d8 ++ .long 0x19f7 ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x5138 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF244 ++ .byte 0x3 ++ .value 0xbb2 ++ .byte 0x7 ++ .long .LASF248 ++ .long 0x39eb ++ .byte 0x1 ++ .long 0x1a11 ++ .long 0x1a1c ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF244 ++ .byte 0x3 ++ .value 0xbca ++ .byte 0x7 ++ .long .LASF249 ++ .long 0x39eb ++ .byte 0x1 ++ .long 0x1a36 ++ .long 0x1a4b ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF244 ++ .byte 0x3 ++ .value 0xbe5 ++ .byte 0x7 ++ .long .LASF250 ++ .long 0x39eb ++ .byte 0x1 ++ .long 0x1a65 ++ .long 0x1a7f ++ .uleb128 0x2 ++ .long 0x511b ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x117 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF251 ++ .byte 0x3 ++ .value 0x5c2 ++ .byte 0x9 ++ .long .LASF252 ++ .long 0x5144 ++ .byte 0x1 ++ .long 0x1aa2 ++ .long 0x1ab2 ++ .uleb128 0xc ++ .long .LASF253 ++ .long 0x3f04 ++ .uleb128 0x2 ++ .long 0x5110 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .uleb128 0x25 ++ .long .LASF255 ++ .long 0x221e ++ .uleb128 0x25 ++ .long .LASF256 ++ .long 0x250f ++ .byte 0 ++ .uleb128 0xa ++ .long 0x45 ++ .uleb128 0x2c ++ .long .LASF260 ++ .long 0x1b66 ++ .uleb128 0x15 ++ .long .LASF257 ++ .byte 0x2 ++ .byte 0x50 ++ .byte 0x39 ++ .long 0x45 ++ .byte 0x1 ++ .uleb128 0x49 ++ .string "str" ++ .byte 0x2 ++ .byte 0xb2 ++ .byte 0x7 ++ .long .LASF364 ++ .long 0x1adc ++ .byte 0x1 ++ .long 0x1b02 ++ .long 0x1b08 ++ .uleb128 0x2 ++ .long 0x595b ++ .byte 0 ++ .uleb128 0x62 ++ .long .LASF258 ++ .byte 0x2 ++ .byte 0x6f ++ .byte 0x7 ++ .long .LASF281 ++ .byte 0x1 ++ .long 0x1b1d ++ .long 0x1b28 ++ .uleb128 0x2 ++ .long 0x51d6 ++ .uleb128 0x1 ++ .long 0x2a28 ++ .byte 0 ++ .uleb128 0x63 ++ .long .LASF259 ++ .long .LASF925 ++ .byte 0x1 ++ .long 0x1ad3 ++ .byte 0x1 ++ .long 0x1b3f ++ .long 0x1b4a ++ .uleb128 0x2 ++ .long 0x51d6 ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .uleb128 0x25 ++ .long .LASF255 ++ .long 0x221e ++ .uleb128 0x25 ++ .long .LASF256 ++ .long 0x250f ++ .byte 0 ++ .uleb128 0xa ++ .long 0x1ad3 ++ .uleb128 0x2c ++ .long .LASF261 ++ .long 0x1c0f ++ .uleb128 0x28 ++ .long .LASF257 ++ .byte 0x2 ++ .value 0x234 ++ .byte 0x36 ++ .long 0x45 ++ .byte 0x1 ++ .uleb128 0x31 ++ .string "str" ++ .byte 0x2 ++ .value 0x2a5 ++ .byte 0x7 ++ .long .LASF262 ++ .long 0x1b74 ++ .byte 0x1 ++ .long 0x1b9c ++ .long 0x1ba2 ++ .uleb128 0x2 ++ .long 0x5d4b ++ .byte 0 ++ .uleb128 0x4a ++ .long .LASF287 ++ .byte 0x2 ++ .value 0x275 ++ .byte 0x7 ++ .long .LASF428 ++ .byte 0x1 ++ .long 0x1b6b ++ .byte 0x1 ++ .long 0x1bbd ++ .long 0x1bcd ++ .uleb128 0x2 ++ .long 0x5d6e ++ .uleb128 0x2 ++ .long 0x39eb ++ .uleb128 0x2 ++ .long 0x5a24 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF263 ++ .byte 0x2 ++ .value 0x247 ++ .byte 0x7 ++ .long .LASF264 ++ .byte 0x1 ++ .long 0x1be3 ++ .long 0x1bf3 ++ .uleb128 0x2 ++ .long 0x5d6e ++ .uleb128 0x2 ++ .long 0x39eb ++ .uleb128 0x2 ++ .long 0x5a24 ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .uleb128 0x25 ++ .long .LASF255 ++ .long 0x221e ++ .uleb128 0x25 ++ .long .LASF256 ++ .long 0x250f ++ .byte 0 ++ .uleb128 0xa ++ .long 0x1b6b ++ .byte 0 ++ .uleb128 0x38 ++ .byte 0x7 ++ .value 0x118 ++ .byte 0x41 ++ .long 0x38 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x40 ++ .byte 0xb ++ .long 0x3a03 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x8d ++ .byte 0xb ++ .long 0x3979 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x8f ++ .byte 0xb ++ .long 0x3bc5 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x90 ++ .byte 0xb ++ .long 0x3bdc ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x91 ++ .byte 0xb ++ .long 0x3bf9 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x92 ++ .byte 0xb ++ .long 0x3c2c ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x93 ++ .byte 0xb ++ .long 0x3c48 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x94 ++ .byte 0xb ++ .long 0x3c6a ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x95 ++ .byte 0xb ++ .long 0x3c86 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x96 ++ .byte 0xb ++ .long 0x3ca3 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x97 ++ .byte 0xb ++ .long 0x3cc4 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x98 ++ .byte 0xb ++ .long 0x3cdb ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x99 ++ .byte 0xb ++ .long 0x3ce8 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x9a ++ .byte 0xb ++ .long 0x3d0f ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x9b ++ .byte 0xb ++ .long 0x3d35 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x9c ++ .byte 0xb ++ .long 0x3d52 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x9d ++ .byte 0xb ++ .long 0x3d7e ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0x9e ++ .byte 0xb ++ .long 0x3d9a ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xa0 ++ .byte 0xb ++ .long 0x3db1 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xa2 ++ .byte 0xb ++ .long 0x3dd3 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xa3 ++ .byte 0xb ++ .long 0x3df4 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xa4 ++ .byte 0xb ++ .long 0x3e10 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xa6 ++ .byte 0xb ++ .long 0x3e37 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xa9 ++ .byte 0xb ++ .long 0x3e5c ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xac ++ .byte 0xb ++ .long 0x3e82 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xae ++ .byte 0xb ++ .long 0x3ea7 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb0 ++ .byte 0xb ++ .long 0x3ec3 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb2 ++ .byte 0xb ++ .long 0x3ee3 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb3 ++ .byte 0xb ++ .long 0x3f0f ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb4 ++ .byte 0xb ++ .long 0x3f2a ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb5 ++ .byte 0xb ++ .long 0x3f45 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb6 ++ .byte 0xb ++ .long 0x3f60 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb7 ++ .byte 0xb ++ .long 0x3f7b ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb8 ++ .byte 0xb ++ .long 0x3f96 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xb9 ++ .byte 0xb ++ .long 0x4063 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xba ++ .byte 0xb ++ .long 0x4079 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xbb ++ .byte 0xb ++ .long 0x409a ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xbc ++ .byte 0xb ++ .long 0x40ba ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xbd ++ .byte 0xb ++ .long 0x40da ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xbe ++ .byte 0xb ++ .long 0x4106 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xbf ++ .byte 0xb ++ .long 0x4121 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc1 ++ .byte 0xb ++ .long 0x4143 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc3 ++ .byte 0xb ++ .long 0x415f ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc4 ++ .byte 0xb ++ .long 0x417f ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc5 ++ .byte 0xb ++ .long 0x41ac ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc6 ++ .byte 0xb ++ .long 0x41cd ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc7 ++ .byte 0xb ++ .long 0x41ed ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc8 ++ .byte 0xb ++ .long 0x4204 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xc9 ++ .byte 0xb ++ .long 0x4225 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xca ++ .byte 0xb ++ .long 0x4245 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xcb ++ .byte 0xb ++ .long 0x4265 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xcc ++ .byte 0xb ++ .long 0x4285 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xcd ++ .byte 0xb ++ .long 0x429d ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xce ++ .byte 0xb ++ .long 0x42b9 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xce ++ .byte 0xb ++ .long 0x42d8 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xcf ++ .byte 0xb ++ .long 0x42f7 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xcf ++ .byte 0xb ++ .long 0x4316 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xd0 ++ .byte 0xb ++ .long 0x4335 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xd0 ++ .byte 0xb ++ .long 0x4354 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xd1 ++ .byte 0xb ++ .long 0x4373 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xd1 ++ .byte 0xb ++ .long 0x4392 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xd2 ++ .byte 0xb ++ .long 0x43b1 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xd2 ++ .byte 0xb ++ .long 0x43d5 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x10b ++ .byte 0x16 ++ .long 0x43f9 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x10c ++ .byte 0x16 ++ .long 0x4415 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x10d ++ .byte 0x16 ++ .long 0x443d ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x11b ++ .byte 0xe ++ .long 0x4143 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x11e ++ .byte 0xe ++ .long 0x3e37 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x121 ++ .byte 0xe ++ .long 0x3e82 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x124 ++ .byte 0xe ++ .long 0x3ec3 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x128 ++ .byte 0xe ++ .long 0x43f9 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x129 ++ .byte 0xe ++ .long 0x4415 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x12a ++ .byte 0xe ++ .long 0x443d ++ .uleb128 0x13 ++ .long .LASF265 ++ .byte 0x1 ++ .byte 0x5 ++ .byte 0x5b ++ .byte 0xa ++ .long 0x1e95 ++ .uleb128 0x4b ++ .long .LASF265 ++ .byte 0x5 ++ .byte 0x5e ++ .byte 0xe ++ .long .LASF266 ++ .byte 0x1 ++ .long 0x1e8e ++ .uleb128 0x2 ++ .long 0x446a ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x1e70 ++ .uleb128 0x64 ++ .long .LASF312 ++ .byte 0x5 ++ .byte 0x62 ++ .byte 0x1a ++ .long .LASF926 ++ .long 0x1e95 ++ .uleb128 0x4c ++ .long .LASF435 ++ .byte 0x6 ++ .byte 0x34 ++ .byte 0xd ++ .long 0x208d ++ .uleb128 0x30 ++ .long .LASF268 ++ .byte 0x8 ++ .byte 0x6 ++ .byte 0x4f ++ .byte 0xb ++ .long 0x207f ++ .uleb128 0x6 ++ .long .LASF269 ++ .byte 0x6 ++ .byte 0x51 ++ .byte 0xd ++ .long 0x3977 ++ .byte 0 ++ .uleb128 0x65 ++ .long .LASF268 ++ .byte 0x6 ++ .byte 0x53 ++ .byte 0x10 ++ .long .LASF270 ++ .long 0x1ee4 ++ .long 0x1eef ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x3977 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF271 ++ .byte 0x6 ++ .byte 0x55 ++ .byte 0xc ++ .long .LASF272 ++ .long 0x1f03 ++ .long 0x1f09 ++ .uleb128 0x2 ++ .long 0x4470 ++ .byte 0 ++ .uleb128 0x20 ++ .long .LASF273 ++ .byte 0x6 ++ .byte 0x56 ++ .byte 0xc ++ .long .LASF274 ++ .long 0x1f1d ++ .long 0x1f23 ++ .uleb128 0x2 ++ .long 0x4470 ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF275 ++ .byte 0x6 ++ .byte 0x58 ++ .byte 0xd ++ .long .LASF276 ++ .long 0x3977 ++ .long 0x1f3b ++ .long 0x1f41 ++ .uleb128 0x2 ++ .long 0x4476 ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF268 ++ .byte 0x6 ++ .byte 0x60 ++ .byte 0x7 ++ .long .LASF277 ++ .byte 0x1 ++ .long 0x1f56 ++ .long 0x1f5c ++ .uleb128 0x2 ++ .long 0x4470 ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF268 ++ .byte 0x6 ++ .byte 0x62 ++ .byte 0x7 ++ .long .LASF278 ++ .byte 0x1 ++ .long 0x1f71 ++ .long 0x1f7c ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x447c ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF268 ++ .byte 0x6 ++ .byte 0x65 ++ .byte 0x7 ++ .long .LASF279 ++ .byte 0x1 ++ .long 0x1f91 ++ .long 0x1f9c ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x20ab ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF268 ++ .byte 0x6 ++ .byte 0x69 ++ .byte 0x7 ++ .long .LASF280 ++ .byte 0x1 ++ .long 0x1fb1 ++ .long 0x1fbc ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x4482 ++ .byte 0 ++ .uleb128 0x29 ++ .long .LASF83 ++ .byte 0x6 ++ .byte 0x76 ++ .byte 0x7 ++ .long .LASF282 ++ .long 0x4488 ++ .byte 0x1 ++ .long 0x1fd5 ++ .long 0x1fe0 ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x447c ++ .byte 0 ++ .uleb128 0x29 ++ .long .LASF83 ++ .byte 0x6 ++ .byte 0x7a ++ .byte 0x7 ++ .long .LASF283 ++ .long 0x4488 ++ .byte 0x1 ++ .long 0x1ff9 ++ .long 0x2004 ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x4482 ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF284 ++ .byte 0x6 ++ .byte 0x81 ++ .byte 0x7 ++ .long .LASF285 ++ .byte 0x1 ++ .long 0x2019 ++ .long 0x2024 ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF204 ++ .byte 0x6 ++ .byte 0x84 ++ .byte 0x7 ++ .long .LASF286 ++ .byte 0x1 ++ .long 0x2039 ++ .long 0x2044 ++ .uleb128 0x2 ++ .long 0x4470 ++ .uleb128 0x1 ++ .long 0x4488 ++ .byte 0 ++ .uleb128 0x66 ++ .long .LASF288 ++ .byte 0x6 ++ .byte 0x90 ++ .byte 0x10 ++ .long .LASF341 ++ .long 0x448e ++ .byte 0x1 ++ .long 0x205d ++ .long 0x2063 ++ .uleb128 0x2 ++ .long 0x4476 ++ .byte 0 ++ .uleb128 0x67 ++ .long .LASF289 ++ .byte 0x6 ++ .byte 0x99 ++ .byte 0x7 ++ .long .LASF290 ++ .long 0x449a ++ .byte 0x1 ++ .long 0x2078 ++ .uleb128 0x2 ++ .long 0x4476 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x1eb6 ++ .uleb128 0x3 ++ .byte 0x6 ++ .byte 0x49 ++ .byte 0x10 ++ .long 0x2095 ++ .byte 0 ++ .uleb128 0x3 ++ .byte 0x6 ++ .byte 0x39 ++ .byte 0x1a ++ .long 0x1eb6 ++ .uleb128 0x68 ++ .long .LASF291 ++ .byte 0x6 ++ .byte 0x45 ++ .byte 0x8 ++ .long .LASF292 ++ .long 0x20ab ++ .uleb128 0x1 ++ .long 0x1eb6 ++ .byte 0 ++ .uleb128 0x19 ++ .long .LASF294 ++ .byte 0x7 ++ .value 0x106 ++ .byte 0x1d ++ .long 0x4465 ++ .uleb128 0x3f ++ .long .LASF366 ++ .uleb128 0xa ++ .long 0x20b8 ++ .uleb128 0x13 ++ .long .LASF295 ++ .byte 0x1 ++ .byte 0x8 ++ .byte 0x39 ++ .byte 0xc ++ .long 0x2137 ++ .uleb128 0x4d ++ .long .LASF297 ++ .byte 0x8 ++ .byte 0x3b ++ .byte 0x2d ++ .long 0x4495 ++ .uleb128 0x5 ++ .long .LASF298 ++ .byte 0x8 ++ .byte 0x3c ++ .byte 0x2d ++ .long 0x448e ++ .uleb128 0x22 ++ .long .LASF299 ++ .byte 0x8 ++ .byte 0x3e ++ .byte 0x11 ++ .long .LASF300 ++ .long 0x20db ++ .long 0x20ff ++ .long 0x2105 ++ .uleb128 0x2 ++ .long 0x44a0 ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF301 ++ .byte 0x8 ++ .byte 0x43 ++ .byte 0x1c ++ .long .LASF302 ++ .long 0x20db ++ .long 0x211d ++ .long 0x2123 ++ .uleb128 0x2 ++ .long 0x44a0 ++ .byte 0 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x448e ++ .uleb128 0x4e ++ .string "__v" ++ .long 0x448e ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x20c2 ++ .uleb128 0x13 ++ .long .LASF303 ++ .byte 0x1 ++ .byte 0x8 ++ .byte 0x39 ++ .byte 0xc ++ .long 0x21b1 ++ .uleb128 0x4d ++ .long .LASF297 ++ .byte 0x8 ++ .byte 0x3b ++ .byte 0x2d ++ .long 0x4495 ++ .uleb128 0x5 ++ .long .LASF298 ++ .byte 0x8 ++ .byte 0x3c ++ .byte 0x2d ++ .long 0x448e ++ .uleb128 0x22 ++ .long .LASF304 ++ .byte 0x8 ++ .byte 0x3e ++ .byte 0x11 ++ .long .LASF305 ++ .long 0x2155 ++ .long 0x2179 ++ .long 0x217f ++ .uleb128 0x2 ++ .long 0x44a6 ++ .byte 0 ++ .uleb128 0x22 ++ .long .LASF301 ++ .byte 0x8 ++ .byte 0x43 ++ .byte 0x1c ++ .long .LASF306 ++ .long 0x2155 ++ .long 0x2197 ++ .long 0x219d ++ .uleb128 0x2 ++ .long 0x44a6 ++ .byte 0 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x448e ++ .uleb128 0x4e ++ .string "__v" ++ .long 0x448e ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x213c ++ .uleb128 0x19 ++ .long .LASF307 ++ .byte 0x7 ++ .value 0x102 ++ .byte 0x1a ++ .long 0x3927 ++ .uleb128 0x4f ++ .long .LASF308 ++ .byte 0x8 ++ .value 0x9bd ++ .byte 0xd ++ .uleb128 0x4f ++ .long .LASF309 ++ .byte 0x8 ++ .value 0xa0b ++ .byte 0xd ++ .uleb128 0x13 ++ .long .LASF310 ++ .byte 0x1 ++ .byte 0x9 ++ .byte 0x4c ++ .byte 0xa ++ .long 0x21fa ++ .uleb128 0x4b ++ .long .LASF310 ++ .byte 0x9 ++ .byte 0x4c ++ .byte 0x2b ++ .long .LASF311 ++ .byte 0x1 ++ .long 0x21f3 ++ .uleb128 0x2 ++ .long 0x44e2 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x21d5 ++ .uleb128 0x69 ++ .long .LASF313 ++ .byte 0x9 ++ .byte 0x4f ++ .byte 0x35 ++ .long 0x21fa ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0x6a ++ .long .LASF927 ++ .byte 0x1 ++ .byte 0x18 ++ .byte 0x59 ++ .byte 0xa ++ .uleb128 0x50 ++ .long .LASF314 ++ .byte 0xa ++ .byte 0x32 ++ .byte 0xd ++ .uleb128 0x32 ++ .long .LASF315 ++ .byte 0x1 ++ .byte 0xb ++ .value 0x122 ++ .byte 0xc ++ .long 0x240a ++ .uleb128 0x24 ++ .long .LASF157 ++ .byte 0xb ++ .value 0x12b ++ .byte 0x7 ++ .long .LASF316 ++ .long 0x2248 ++ .uleb128 0x1 ++ .long 0x4502 ++ .uleb128 0x1 ++ .long 0x4508 ++ .byte 0 ++ .uleb128 0x19 ++ .long .LASF317 ++ .byte 0xb ++ .value 0x124 ++ .byte 0x21 ++ .long 0x39df ++ .uleb128 0xa ++ .long 0x2248 ++ .uleb128 0x51 ++ .string "eq" ++ .byte 0xb ++ .value 0x12f ++ .byte 0x7 ++ .long .LASF318 ++ .long 0x448e ++ .long 0x2279 ++ .uleb128 0x1 ++ .long 0x4508 ++ .uleb128 0x1 ++ .long 0x4508 ++ .byte 0 ++ .uleb128 0x51 ++ .string "lt" ++ .byte 0xb ++ .value 0x133 ++ .byte 0x7 ++ .long .LASF319 ++ .long 0x448e ++ .long 0x2298 ++ .uleb128 0x1 ++ .long 0x4508 ++ .uleb128 0x1 ++ .long 0x4508 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF244 ++ .byte 0xb ++ .value 0x13b ++ .byte 0x7 ++ .long .LASF320 ++ .long 0x39eb ++ .long 0x22bd ++ .uleb128 0x1 ++ .long 0x450e ++ .uleb128 0x1 ++ .long 0x450e ++ .uleb128 0x1 ++ .long 0x21b6 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF113 ++ .byte 0xb ++ .value 0x150 ++ .byte 0x7 ++ .long .LASF321 ++ .long 0x21b6 ++ .long 0x22d8 ++ .uleb128 0x1 ++ .long 0x450e ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF212 ++ .byte 0xb ++ .value 0x15a ++ .byte 0x7 ++ .long .LASF322 ++ .long 0x450e ++ .long 0x22fd ++ .uleb128 0x1 ++ .long 0x450e ++ .uleb128 0x1 ++ .long 0x21b6 ++ .uleb128 0x1 ++ .long 0x4508 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF323 ++ .byte 0xb ++ .value 0x168 ++ .byte 0x7 ++ .long .LASF324 ++ .long 0x4514 ++ .long 0x2322 ++ .uleb128 0x1 ++ .long 0x4514 ++ .uleb128 0x1 ++ .long 0x450e ++ .uleb128 0x1 ++ .long 0x21b6 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF202 ++ .byte 0xb ++ .value 0x170 ++ .byte 0x7 ++ .long .LASF325 ++ .long 0x4514 ++ .long 0x2347 ++ .uleb128 0x1 ++ .long 0x4514 ++ .uleb128 0x1 ++ .long 0x450e ++ .uleb128 0x1 ++ .long 0x21b6 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF157 ++ .byte 0xb ++ .value 0x178 ++ .byte 0x7 ++ .long .LASF326 ++ .long 0x4514 ++ .long 0x236c ++ .uleb128 0x1 ++ .long 0x4514 ++ .uleb128 0x1 ++ .long 0x21b6 ++ .uleb128 0x1 ++ .long 0x2248 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF327 ++ .byte 0xb ++ .value 0x180 ++ .byte 0x7 ++ .long .LASF328 ++ .long 0x2248 ++ .long 0x2387 ++ .uleb128 0x1 ++ .long 0x451a ++ .byte 0 ++ .uleb128 0x19 ++ .long .LASF329 ++ .byte 0xb ++ .value 0x125 ++ .byte 0x21 ++ .long 0x39eb ++ .uleb128 0xa ++ .long 0x2387 ++ .uleb128 0x14 ++ .long .LASF330 ++ .byte 0xb ++ .value 0x186 ++ .byte 0x7 ++ .long .LASF331 ++ .long 0x2387 ++ .long 0x23b4 ++ .uleb128 0x1 ++ .long 0x4508 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF332 ++ .byte 0xb ++ .value 0x18a ++ .byte 0x7 ++ .long .LASF333 ++ .long 0x448e ++ .long 0x23d4 ++ .uleb128 0x1 ++ .long 0x451a ++ .uleb128 0x1 ++ .long 0x451a ++ .byte 0 ++ .uleb128 0x6b ++ .string "eof" ++ .byte 0xb ++ .value 0x18e ++ .byte 0x7 ++ .long .LASF928 ++ .long 0x2387 ++ .uleb128 0x14 ++ .long .LASF334 ++ .byte 0xb ++ .value 0x192 ++ .byte 0x7 ++ .long .LASF335 ++ .long 0x2387 ++ .long 0x2400 ++ .uleb128 0x1 ++ .long 0x451a ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x2f ++ .byte 0xb ++ .long 0x4615 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x30 ++ .byte 0xb ++ .long 0x4621 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x31 ++ .byte 0xb ++ .long 0x462d ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x32 ++ .byte 0xb ++ .long 0x4639 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x34 ++ .byte 0xb ++ .long 0x46d5 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x35 ++ .byte 0xb ++ .long 0x46e1 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x36 ++ .byte 0xb ++ .long 0x46ed ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x37 ++ .byte 0xb ++ .long 0x46f9 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x39 ++ .byte 0xb ++ .long 0x4675 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x3a ++ .byte 0xb ++ .long 0x4681 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x3b ++ .byte 0xb ++ .long 0x468d ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x3c ++ .byte 0xb ++ .long 0x4699 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x3e ++ .byte 0xb ++ .long 0x474d ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x3f ++ .byte 0xb ++ .long 0x4735 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x41 ++ .byte 0xb ++ .long 0x4645 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x42 ++ .byte 0xb ++ .long 0x4651 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x43 ++ .byte 0xb ++ .long 0x465d ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x44 ++ .byte 0xb ++ .long 0x4669 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x46 ++ .byte 0xb ++ .long 0x4705 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x47 ++ .byte 0xb ++ .long 0x4711 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x48 ++ .byte 0xb ++ .long 0x471d ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x49 ++ .byte 0xb ++ .long 0x4729 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x4b ++ .byte 0xb ++ .long 0x46a5 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x4c ++ .byte 0xb ++ .long 0x46b1 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x4d ++ .byte 0xb ++ .long 0x46bd ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x4e ++ .byte 0xb ++ .long 0x46c9 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x50 ++ .byte 0xb ++ .long 0x4759 ++ .uleb128 0x3 ++ .byte 0xc ++ .byte 0x51 ++ .byte 0xb ++ .long 0x4741 ++ .uleb128 0x3 ++ .byte 0xd ++ .byte 0x35 ++ .byte 0xb ++ .long 0x4765 ++ .uleb128 0x3 ++ .byte 0xd ++ .byte 0x36 ++ .byte 0xb ++ .long 0x48ab ++ .uleb128 0x3 ++ .byte 0xd ++ .byte 0x37 ++ .byte 0xb ++ .long 0x48c6 ++ .uleb128 0x19 ++ .long .LASF336 ++ .byte 0x7 ++ .value 0x103 ++ .byte 0x1c ++ .long 0x41a0 ++ .uleb128 0x30 ++ .long .LASF337 ++ .byte 0x1 ++ .byte 0xe ++ .byte 0x6f ++ .byte 0xb ++ .long 0x25a0 ++ .uleb128 0x6c ++ .long 0x2eb8 ++ .byte 0 ++ .byte 0x1 ++ .uleb128 0x1d ++ .long .LASF338 ++ .byte 0xe ++ .byte 0x89 ++ .byte 0x7 ++ .long .LASF339 ++ .byte 0x1 ++ .long 0x2538 ++ .long 0x253e ++ .uleb128 0x2 ++ .long 0x4967 ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF338 ++ .byte 0xe ++ .byte 0x8c ++ .byte 0x7 ++ .long .LASF340 ++ .byte 0x1 ++ .long 0x2553 ++ .long 0x255e ++ .uleb128 0x2 ++ .long 0x4967 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x6d ++ .long .LASF83 ++ .byte 0xe ++ .byte 0x91 ++ .byte 0x12 ++ .long .LASF342 ++ .long 0x4978 ++ .byte 0x1 ++ .byte 0x1 ++ .long 0x2578 ++ .long 0x2583 ++ .uleb128 0x2 ++ .long 0x4967 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x6e ++ .long .LASF343 ++ .byte 0xe ++ .byte 0x98 ++ .byte 0x7 ++ .long .LASF344 ++ .byte 0x1 ++ .long 0x2594 ++ .uleb128 0x2 ++ .long 0x4967 ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x250f ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x7f ++ .byte 0xb ++ .long 0x49a6 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x80 ++ .byte 0xb ++ .long 0x49da ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x86 ++ .byte 0xb ++ .long 0x4a41 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x89 ++ .byte 0xb ++ .long 0x4a5f ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x8c ++ .byte 0xb ++ .long 0x4a7a ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x8d ++ .byte 0xb ++ .long 0x4a90 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x8e ++ .byte 0xb ++ .long 0x4aa7 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x8f ++ .byte 0xb ++ .long 0x4abe ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x91 ++ .byte 0xb ++ .long 0x4ae8 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x94 ++ .byte 0xb ++ .long 0x4b05 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x96 ++ .byte 0xb ++ .long 0x4b1c ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x99 ++ .byte 0xb ++ .long 0x4b38 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x9a ++ .byte 0xb ++ .long 0x4b54 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x9b ++ .byte 0xb ++ .long 0x4b74 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0x9d ++ .byte 0xb ++ .long 0x4b95 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa0 ++ .byte 0xb ++ .long 0x4bb7 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa3 ++ .byte 0xb ++ .long 0x4bcb ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa5 ++ .byte 0xb ++ .long 0x4bd8 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa6 ++ .byte 0xb ++ .long 0x4beb ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa7 ++ .byte 0xb ++ .long 0x4c0c ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa8 ++ .byte 0xb ++ .long 0x4c2c ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xa9 ++ .byte 0xb ++ .long 0x4c4c ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xab ++ .byte 0xb ++ .long 0x4c63 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xac ++ .byte 0xb ++ .long 0x4c83 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xf0 ++ .byte 0x16 ++ .long 0x4a0e ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xf5 ++ .byte 0x16 ++ .long 0x30a4 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xf6 ++ .byte 0x16 ++ .long 0x4c9e ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xf8 ++ .byte 0x16 ++ .long 0x4cba ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xf9 ++ .byte 0x16 ++ .long 0x4d11 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xfa ++ .byte 0x16 ++ .long 0x4cd1 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xfb ++ .byte 0x16 ++ .long 0x4cf1 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xfc ++ .byte 0x16 ++ .long 0x4d2c ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x62 ++ .byte 0xb ++ .long 0x3ba7 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x63 ++ .byte 0xb ++ .long 0x4dd1 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x65 ++ .byte 0xb ++ .long 0x4e48 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x66 ++ .byte 0xb ++ .long 0x4e5b ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x67 ++ .byte 0xb ++ .long 0x4e71 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x68 ++ .byte 0xb ++ .long 0x4e88 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x69 ++ .byte 0xb ++ .long 0x4e9f ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x6a ++ .byte 0xb ++ .long 0x4eb5 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x6b ++ .byte 0xb ++ .long 0x4ecc ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x6c ++ .byte 0xb ++ .long 0x4eee ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x6d ++ .byte 0xb ++ .long 0x4f0e ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x71 ++ .byte 0xb ++ .long 0x4f29 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x72 ++ .byte 0xb ++ .long 0x4f4f ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x74 ++ .byte 0xb ++ .long 0x4f6f ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x75 ++ .byte 0xb ++ .long 0x4f90 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x76 ++ .byte 0xb ++ .long 0x4fb2 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x78 ++ .byte 0xb ++ .long 0x4fc9 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x79 ++ .byte 0xb ++ .long 0x4fe0 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x7e ++ .byte 0xb ++ .long 0x4fec ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x83 ++ .byte 0xb ++ .long 0x4fff ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x84 ++ .byte 0xb ++ .long 0x5015 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x85 ++ .byte 0xb ++ .long 0x5030 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x87 ++ .byte 0xb ++ .long 0x5043 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x88 ++ .byte 0xb ++ .long 0x505b ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x8b ++ .byte 0xb ++ .long 0x5081 ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x8d ++ .byte 0xb ++ .long 0x508d ++ .uleb128 0x3 ++ .byte 0x10 ++ .byte 0x8f ++ .byte 0xb ++ .long 0x50a3 ++ .uleb128 0x32 ++ .long .LASF345 ++ .byte 0x1 ++ .byte 0x11 ++ .value 0x187 ++ .byte 0xc ++ .long 0x2891 ++ .uleb128 0x19 ++ .long .LASF5 ++ .byte 0x11 ++ .value 0x18f ++ .byte 0xd ++ .long 0x3f04 ++ .uleb128 0x14 ++ .long .LASF346 ++ .byte 0x11 ++ .value 0x1ba ++ .byte 0x7 ++ .long .LASF347 ++ .long 0x278b ++ .long 0x27b8 ++ .uleb128 0x1 ++ .long 0x50d7 ++ .uleb128 0x1 ++ .long 0x27ca ++ .byte 0 ++ .uleb128 0x19 ++ .long .LASF35 ++ .byte 0x11 ++ .value 0x18a ++ .byte 0xd ++ .long 0x250f ++ .uleb128 0xa ++ .long 0x27b8 ++ .uleb128 0x19 ++ .long .LASF6 ++ .byte 0x11 ++ .value 0x19e ++ .byte 0xd ++ .long 0x21b6 ++ .uleb128 0x14 ++ .long .LASF346 ++ .byte 0x11 ++ .value 0x1c8 ++ .byte 0x7 ++ .long .LASF348 ++ .long 0x278b ++ .long 0x27fc ++ .uleb128 0x1 ++ .long 0x50d7 ++ .uleb128 0x1 ++ .long 0x27ca ++ .uleb128 0x1 ++ .long 0x27fc ++ .byte 0 ++ .uleb128 0x19 ++ .long .LASF349 ++ .byte 0x11 ++ .value 0x198 ++ .byte 0xd ++ .long 0x493d ++ .uleb128 0x24 ++ .long .LASF350 ++ .byte 0x11 ++ .value 0x1d4 ++ .byte 0x7 ++ .long .LASF351 ++ .long 0x282a ++ .uleb128 0x1 ++ .long 0x50d7 ++ .uleb128 0x1 ++ .long 0x278b ++ .uleb128 0x1 ++ .long 0x27ca ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF115 ++ .byte 0x11 ++ .value 0x1f8 ++ .byte 0x7 ++ .long .LASF352 ++ .long 0x27ca ++ .long 0x2845 ++ .uleb128 0x1 ++ .long 0x50dd ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF353 ++ .byte 0x11 ++ .value 0x201 ++ .byte 0x7 ++ .long .LASF354 ++ .long 0x27b8 ++ .long 0x2860 ++ .uleb128 0x1 ++ .long 0x50dd ++ .byte 0 ++ .uleb128 0x19 ++ .long .LASF298 ++ .byte 0x11 ++ .value 0x18c ++ .byte 0xd ++ .long 0x39df ++ .uleb128 0x19 ++ .long .LASF17 ++ .byte 0x11 ++ .value 0x192 ++ .byte 0xd ++ .long 0x3bba ++ .uleb128 0x19 ++ .long .LASF355 ++ .byte 0x11 ++ .value 0x1ad ++ .byte 0x8 ++ .long 0x250f ++ .uleb128 0xc ++ .long .LASF256 ++ .long 0x250f ++ .byte 0 ++ .uleb128 0x30 ++ .long .LASF356 ++ .byte 0x10 ++ .byte 0x12 ++ .byte 0x2f ++ .byte 0xb ++ .long 0x2984 ++ .uleb128 0x15 ++ .long .LASF55 ++ .byte 0x12 ++ .byte 0x36 ++ .byte 0x1a ++ .long 0x3bba ++ .byte 0x1 ++ .uleb128 0x6 ++ .long .LASF357 ++ .byte 0x12 ++ .byte 0x3a ++ .byte 0x12 ++ .long 0x289e ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF6 ++ .byte 0x12 ++ .byte 0x35 ++ .byte 0x18 ++ .long 0x21b6 ++ .byte 0x1 ++ .uleb128 0x6 ++ .long .LASF358 ++ .byte 0x12 ++ .byte 0x3b ++ .byte 0x13 ++ .long 0x28b8 ++ .byte 0x8 ++ .uleb128 0x20 ++ .long .LASF359 ++ .byte 0x12 ++ .byte 0x3e ++ .byte 0x11 ++ .long .LASF360 ++ .long 0x28e6 ++ .long 0x28f6 ++ .uleb128 0x2 ++ .long 0x514a ++ .uleb128 0x1 ++ .long 0x28f6 ++ .uleb128 0x1 ++ .long 0x28b8 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF57 ++ .byte 0x12 ++ .byte 0x37 ++ .byte 0x1a ++ .long 0x3bba ++ .byte 0x1 ++ .uleb128 0x1d ++ .long .LASF359 ++ .byte 0x12 ++ .byte 0x42 ++ .byte 0x11 ++ .long .LASF361 ++ .byte 0x1 ++ .long 0x2918 ++ .long 0x291e ++ .uleb128 0x2 ++ .long 0x514a ++ .byte 0 ++ .uleb128 0x29 ++ .long .LASF111 ++ .byte 0x12 ++ .byte 0x47 ++ .byte 0x7 ++ .long .LASF362 ++ .long 0x28b8 ++ .byte 0x1 ++ .long 0x2937 ++ .long 0x293d ++ .uleb128 0x2 ++ .long 0x5150 ++ .byte 0 ++ .uleb128 0x29 ++ .long .LASF90 ++ .byte 0x12 ++ .byte 0x4b ++ .byte 0x7 ++ .long .LASF363 ++ .long 0x28f6 ++ .byte 0x1 ++ .long 0x2956 ++ .long 0x295c ++ .uleb128 0x2 ++ .long 0x5150 ++ .byte 0 ++ .uleb128 0x49 ++ .string "end" ++ .byte 0x12 ++ .byte 0x4f ++ .byte 0x7 ++ .long .LASF365 ++ .long 0x28f6 ++ .byte 0x1 ++ .long 0x2975 ++ .long 0x297b ++ .uleb128 0x2 ++ .long 0x5150 ++ .byte 0 ++ .uleb128 0x1a ++ .string "_E" ++ .long 0x39df ++ .byte 0 ++ .uleb128 0xa ++ .long 0x2891 ++ .uleb128 0x3f ++ .long .LASF367 ++ .uleb128 0x3f ++ .long .LASF368 ++ .uleb128 0x46 ++ .long .LASF370 ++ .byte 0x3 ++ .value 0x1a9e ++ .byte 0x14 ++ .long 0x29b3 ++ .uleb128 0x52 ++ .long .LASF371 ++ .byte 0x3 ++ .value 0x1aa0 ++ .byte 0x14 ++ .uleb128 0x38 ++ .byte 0x3 ++ .value 0x1aa0 ++ .byte 0x14 ++ .long 0x29a0 ++ .byte 0 ++ .uleb128 0x38 ++ .byte 0x3 ++ .value 0x1a9e ++ .byte 0x14 ++ .long 0x2993 ++ .uleb128 0x6f ++ .string "_V2" ++ .byte 0x13 ++ .byte 0x47 ++ .byte 0x14 ++ .uleb128 0x53 ++ .byte 0x13 ++ .byte 0x47 ++ .byte 0x14 ++ .long 0x29bc ++ .uleb128 0x70 ++ .long .LASF929 ++ .byte 0x5 ++ .byte 0x4 ++ .long 0x39eb ++ .byte 0x14 ++ .byte 0x6f ++ .byte 0x8 ++ .long 0x2a1f ++ .uleb128 0x23 ++ .long .LASF373 ++ .byte 0x1 ++ .uleb128 0x23 ++ .long .LASF374 ++ .byte 0x2 ++ .uleb128 0x23 ++ .long .LASF375 ++ .byte 0x4 ++ .uleb128 0x23 ++ .long .LASF376 ++ .byte 0x8 ++ .uleb128 0x23 ++ .long .LASF377 ++ .byte 0x10 ++ .uleb128 0x23 ++ .long .LASF378 ++ .byte 0x20 ++ .uleb128 0x54 ++ .long .LASF379 ++ .long 0x10000 ++ .uleb128 0x54 ++ .long .LASF380 ++ .long 0x7fffffff ++ .uleb128 0x71 ++ .long .LASF381 ++ .sleb128 -2147483648 ++ .byte 0 ++ .uleb128 0x2c ++ .long .LASF382 ++ .long 0x2a37 ++ .uleb128 0x28 ++ .long .LASF383 ++ .byte 0x14 ++ .value 0x1ad ++ .byte 0x1b ++ .long 0x29cc ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x52 ++ .byte 0xb ++ .long 0x5162 ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x53 ++ .byte 0xb ++ .long 0x5156 ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x54 ++ .byte 0xb ++ .long 0x3979 ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x5c ++ .byte 0xb ++ .long 0x5174 ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x65 ++ .byte 0xb ++ .long 0x518f ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x68 ++ .byte 0xb ++ .long 0x51aa ++ .uleb128 0x3 ++ .byte 0x15 ++ .byte 0x69 ++ .byte 0xb ++ .long 0x51c0 ++ .uleb128 0x2c ++ .long .LASF384 ++ .long 0x2adb ++ .uleb128 0x55 ++ .long .LASF385 ++ .byte 0x16 ++ .byte 0x5d ++ .byte 0x7 ++ .long .LASF386 ++ .byte 0x1 ++ .long 0x2a6f ++ .byte 0x1 ++ .long 0x2a92 ++ .long 0x2aa2 ++ .uleb128 0x2 ++ .long 0x5a19 ++ .uleb128 0x2 ++ .long 0x39eb ++ .uleb128 0x2 ++ .long 0x5a24 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF387 ++ .byte 0x16 ++ .value 0x186 ++ .byte 0x7 ++ .long .LASF388 ++ .byte 0x2 ++ .long 0x2ab8 ++ .long 0x2ac8 ++ .uleb128 0x2 ++ .long 0x5a19 ++ .uleb128 0x2 ++ .long 0x39eb ++ .uleb128 0x2 ++ .long 0x5a24 ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .uleb128 0x25 ++ .long .LASF255 ++ .long 0x221e ++ .byte 0 ++ .uleb128 0x2c ++ .long .LASF389 ++ .long 0x2ba5 ++ .uleb128 0x15 ++ .long .LASF317 ++ .byte 0x17 ++ .byte 0x83 ++ .byte 0x1b ++ .long 0x39df ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF390 ++ .byte 0x17 ++ .value 0x218 ++ .byte 0x7 ++ .long .LASF391 ++ .long 0x574a ++ .byte 0x2 ++ .long 0x2b0b ++ .long 0x2b11 ++ .uleb128 0x2 ++ .long 0x5750 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF392 ++ .byte 0x17 ++ .value 0x1ef ++ .byte 0x7 ++ .long .LASF393 ++ .long 0x574a ++ .byte 0x2 ++ .long 0x2b2b ++ .long 0x2b31 ++ .uleb128 0x2 ++ .long 0x5750 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF394 ++ .byte 0x17 ++ .value 0x21b ++ .byte 0x7 ++ .long .LASF395 ++ .long 0x574a ++ .byte 0x2 ++ .long 0x2b4b ++ .long 0x2b51 ++ .uleb128 0x2 ++ .long 0x5750 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF396 ++ .byte 0x17 ++ .value 0x1d6 ++ .byte 0x7 ++ .long .LASF397 ++ .byte 0x2 ++ .long 0x2b67 ++ .long 0x2b6d ++ .uleb128 0x2 ++ .long 0x582b ++ .byte 0 ++ .uleb128 0x55 ++ .long .LASF398 ++ .byte 0x17 ++ .byte 0xcc ++ .byte 0x7 ++ .long .LASF399 ++ .byte 0x1 ++ .long 0x2adb ++ .byte 0x1 ++ .long 0x2b87 ++ .long 0x2b92 ++ .uleb128 0x2 ++ .long 0x582b ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .uleb128 0x25 ++ .long .LASF255 ++ .long 0x221e ++ .byte 0 ++ .uleb128 0xa ++ .long 0x2adb ++ .uleb128 0x13 ++ .long .LASF400 ++ .byte 0x1 ++ .byte 0x18 ++ .byte 0xb2 ++ .byte 0xc ++ .long 0x2be5 ++ .uleb128 0x5 ++ .long .LASF401 ++ .byte 0x18 ++ .byte 0xb6 ++ .byte 0x2b ++ .long 0x2502 ++ .uleb128 0x5 ++ .long .LASF5 ++ .byte 0x18 ++ .byte 0xb7 ++ .byte 0x2b ++ .long 0x3f04 ++ .uleb128 0x5 ++ .long .LASF133 ++ .byte 0x18 ++ .byte 0xb8 ++ .byte 0x2b ++ .long 0x495b ++ .uleb128 0xc ++ .long .LASF402 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x32 ++ .long .LASF403 ++ .byte 0x1 ++ .byte 0x8 ++ .value 0x5ae ++ .byte 0xc ++ .long 0x2c0a ++ .uleb128 0x19 ++ .long .LASF404 ++ .byte 0x8 ++ .value 0x5af ++ .byte 0x15 ++ .long 0x250f ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x4978 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF405 ++ .byte 0x1 ++ .byte 0x18 ++ .byte 0xbd ++ .byte 0xc ++ .long 0x2c45 ++ .uleb128 0x5 ++ .long .LASF401 ++ .byte 0x18 ++ .byte 0xc1 ++ .byte 0x2b ++ .long 0x2502 ++ .uleb128 0x5 ++ .long .LASF5 ++ .byte 0x18 ++ .byte 0xc2 ++ .byte 0x2b ++ .long 0x3bba ++ .uleb128 0x5 ++ .long .LASF133 ++ .byte 0x18 ++ .byte 0xc3 ++ .byte 0x2b ++ .long 0x4961 ++ .uleb128 0xc ++ .long .LASF402 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x32 ++ .long .LASF406 ++ .byte 0x1 ++ .byte 0x8 ++ .value 0x80a ++ .byte 0xc ++ .long 0x2c61 ++ .uleb128 0x19 ++ .long .LASF404 ++ .byte 0x8 ++ .value 0x80b ++ .byte 0x18 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF407 ++ .byte 0x1 ++ .byte 0x19 ++ .byte 0x80 ++ .byte 0xc ++ .long 0x2c9e ++ .uleb128 0x5 ++ .long .LASF5 ++ .byte 0x19 ++ .byte 0x83 ++ .byte 0x14 ++ .long 0x3f04 ++ .uleb128 0x18 ++ .long .LASF408 ++ .byte 0x19 ++ .byte 0x92 ++ .byte 0x7 ++ .long .LASF409 ++ .long 0x2c6e ++ .long 0x2c94 ++ .uleb128 0x1 ++ .long 0x5214 ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF410 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF411 ++ .byte 0x19 ++ .byte 0x4b ++ .byte 0xb ++ .long 0x2c53 ++ .uleb128 0x32 ++ .long .LASF412 ++ .byte 0x1 ++ .byte 0x8 ++ .value 0x80a ++ .byte 0xc ++ .long 0x2cc6 ++ .uleb128 0x19 ++ .long .LASF404 ++ .byte 0x8 ++ .value 0x80b ++ .byte 0x18 ++ .long 0x39e6 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF413 ++ .byte 0x1 ++ .byte 0x19 ++ .byte 0x80 ++ .byte 0xc ++ .long 0x2d03 ++ .uleb128 0x5 ++ .long .LASF5 ++ .byte 0x19 ++ .byte 0x83 ++ .byte 0x14 ++ .long 0x3bba ++ .uleb128 0x18 ++ .long .LASF408 ++ .byte 0x19 ++ .byte 0x92 ++ .byte 0x7 ++ .long .LASF414 ++ .long 0x2cd3 ++ .long 0x2cf9 ++ .uleb128 0x1 ++ .long 0x521a ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF410 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF411 ++ .byte 0x19 ++ .byte 0x4b ++ .byte 0xb ++ .long 0x2cb8 ++ .uleb128 0x13 ++ .long .LASF415 ++ .byte 0x1 ++ .byte 0x1a ++ .byte 0x66 ++ .byte 0xc ++ .long 0x2d2e ++ .uleb128 0x56 ++ .byte 0x7 ++ .byte 0x4 ++ .long 0x3970 ++ .byte 0x1a ++ .byte 0x68 ++ .byte 0xc ++ .uleb128 0x23 ++ .long .LASF416 ++ .byte 0x1 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF417 ++ .byte 0x1 ++ .byte 0x1a ++ .byte 0x5f ++ .byte 0xc ++ .long 0x2d4d ++ .uleb128 0x56 ++ .byte 0x7 ++ .byte 0x4 ++ .long 0x3970 ++ .byte 0x1a ++ .byte 0x61 ++ .byte 0xc ++ .uleb128 0x23 ++ .long .LASF416 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF418 ++ .byte 0x1b ++ .byte 0x8a ++ .byte 0x5 ++ .long .LASF419 ++ .long 0x3bba ++ .long 0x2d70 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39e6 ++ .uleb128 0x1 ++ .long 0x4961 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF420 ++ .byte 0x1b ++ .byte 0x2f ++ .byte 0x5 ++ .long .LASF421 ++ .long 0x3bba ++ .long 0x2d93 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39e6 ++ .uleb128 0x1 ++ .long 0x4961 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF422 ++ .byte 0x1b ++ .byte 0x8a ++ .byte 0x5 ++ .long .LASF423 ++ .long 0x3f04 ++ .long 0x2db6 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x495b ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF424 ++ .byte 0x1b ++ .byte 0x2f ++ .byte 0x5 ++ .long .LASF425 ++ .long 0x3f04 ++ .long 0x2dd9 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39df ++ .uleb128 0x1 ++ .long 0x495b ++ .byte 0 ++ .uleb128 0x2c ++ .long .LASF426 ++ .long 0x2e37 ++ .uleb128 0x4a ++ .long .LASF427 ++ .byte 0x1c ++ .value 0x11a ++ .byte 0x7 ++ .long .LASF429 ++ .byte 0x1 ++ .long 0x2dd9 ++ .byte 0x1 ++ .long 0x2dfd ++ .long 0x2e08 ++ .uleb128 0x2 ++ .long 0x5abb ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF430 ++ .byte 0x1c ++ .value 0x1cc ++ .byte 0x7 ++ .long .LASF431 ++ .byte 0x2 ++ .long 0x2e1e ++ .long 0x2e24 ++ .uleb128 0x2 ++ .long 0x5abb ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF254 ++ .long 0x39df ++ .uleb128 0x25 ++ .long .LASF255 ++ .long 0x221e ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF432 ++ .byte 0x1b ++ .byte 0x63 ++ .byte 0x5 ++ .long .LASF433 ++ .long 0x5cc5 ++ .long 0x2e5a ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x4978 ++ .uleb128 0x1 ++ .long 0x4978 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF434 ++ .byte 0x1d ++ .byte 0x99 ++ .byte 0x26 ++ .long 0x1b6b ++ .byte 0 ++ .uleb128 0x72 ++ .long .LASF436 ++ .byte 0x7 ++ .value 0x11a ++ .byte 0xb ++ .long 0x38f8 ++ .uleb128 0x52 ++ .long .LASF369 ++ .byte 0x7 ++ .value 0x11c ++ .byte 0x41 ++ .uleb128 0x38 ++ .byte 0x7 ++ .value 0x11c ++ .byte 0x41 ++ .long 0x2e74 ++ .uleb128 0x3 ++ .byte 0x4 ++ .byte 0xfb ++ .byte 0xb ++ .long 0x43f9 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x104 ++ .byte 0xb ++ .long 0x4415 ++ .uleb128 0x1e ++ .byte 0x4 ++ .value 0x105 ++ .byte 0xb ++ .long 0x443d ++ .uleb128 0x50 ++ .long .LASF437 ++ .byte 0x1e ++ .byte 0x23 ++ .byte 0xb ++ .uleb128 0x3 ++ .byte 0x1f ++ .byte 0x2c ++ .byte 0xe ++ .long 0x21b6 ++ .uleb128 0x3 ++ .byte 0x1f ++ .byte 0x2d ++ .byte 0xe ++ .long 0x2502 ++ .uleb128 0x30 ++ .long .LASF438 ++ .byte 0x1 ++ .byte 0x1f ++ .byte 0x3a ++ .byte 0xb ++ .long 0x3020 ++ .uleb128 0x1d ++ .long .LASF439 ++ .byte 0x1f ++ .byte 0x50 ++ .byte 0x7 ++ .long .LASF440 ++ .byte 0x1 ++ .long 0x2eda ++ .long 0x2ee0 ++ .uleb128 0x2 ++ .long 0x4944 ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF439 ++ .byte 0x1f ++ .byte 0x53 ++ .byte 0x7 ++ .long .LASF441 ++ .byte 0x1 ++ .long 0x2ef5 ++ .long 0x2f00 ++ .uleb128 0x2 ++ .long 0x4944 ++ .uleb128 0x1 ++ .long 0x494f ++ .byte 0 ++ .uleb128 0x1d ++ .long .LASF442 ++ .byte 0x1f ++ .byte 0x59 ++ .byte 0x7 ++ .long .LASF443 ++ .byte 0x1 ++ .long 0x2f15 ++ .long 0x2f20 ++ .uleb128 0x2 ++ .long 0x4944 ++ .uleb128 0x2 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF5 ++ .byte 0x1f ++ .byte 0x3f ++ .byte 0x1a ++ .long 0x3f04 ++ .byte 0x1 ++ .uleb128 0x29 ++ .long .LASF444 ++ .byte 0x1f ++ .byte 0x5c ++ .byte 0x7 ++ .long .LASF445 ++ .long 0x2f20 ++ .byte 0x1 ++ .long 0x2f46 ++ .long 0x2f51 ++ .uleb128 0x2 ++ .long 0x4955 ++ .uleb128 0x1 ++ .long 0x2f51 ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF133 ++ .byte 0x1f ++ .byte 0x41 ++ .byte 0x1a ++ .long 0x495b ++ .byte 0x1 ++ .uleb128 0x15 ++ .long .LASF17 ++ .byte 0x1f ++ .byte 0x40 ++ .byte 0x1a ++ .long 0x3bba ++ .byte 0x1 ++ .uleb128 0x29 ++ .long .LASF444 ++ .byte 0x1f ++ .byte 0x60 ++ .byte 0x7 ++ .long .LASF446 ++ .long 0x2f5e ++ .byte 0x1 ++ .long 0x2f84 ++ .long 0x2f8f ++ .uleb128 0x2 ++ .long 0x4955 ++ .uleb128 0x1 ++ .long 0x2f8f ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF130 ++ .byte 0x1f ++ .byte 0x42 ++ .byte 0x1a ++ .long 0x4961 ++ .byte 0x1 ++ .uleb128 0x29 ++ .long .LASF346 ++ .byte 0x1f ++ .byte 0x66 ++ .byte 0x7 ++ .long .LASF447 ++ .long 0x2f20 ++ .byte 0x1 ++ .long 0x2fb5 ++ .long 0x2fc5 ++ .uleb128 0x2 ++ .long 0x4944 ++ .uleb128 0x1 ++ .long 0x2fc5 ++ .uleb128 0x1 ++ .long 0x493d ++ .byte 0 ++ .uleb128 0x15 ++ .long .LASF6 ++ .byte 0x1f ++ .byte 0x3d ++ .byte 0x1a ++ .long 0x21b6 ++ .byte 0x1 ++ .uleb128 0x1d ++ .long .LASF350 ++ .byte 0x1f ++ .byte 0x77 ++ .byte 0x7 ++ .long .LASF448 ++ .byte 0x1 ++ .long 0x2fe7 ++ .long 0x2ff7 ++ .uleb128 0x2 ++ .long 0x4944 ++ .uleb128 0x1 ++ .long 0x2f20 ++ .uleb128 0x1 ++ .long 0x2fc5 ++ .byte 0 ++ .uleb128 0x29 ++ .long .LASF115 ++ .byte 0x1f ++ .byte 0x84 ++ .byte 0x7 ++ .long .LASF449 ++ .long 0x2fc5 ++ .byte 0x1 ++ .long 0x3010 ++ .long 0x3016 ++ .uleb128 0x2 ++ .long 0x4955 ++ .byte 0 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39df ++ .byte 0 ++ .uleb128 0xa ++ .long 0x2eb8 ++ .uleb128 0x13 ++ .long .LASF450 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x3d ++ .byte 0xc ++ .long 0x306c ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0x46 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF452 ++ .byte 0x20 ++ .byte 0x47 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF453 ++ .byte 0x20 ++ .byte 0x4b ++ .byte 0x1b ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF454 ++ .byte 0x20 ++ .byte 0x4e ++ .byte 0x1b ++ .long 0x39f2 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xc8 ++ .byte 0xb ++ .long 0x4a0e ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xd8 ++ .byte 0xb ++ .long 0x4c9e ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xe3 ++ .byte 0xb ++ .long 0x4cba ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xe4 ++ .byte 0xb ++ .long 0x4cd1 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xe5 ++ .byte 0xb ++ .long 0x4cf1 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xe7 ++ .byte 0xb ++ .long 0x4d11 ++ .uleb128 0x3 ++ .byte 0xf ++ .byte 0xe8 ++ .byte 0xb ++ .long 0x4d2c ++ .uleb128 0x73 ++ .string "div" ++ .byte 0xf ++ .byte 0xd5 ++ .byte 0x3 ++ .long .LASF930 ++ .long 0x4a0e ++ .long 0x30c3 ++ .uleb128 0x1 ++ .long 0x4436 ++ .uleb128 0x1 ++ .long 0x4436 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF456 ++ .byte 0x1 ++ .byte 0x21 ++ .byte 0x32 ++ .byte 0xa ++ .long 0x31f5 ++ .uleb128 0x3 ++ .byte 0x21 ++ .byte 0x32 ++ .byte 0xa ++ .long 0x27d7 ++ .uleb128 0x3 ++ .byte 0x21 ++ .byte 0x32 ++ .byte 0xa ++ .long 0x2798 ++ .uleb128 0x3 ++ .byte 0x21 ++ .byte 0x32 ++ .byte 0xa ++ .long 0x2809 ++ .uleb128 0x3 ++ .byte 0x21 ++ .byte 0x32 ++ .byte 0xa ++ .long 0x282a ++ .uleb128 0x47 ++ .long 0x277d ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF457 ++ .byte 0x21 ++ .byte 0x61 ++ .byte 0x13 ++ .long .LASF458 ++ .long 0x250f ++ .long 0x3110 ++ .uleb128 0x1 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x74 ++ .long .LASF459 ++ .byte 0x21 ++ .byte 0x64 ++ .byte 0x11 ++ .long .LASF931 ++ .long 0x312b ++ .uleb128 0x1 ++ .long 0x4978 ++ .uleb128 0x1 ++ .long 0x4978 ++ .byte 0 ++ .uleb128 0x33 ++ .long .LASF460 ++ .byte 0x21 ++ .byte 0x67 ++ .byte 0x1b ++ .long .LASF462 ++ .long 0x448e ++ .uleb128 0x33 ++ .long .LASF461 ++ .byte 0x21 ++ .byte 0x6a ++ .byte 0x1b ++ .long .LASF463 ++ .long 0x448e ++ .uleb128 0x33 ++ .long .LASF464 ++ .byte 0x21 ++ .byte 0x6d ++ .byte 0x1b ++ .long .LASF465 ++ .long 0x448e ++ .uleb128 0x33 ++ .long .LASF466 ++ .byte 0x21 ++ .byte 0x70 ++ .byte 0x1b ++ .long .LASF467 ++ .long 0x448e ++ .uleb128 0x33 ++ .long .LASF468 ++ .byte 0x21 ++ .byte 0x73 ++ .byte 0x1b ++ .long .LASF469 ++ .long 0x448e ++ .uleb128 0x5 ++ .long .LASF298 ++ .byte 0x21 ++ .byte 0x3a ++ .byte 0x35 ++ .long 0x2860 ++ .uleb128 0xa ++ .long 0x317b ++ .uleb128 0x5 ++ .long .LASF5 ++ .byte 0x21 ++ .byte 0x3b ++ .byte 0x35 ++ .long 0x278b ++ .uleb128 0x5 ++ .long .LASF17 ++ .byte 0x21 ++ .byte 0x3c ++ .byte 0x35 ++ .long 0x286d ++ .uleb128 0x5 ++ .long .LASF6 ++ .byte 0x21 ++ .byte 0x3d ++ .byte 0x35 ++ .long 0x27ca ++ .uleb128 0x5 ++ .long .LASF133 ++ .byte 0x21 ++ .byte 0x40 ++ .byte 0x35 ++ .long 0x50e3 ++ .uleb128 0x5 ++ .long .LASF130 ++ .byte 0x21 ++ .byte 0x41 ++ .byte 0x35 ++ .long 0x50e9 ++ .uleb128 0x13 ++ .long .LASF470 ++ .byte 0x1 ++ .byte 0x21 ++ .byte 0x77 ++ .byte 0xe ++ .long 0x31eb ++ .uleb128 0x5 ++ .long .LASF471 ++ .byte 0x21 ++ .byte 0x78 ++ .byte 0x41 ++ .long 0x287a ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39df ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF256 ++ .long 0x250f ++ .byte 0 ++ .uleb128 0x57 ++ .long .LASF472 ++ .byte 0x8 ++ .byte 0x22 ++ .value 0x310 ++ .byte 0xb ++ .long 0x342f ++ .uleb128 0x58 ++ .long .LASF473 ++ .byte 0x22 ++ .value 0x313 ++ .byte 0x11 ++ .long 0x3f04 ++ .byte 0 ++ .byte 0x2 ++ .uleb128 0x10 ++ .long .LASF474 ++ .byte 0x22 ++ .value 0x31f ++ .byte 0x1a ++ .long .LASF475 ++ .byte 0x1 ++ .long 0x3228 ++ .long 0x322e ++ .uleb128 0x2 ++ .long 0x5220 ++ .byte 0 ++ .uleb128 0x3e ++ .long .LASF474 ++ .byte 0x22 ++ .value 0x323 ++ .byte 0x7 ++ .long .LASF476 ++ .byte 0x1 ++ .long 0x3244 ++ .long 0x324f ++ .uleb128 0x2 ++ .long 0x5220 ++ .uleb128 0x1 ++ .long 0x522b ++ .byte 0 ++ .uleb128 0x28 ++ .long .LASF133 ++ .byte 0x22 ++ .value 0x31c ++ .byte 0x32 ++ .long 0x2bcf ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF477 ++ .byte 0x22 ++ .value 0x330 ++ .byte 0x7 ++ .long .LASF478 ++ .long 0x324f ++ .byte 0x1 ++ .long 0x3277 ++ .long 0x327d ++ .uleb128 0x2 ++ .long 0x5231 ++ .byte 0 ++ .uleb128 0x28 ++ .long .LASF5 ++ .byte 0x22 ++ .value 0x31d ++ .byte 0x32 ++ .long 0x2bc3 ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF479 ++ .byte 0x22 ++ .value 0x334 ++ .byte 0x7 ++ .long .LASF480 ++ .long 0x327d ++ .byte 0x1 ++ .long 0x32a5 ++ .long 0x32ab ++ .uleb128 0x2 ++ .long 0x5231 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF481 ++ .byte 0x22 ++ .value 0x338 ++ .byte 0x7 ++ .long .LASF482 ++ .long 0x523c ++ .byte 0x1 ++ .long 0x32c5 ++ .long 0x32cb ++ .uleb128 0x2 ++ .long 0x5220 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF481 ++ .byte 0x22 ++ .value 0x33f ++ .byte 0x7 ++ .long .LASF483 ++ .long 0x31f5 ++ .byte 0x1 ++ .long 0x32e5 ++ .long 0x32f0 ++ .uleb128 0x2 ++ .long 0x5220 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF484 ++ .byte 0x22 ++ .value 0x344 ++ .byte 0x7 ++ .long .LASF485 ++ .long 0x523c ++ .byte 0x1 ++ .long 0x330a ++ .long 0x3310 ++ .uleb128 0x2 ++ .long 0x5220 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF484 ++ .byte 0x22 ++ .value 0x34b ++ .byte 0x7 ++ .long .LASF486 ++ .long 0x31f5 ++ .byte 0x1 ++ .long 0x332a ++ .long 0x3335 ++ .uleb128 0x2 ++ .long 0x5220 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF131 ++ .byte 0x22 ++ .value 0x350 ++ .byte 0x7 ++ .long .LASF487 ++ .long 0x324f ++ .byte 0x1 ++ .long 0x334f ++ .long 0x335a ++ .uleb128 0x2 ++ .long 0x5231 ++ .uleb128 0x1 ++ .long 0x335a ++ .byte 0 ++ .uleb128 0x28 ++ .long .LASF401 ++ .byte 0x22 ++ .value 0x31b ++ .byte 0x38 ++ .long 0x2bb7 ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF143 ++ .byte 0x22 ++ .value 0x354 ++ .byte 0x7 ++ .long .LASF488 ++ .long 0x523c ++ .byte 0x1 ++ .long 0x3382 ++ .long 0x338d ++ .uleb128 0x2 ++ .long 0x5220 ++ .uleb128 0x1 ++ .long 0x335a ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF489 ++ .byte 0x22 ++ .value 0x358 ++ .byte 0x7 ++ .long .LASF490 ++ .long 0x31f5 ++ .byte 0x1 ++ .long 0x33a7 ++ .long 0x33b2 ++ .uleb128 0x2 ++ .long 0x5231 ++ .uleb128 0x1 ++ .long 0x335a ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF491 ++ .byte 0x22 ++ .value 0x35c ++ .byte 0x7 ++ .long .LASF492 ++ .long 0x523c ++ .byte 0x1 ++ .long 0x33cc ++ .long 0x33d7 ++ .uleb128 0x2 ++ .long 0x5220 ++ .uleb128 0x1 ++ .long 0x335a ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF493 ++ .byte 0x22 ++ .value 0x360 ++ .byte 0x7 ++ .long .LASF494 ++ .long 0x31f5 ++ .byte 0x1 ++ .long 0x33f1 ++ .long 0x33fc ++ .uleb128 0x2 ++ .long 0x5231 ++ .uleb128 0x1 ++ .long 0x335a ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF495 ++ .byte 0x22 ++ .value 0x364 ++ .byte 0x7 ++ .long .LASF496 ++ .long 0x522b ++ .byte 0x1 ++ .long 0x3416 ++ .long 0x341c ++ .uleb128 0x2 ++ .long 0x5231 ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF402 ++ .long 0x3f04 ++ .uleb128 0xc ++ .long .LASF497 ++ .long 0x45 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x31f5 ++ .uleb128 0x57 ++ .long .LASF498 ++ .byte 0x8 ++ .byte 0x22 ++ .value 0x310 ++ .byte 0xb ++ .long 0x3698 ++ .uleb128 0x58 ++ .long .LASF473 ++ .byte 0x22 ++ .value 0x313 ++ .byte 0x11 ++ .long 0x3bba ++ .byte 0 ++ .byte 0x2 ++ .uleb128 0x10 ++ .long .LASF474 ++ .byte 0x22 ++ .value 0x31f ++ .byte 0x1a ++ .long .LASF499 ++ .byte 0x1 ++ .long 0x3467 ++ .long 0x346d ++ .uleb128 0x2 ++ .long 0x51f2 ++ .byte 0 ++ .uleb128 0x3e ++ .long .LASF474 ++ .byte 0x22 ++ .value 0x323 ++ .byte 0x7 ++ .long .LASF500 ++ .byte 0x1 ++ .long 0x3483 ++ .long 0x348e ++ .uleb128 0x2 ++ .long 0x51f2 ++ .uleb128 0x1 ++ .long 0x51fd ++ .byte 0 ++ .uleb128 0x28 ++ .long .LASF133 ++ .byte 0x22 ++ .value 0x31c ++ .byte 0x32 ++ .long 0x2c2f ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF477 ++ .byte 0x22 ++ .value 0x330 ++ .byte 0x7 ++ .long .LASF501 ++ .long 0x348e ++ .byte 0x1 ++ .long 0x34b6 ++ .long 0x34bc ++ .uleb128 0x2 ++ .long 0x5203 ++ .byte 0 ++ .uleb128 0x28 ++ .long .LASF5 ++ .byte 0x22 ++ .value 0x31d ++ .byte 0x32 ++ .long 0x2c23 ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF479 ++ .byte 0x22 ++ .value 0x334 ++ .byte 0x7 ++ .long .LASF502 ++ .long 0x34bc ++ .byte 0x1 ++ .long 0x34e4 ++ .long 0x34ea ++ .uleb128 0x2 ++ .long 0x5203 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF481 ++ .byte 0x22 ++ .value 0x338 ++ .byte 0x7 ++ .long .LASF503 ++ .long 0x520e ++ .byte 0x1 ++ .long 0x3504 ++ .long 0x350a ++ .uleb128 0x2 ++ .long 0x51f2 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF481 ++ .byte 0x22 ++ .value 0x33f ++ .byte 0x7 ++ .long .LASF504 ++ .long 0x3434 ++ .byte 0x1 ++ .long 0x3524 ++ .long 0x352f ++ .uleb128 0x2 ++ .long 0x51f2 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF484 ++ .byte 0x22 ++ .value 0x344 ++ .byte 0x7 ++ .long .LASF505 ++ .long 0x520e ++ .byte 0x1 ++ .long 0x3549 ++ .long 0x354f ++ .uleb128 0x2 ++ .long 0x51f2 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF484 ++ .byte 0x22 ++ .value 0x34b ++ .byte 0x7 ++ .long .LASF506 ++ .long 0x3434 ++ .byte 0x1 ++ .long 0x3569 ++ .long 0x3574 ++ .uleb128 0x2 ++ .long 0x51f2 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF131 ++ .byte 0x22 ++ .value 0x350 ++ .byte 0x7 ++ .long .LASF507 ++ .long 0x348e ++ .byte 0x1 ++ .long 0x358e ++ .long 0x3599 ++ .uleb128 0x2 ++ .long 0x5203 ++ .uleb128 0x1 ++ .long 0x3599 ++ .byte 0 ++ .uleb128 0x28 ++ .long .LASF401 ++ .byte 0x22 ++ .value 0x31b ++ .byte 0x38 ++ .long 0x2c17 ++ .byte 0x1 ++ .uleb128 0x4 ++ .long .LASF143 ++ .byte 0x22 ++ .value 0x354 ++ .byte 0x7 ++ .long .LASF508 ++ .long 0x520e ++ .byte 0x1 ++ .long 0x35c1 ++ .long 0x35cc ++ .uleb128 0x2 ++ .long 0x51f2 ++ .uleb128 0x1 ++ .long 0x3599 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF489 ++ .byte 0x22 ++ .value 0x358 ++ .byte 0x7 ++ .long .LASF509 ++ .long 0x3434 ++ .byte 0x1 ++ .long 0x35e6 ++ .long 0x35f1 ++ .uleb128 0x2 ++ .long 0x5203 ++ .uleb128 0x1 ++ .long 0x3599 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF491 ++ .byte 0x22 ++ .value 0x35c ++ .byte 0x7 ++ .long .LASF510 ++ .long 0x520e ++ .byte 0x1 ++ .long 0x360b ++ .long 0x3616 ++ .uleb128 0x2 ++ .long 0x51f2 ++ .uleb128 0x1 ++ .long 0x3599 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF493 ++ .byte 0x22 ++ .value 0x360 ++ .byte 0x7 ++ .long .LASF511 ++ .long 0x3434 ++ .byte 0x1 ++ .long 0x3630 ++ .long 0x363b ++ .uleb128 0x2 ++ .long 0x5203 ++ .uleb128 0x1 ++ .long 0x3599 ++ .byte 0 ++ .uleb128 0x4 ++ .long .LASF495 ++ .byte 0x22 ++ .value 0x364 ++ .byte 0x7 ++ .long .LASF512 ++ .long 0x51fd ++ .byte 0x1 ++ .long 0x3655 ++ .long 0x365b ++ .uleb128 0x2 ++ .long 0x5203 ++ .byte 0 ++ .uleb128 0x10 ++ .long .LASF513 ++ .byte 0x22 ++ .value 0x328 ++ .byte 0x9 ++ .long .LASF514 ++ .byte 0x1 ++ .long 0x367a ++ .long 0x3685 ++ .uleb128 0xc ++ .long .LASF515 ++ .long 0x3f04 ++ .uleb128 0x2 ++ .long 0x51f2 ++ .uleb128 0x1 ++ .long 0x5391 ++ .byte 0 ++ .uleb128 0xc ++ .long .LASF402 ++ .long 0x3bba ++ .uleb128 0xc ++ .long .LASF497 ++ .long 0x45 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x3434 ++ .uleb128 0x13 ++ .long .LASF516 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x9c ++ .byte 0xc ++ .long 0x36e4 ++ .uleb128 0xf ++ .long .LASF517 ++ .byte 0x20 ++ .byte 0x9f ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0xa2 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF518 ++ .byte 0x20 ++ .byte 0xa3 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF519 ++ .byte 0x20 ++ .byte 0xa4 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x3906 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF520 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x9c ++ .byte 0xc ++ .long 0x372b ++ .uleb128 0xf ++ .long .LASF517 ++ .byte 0x20 ++ .byte 0x9f ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0xa2 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF518 ++ .byte 0x20 ++ .byte 0xa3 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF519 ++ .byte 0x20 ++ .byte 0xa4 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x390d ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF521 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x9c ++ .byte 0xc ++ .long 0x3772 ++ .uleb128 0xf ++ .long .LASF517 ++ .byte 0x20 ++ .byte 0x9f ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0xa2 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF518 ++ .byte 0x20 ++ .byte 0xa3 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF519 ++ .byte 0x20 ++ .byte 0xa4 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x3914 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF522 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x3d ++ .byte 0xc ++ .long 0x37b9 ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0x46 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF452 ++ .byte 0x20 ++ .byte 0x47 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF453 ++ .byte 0x20 ++ .byte 0x4b ++ .byte 0x1b ++ .long 0x392e ++ .uleb128 0xf ++ .long .LASF454 ++ .byte 0x20 ++ .byte 0x4e ++ .byte 0x1b ++ .long 0x392e ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x3927 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF523 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x3d ++ .byte 0xc ++ .long 0x3800 ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0x46 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF452 ++ .byte 0x20 ++ .byte 0x47 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF453 ++ .byte 0x20 ++ .byte 0x4b ++ .byte 0x1b ++ .long 0x39e6 ++ .uleb128 0xf ++ .long .LASF454 ++ .byte 0x20 ++ .byte 0x4e ++ .byte 0x1b ++ .long 0x39e6 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x39df ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF524 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x3d ++ .byte 0xc ++ .long 0x3847 ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0x46 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF452 ++ .byte 0x20 ++ .byte 0x47 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF453 ++ .byte 0x20 ++ .byte 0x4b ++ .byte 0x1b ++ .long 0x44c8 ++ .uleb128 0xf ++ .long .LASF454 ++ .byte 0x20 ++ .byte 0x4e ++ .byte 0x1b ++ .long 0x44c8 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x44c1 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF525 ++ .byte 0x1 ++ .byte 0x20 ++ .byte 0x3d ++ .byte 0xc ++ .long 0x388e ++ .uleb128 0xf ++ .long .LASF451 ++ .byte 0x20 ++ .byte 0x46 ++ .byte 0x19 ++ .long 0x4495 ++ .uleb128 0xf ++ .long .LASF452 ++ .byte 0x20 ++ .byte 0x47 ++ .byte 0x18 ++ .long 0x39f2 ++ .uleb128 0xf ++ .long .LASF453 ++ .byte 0x20 ++ .byte 0x4b ++ .byte 0x1b ++ .long 0x41a7 ++ .uleb128 0xf ++ .long .LASF454 ++ .byte 0x20 ++ .byte 0x4e ++ .byte 0x1b ++ .long 0x41a7 ++ .uleb128 0xc ++ .long .LASF455 ++ .long 0x41a0 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF526 ++ .byte 0x22 ++ .value 0x3da ++ .byte 0x5 ++ .long .LASF527 ++ .long 0x3599 ++ .long 0x38c0 ++ .uleb128 0xc ++ .long .LASF402 ++ .long 0x3bba ++ .uleb128 0xc ++ .long .LASF497 ++ .long 0x45 ++ .uleb128 0x1 ++ .long 0x5354 ++ .uleb128 0x1 ++ .long 0x5354 ++ .byte 0 ++ .uleb128 0x75 ++ .long .LASF528 ++ .byte 0x22 ++ .value 0x3ce ++ .byte 0x5 ++ .long .LASF529 ++ .long 0x41a0 ++ .uleb128 0xc ++ .long .LASF530 ++ .long 0x3bba ++ .uleb128 0xc ++ .long .LASF531 ++ .long 0x3f04 ++ .uleb128 0xc ++ .long .LASF497 ++ .long 0x45 ++ .uleb128 0x1 ++ .long 0x5354 ++ .uleb128 0x1 ++ .long 0x5391 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x16 ++ .byte 0x20 ++ .byte 0x3 ++ .long .LASF532 ++ .uleb128 0x16 ++ .byte 0x10 ++ .byte 0x4 ++ .long .LASF533 ++ .uleb128 0x16 ++ .byte 0x4 ++ .byte 0x4 ++ .long .LASF534 ++ .uleb128 0x16 ++ .byte 0x8 ++ .byte 0x4 ++ .long .LASF535 ++ .uleb128 0x16 ++ .byte 0x10 ++ .byte 0x4 ++ .long .LASF536 ++ .uleb128 0x5 ++ .long .LASF307 ++ .byte 0x23 ++ .byte 0xd1 ++ .byte 0x17 ++ .long 0x3927 ++ .uleb128 0x16 ++ .byte 0x8 ++ .byte 0x7 ++ .long .LASF537 ++ .uleb128 0xa ++ .long 0x3927 ++ .uleb128 0x76 ++ .long .LASF932 ++ .byte 0x18 ++ .byte 0x24 ++ .byte 0 ++ .long 0x3970 ++ .uleb128 0x39 ++ .long .LASF538 ++ .byte 0x24 ++ .byte 0 ++ .long 0x3970 ++ .byte 0 ++ .uleb128 0x39 ++ .long .LASF539 ++ .byte 0x24 ++ .byte 0 ++ .long 0x3970 ++ .byte 0x4 ++ .uleb128 0x39 ++ .long .LASF540 ++ .byte 0x24 ++ .byte 0 ++ .long 0x3977 ++ .byte 0x8 ++ .uleb128 0x39 ++ .long .LASF541 ++ .byte 0x24 ++ .byte 0 ++ .long 0x3977 ++ .byte 0x10 ++ .byte 0 ++ .uleb128 0x16 ++ .byte 0x4 ++ .byte 0x7 ++ .long .LASF542 ++ .uleb128 0x77 ++ .byte 0x8 ++ .uleb128 0x5 ++ .long .LASF543 ++ .byte 0x25 ++ .byte 0x14 ++ .byte 0x17 ++ .long 0x3970 ++ .uleb128 0x3a ++ .byte 0x8 ++ .byte 0x26 ++ .byte 0xe ++ .byte 0x1 ++ .long .LASF754 ++ .long 0x39cf ++ .uleb128 0x48 ++ .byte 0x4 ++ .byte 0x26 ++ .byte 0x11 ++ .byte 0x3 ++ .long 0x39b4 ++ .uleb128 0x37 ++ .long .LASF544 ++ .byte 0x26 ++ .byte 0x12 ++ .byte 0x13 ++ .long 0x3970 ++ .uleb128 0x37 ++ .long .LASF545 ++ .byte 0x26 ++ .byte 0x13 ++ .byte 0xa ++ .long 0x39cf ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF546 ++ .byte 0x26 ++ .byte 0xf ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF416 ++ .byte 0x26 ++ .byte 0x14 ++ .byte 0x5 ++ .long 0x3992 ++ .byte 0x4 ++ .byte 0 ++ .uleb128 0x2d ++ .long 0x39df ++ .long 0x39df ++ .uleb128 0x34 ++ .long 0x3927 ++ .byte 0x3 ++ .byte 0 ++ .uleb128 0x16 ++ .byte 0x1 ++ .byte 0x6 ++ .long .LASF547 ++ .uleb128 0xa ++ .long 0x39df ++ .uleb128 0x78 ++ .byte 0x4 ++ .byte 0x5 ++ .string "int" ++ .uleb128 0xa ++ .long 0x39eb ++ .uleb128 0x5 ++ .long .LASF548 ++ .byte 0x26 ++ .byte 0x15 ++ .byte 0x3 ++ .long 0x3985 ++ .uleb128 0x5 ++ .long .LASF549 ++ .byte 0x27 ++ .byte 0x6 ++ .byte 0x15 ++ .long 0x39f7 ++ .uleb128 0xa ++ .long 0x3a03 ++ .uleb128 0x5 ++ .long .LASF550 ++ .byte 0x28 ++ .byte 0x5 ++ .byte 0x19 ++ .long 0x3a20 ++ .uleb128 0x13 ++ .long .LASF551 ++ .byte 0xd8 ++ .byte 0x29 ++ .byte 0x31 ++ .byte 0x8 ++ .long 0x3ba7 ++ .uleb128 0x6 ++ .long .LASF552 ++ .byte 0x29 ++ .byte 0x33 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF553 ++ .byte 0x29 ++ .byte 0x36 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x8 ++ .uleb128 0x6 ++ .long .LASF554 ++ .byte 0x29 ++ .byte 0x37 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x10 ++ .uleb128 0x6 ++ .long .LASF555 ++ .byte 0x29 ++ .byte 0x38 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x18 ++ .uleb128 0x6 ++ .long .LASF556 ++ .byte 0x29 ++ .byte 0x39 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x20 ++ .uleb128 0x6 ++ .long .LASF557 ++ .byte 0x29 ++ .byte 0x3a ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x28 ++ .uleb128 0x6 ++ .long .LASF558 ++ .byte 0x29 ++ .byte 0x3b ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x30 ++ .uleb128 0x6 ++ .long .LASF559 ++ .byte 0x29 ++ .byte 0x3c ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x38 ++ .uleb128 0x6 ++ .long .LASF560 ++ .byte 0x29 ++ .byte 0x3d ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x40 ++ .uleb128 0x6 ++ .long .LASF561 ++ .byte 0x29 ++ .byte 0x40 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x48 ++ .uleb128 0x6 ++ .long .LASF562 ++ .byte 0x29 ++ .byte 0x41 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x50 ++ .uleb128 0x6 ++ .long .LASF563 ++ .byte 0x29 ++ .byte 0x42 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x58 ++ .uleb128 0x6 ++ .long .LASF564 ++ .byte 0x29 ++ .byte 0x44 ++ .byte 0x16 ++ .long 0x4d89 ++ .byte 0x60 ++ .uleb128 0x6 ++ .long .LASF565 ++ .byte 0x29 ++ .byte 0x46 ++ .byte 0x14 ++ .long 0x4d8f ++ .byte 0x68 ++ .uleb128 0x6 ++ .long .LASF566 ++ .byte 0x29 ++ .byte 0x48 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x70 ++ .uleb128 0x6 ++ .long .LASF567 ++ .byte 0x29 ++ .byte 0x49 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x74 ++ .uleb128 0x6 ++ .long .LASF568 ++ .byte 0x29 ++ .byte 0x4a ++ .byte 0xb ++ .long 0x45fd ++ .byte 0x78 ++ .uleb128 0x6 ++ .long .LASF569 ++ .byte 0x29 ++ .byte 0x4d ++ .byte 0x12 ++ .long 0x3bb3 ++ .byte 0x80 ++ .uleb128 0x6 ++ .long .LASF570 ++ .byte 0x29 ++ .byte 0x4e ++ .byte 0xf ++ .long 0x44ba ++ .byte 0x82 ++ .uleb128 0x6 ++ .long .LASF571 ++ .byte 0x29 ++ .byte 0x4f ++ .byte 0x8 ++ .long 0x4d95 ++ .byte 0x83 ++ .uleb128 0x6 ++ .long .LASF572 ++ .byte 0x29 ++ .byte 0x51 ++ .byte 0xf ++ .long 0x4da5 ++ .byte 0x88 ++ .uleb128 0x6 ++ .long .LASF573 ++ .byte 0x29 ++ .byte 0x59 ++ .byte 0xd ++ .long 0x4609 ++ .byte 0x90 ++ .uleb128 0x6 ++ .long .LASF574 ++ .byte 0x29 ++ .byte 0x5b ++ .byte 0x17 ++ .long 0x4db0 ++ .byte 0x98 ++ .uleb128 0x6 ++ .long .LASF575 ++ .byte 0x29 ++ .byte 0x5c ++ .byte 0x19 ++ .long 0x4dbb ++ .byte 0xa0 ++ .uleb128 0x6 ++ .long .LASF576 ++ .byte 0x29 ++ .byte 0x5d ++ .byte 0x14 ++ .long 0x4d8f ++ .byte 0xa8 ++ .uleb128 0x6 ++ .long .LASF577 ++ .byte 0x29 ++ .byte 0x5e ++ .byte 0x9 ++ .long 0x3977 ++ .byte 0xb0 ++ .uleb128 0x6 ++ .long .LASF578 ++ .byte 0x29 ++ .byte 0x5f ++ .byte 0xa ++ .long 0x391b ++ .byte 0xb8 ++ .uleb128 0x6 ++ .long .LASF579 ++ .byte 0x29 ++ .byte 0x60 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0xc0 ++ .uleb128 0x6 ++ .long .LASF580 ++ .byte 0x29 ++ .byte 0x62 ++ .byte 0x8 ++ .long 0x4dc1 ++ .byte 0xc4 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF581 ++ .byte 0x2a ++ .byte 0x7 ++ .byte 0x19 ++ .long 0x3a20 ++ .uleb128 0x16 ++ .byte 0x2 ++ .byte 0x7 ++ .long .LASF582 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x39e6 ++ .uleb128 0xa ++ .long 0x3bba ++ .uleb128 0x9 ++ .long .LASF583 ++ .byte 0x2b ++ .value 0x13e ++ .byte 0x1 ++ .long 0x3979 ++ .long 0x3bdc ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF584 ++ .byte 0x2b ++ .value 0x2d6 ++ .byte 0xf ++ .long 0x3979 ++ .long 0x3bf3 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3a14 ++ .uleb128 0x9 ++ .long .LASF585 ++ .byte 0x2c ++ .value 0x180 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x39eb ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3c20 ++ .uleb128 0x16 ++ .byte 0x4 ++ .byte 0x5 ++ .long .LASF586 ++ .uleb128 0xa ++ .long 0x3c20 ++ .uleb128 0x9 ++ .long .LASF587 ++ .byte 0x2b ++ .value 0x2e4 ++ .byte 0xf ++ .long 0x3979 ++ .long 0x3c48 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF588 ++ .byte 0x2b ++ .value 0x2fa ++ .byte 0xc ++ .long 0x39eb ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3c27 ++ .uleb128 0x9 ++ .long .LASF589 ++ .byte 0x2b ++ .value 0x23d ++ .byte 0xc ++ .long 0x39eb ++ .long 0x3c86 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF590 ++ .byte 0x2c ++ .value 0x159 ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x3ca3 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF591 ++ .byte 0x2b ++ .value 0x280 ++ .byte 0xc ++ .long .LASF592 ++ .long 0x39eb ++ .long 0x3cc4 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF593 ++ .byte 0x2b ++ .value 0x2d7 ++ .byte 0xf ++ .long 0x3979 ++ .long 0x3cdb ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x59 ++ .long .LASF745 ++ .byte 0x2b ++ .value 0x2dd ++ .byte 0xf ++ .long 0x3979 ++ .uleb128 0x9 ++ .long .LASF594 ++ .byte 0x2b ++ .value 0x149 ++ .byte 0x1 ++ .long 0x391b ++ .long 0x3d09 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3d09 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3a03 ++ .uleb128 0x9 ++ .long .LASF595 ++ .byte 0x2b ++ .value 0x128 ++ .byte 0xf ++ .long 0x391b ++ .long 0x3d35 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3d09 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF596 ++ .byte 0x2b ++ .value 0x124 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x3d4c ++ .uleb128 0x1 ++ .long 0x3d4c ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3a0f ++ .uleb128 0x9 ++ .long .LASF597 ++ .byte 0x2c ++ .value 0x1da ++ .byte 0x1 ++ .long 0x391b ++ .long 0x3d78 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3d78 ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3d09 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3bba ++ .uleb128 0x9 ++ .long .LASF598 ++ .byte 0x2b ++ .value 0x2e5 ++ .byte 0xf ++ .long 0x3979 ++ .long 0x3d9a ++ .uleb128 0x1 ++ .long 0x3c20 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF599 ++ .byte 0x2b ++ .value 0x2eb ++ .byte 0xf ++ .long 0x3979 ++ .long 0x3db1 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF600 ++ .byte 0x2c ++ .value 0x11d ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x3dd3 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF601 ++ .byte 0x2b ++ .value 0x287 ++ .byte 0xc ++ .long .LASF602 ++ .long 0x39eb ++ .long 0x3df4 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF603 ++ .byte 0x2b ++ .value 0x302 ++ .byte 0xf ++ .long 0x3979 ++ .long 0x3e10 ++ .uleb128 0x1 ++ .long 0x3979 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF604 ++ .byte 0x2c ++ .value 0x16c ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x3e31 ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3e31 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3933 ++ .uleb128 0x14 ++ .long .LASF605 ++ .byte 0x2b ++ .value 0x2b5 ++ .byte 0xc ++ .long .LASF606 ++ .long 0x39eb ++ .long 0x3e5c ++ .uleb128 0x1 ++ .long 0x3bf3 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3e31 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF607 ++ .byte 0x2c ++ .value 0x13b ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x3e82 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3e31 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF608 ++ .byte 0x2b ++ .value 0x2bc ++ .byte 0xc ++ .long .LASF609 ++ .long 0x39eb ++ .long 0x3ea7 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3e31 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF610 ++ .byte 0x2c ++ .value 0x166 ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x3ec3 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3e31 ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF611 ++ .byte 0x2b ++ .value 0x2b9 ++ .byte 0xc ++ .long .LASF612 ++ .long 0x39eb ++ .long 0x3ee3 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3e31 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF613 ++ .byte 0x2c ++ .value 0x1b8 ++ .byte 0x1 ++ .long 0x391b ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .uleb128 0x1 ++ .long 0x3d09 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x39df ++ .uleb128 0xa ++ .long 0x3f04 ++ .uleb128 0xe ++ .long .LASF614 ++ .byte 0x2c ++ .byte 0xf6 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x3f2a ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF615 ++ .byte 0x2b ++ .byte 0x6a ++ .byte 0xc ++ .long 0x39eb ++ .long 0x3f45 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF616 ++ .byte 0x2b ++ .byte 0x83 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x3f60 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF617 ++ .byte 0x2c ++ .byte 0x98 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x3f7b ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF618 ++ .byte 0x2b ++ .byte 0xbb ++ .byte 0xf ++ .long 0x391b ++ .long 0x3f96 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF619 ++ .byte 0x2b ++ .value 0x342 ++ .byte 0xf ++ .long 0x391b ++ .long 0x3fbc ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3fbc ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x405e ++ .uleb128 0x79 ++ .string "tm" ++ .byte 0x38 ++ .byte 0x2d ++ .byte 0x7 ++ .byte 0x8 ++ .long 0x405e ++ .uleb128 0x6 ++ .long .LASF620 ++ .byte 0x2d ++ .byte 0x9 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF621 ++ .byte 0x2d ++ .byte 0xa ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x4 ++ .uleb128 0x6 ++ .long .LASF622 ++ .byte 0x2d ++ .byte 0xb ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x8 ++ .uleb128 0x6 ++ .long .LASF623 ++ .byte 0x2d ++ .byte 0xc ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0xc ++ .uleb128 0x6 ++ .long .LASF624 ++ .byte 0x2d ++ .byte 0xd ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x10 ++ .uleb128 0x6 ++ .long .LASF625 ++ .byte 0x2d ++ .byte 0xe ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x14 ++ .uleb128 0x6 ++ .long .LASF626 ++ .byte 0x2d ++ .byte 0xf ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x18 ++ .uleb128 0x6 ++ .long .LASF627 ++ .byte 0x2d ++ .byte 0x10 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x1c ++ .uleb128 0x6 ++ .long .LASF628 ++ .byte 0x2d ++ .byte 0x11 ++ .byte 0x7 ++ .long 0x39eb ++ .byte 0x20 ++ .uleb128 0x6 ++ .long .LASF629 ++ .byte 0x2d ++ .byte 0x14 ++ .byte 0xc ++ .long 0x41a0 ++ .byte 0x28 ++ .uleb128 0x6 ++ .long .LASF630 ++ .byte 0x2d ++ .byte 0x15 ++ .byte 0xf ++ .long 0x3bba ++ .byte 0x30 ++ .byte 0 ++ .uleb128 0xa ++ .long 0x3fc2 ++ .uleb128 0xe ++ .long .LASF631 ++ .byte 0x2b ++ .byte 0xde ++ .byte 0xf ++ .long 0x391b ++ .long 0x4079 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF632 ++ .byte 0x2c ++ .value 0x107 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x409a ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF633 ++ .byte 0x2b ++ .byte 0x6d ++ .byte 0xc ++ .long 0x39eb ++ .long 0x40ba ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF634 ++ .byte 0x2c ++ .byte 0xbf ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x40da ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF635 ++ .byte 0x2c ++ .value 0x1fc ++ .byte 0x1 ++ .long 0x391b ++ .long 0x4100 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x4100 ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x3d09 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3c64 ++ .uleb128 0xe ++ .long .LASF636 ++ .byte 0x2b ++ .byte 0xbf ++ .byte 0xf ++ .long 0x391b ++ .long 0x4121 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF637 ++ .byte 0x2b ++ .value 0x179 ++ .byte 0xf ++ .long 0x390d ++ .long 0x413d ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3c1a ++ .uleb128 0x9 ++ .long .LASF638 ++ .byte 0x2b ++ .value 0x17e ++ .byte 0xe ++ .long 0x3906 ++ .long 0x415f ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF639 ++ .byte 0x2b ++ .byte 0xd9 ++ .byte 0x11 ++ .long 0x3c1a ++ .long 0x417f ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF640 ++ .byte 0x2b ++ .value 0x1ac ++ .byte 0x11 ++ .long 0x41a0 ++ .long 0x41a0 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x16 ++ .byte 0x8 ++ .byte 0x5 ++ .long .LASF641 ++ .uleb128 0xa ++ .long 0x41a0 ++ .uleb128 0x9 ++ .long .LASF642 ++ .byte 0x2b ++ .value 0x1b1 ++ .byte 0x1a ++ .long 0x3927 ++ .long 0x41cd ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF643 ++ .byte 0x2b ++ .byte 0x87 ++ .byte 0xf ++ .long 0x391b ++ .long 0x41ed ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF644 ++ .byte 0x2b ++ .value 0x144 ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x4204 ++ .uleb128 0x1 ++ .long 0x3979 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF645 ++ .byte 0x2b ++ .value 0x102 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4225 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF646 ++ .byte 0x2c ++ .byte 0x27 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x4245 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF647 ++ .byte 0x2c ++ .byte 0x44 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x4265 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF648 ++ .byte 0x2c ++ .byte 0x81 ++ .byte 0x1 ++ .long 0x3c1a ++ .long 0x4285 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c20 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF649 ++ .byte 0x2c ++ .value 0x153 ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x429d ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x14 ++ .long .LASF650 ++ .byte 0x2b ++ .value 0x284 ++ .byte 0xc ++ .long .LASF651 ++ .long 0x39eb ++ .long 0x42b9 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF652 ++ .byte 0x2b ++ .byte 0xa1 ++ .byte 0x1d ++ .long .LASF652 ++ .long 0x3c64 ++ .long 0x42d8 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF652 ++ .byte 0x2b ++ .byte 0x9f ++ .byte 0x17 ++ .long .LASF652 ++ .long 0x3c1a ++ .long 0x42f7 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c20 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF653 ++ .byte 0x2b ++ .byte 0xc5 ++ .byte 0x1d ++ .long .LASF653 ++ .long 0x3c64 ++ .long 0x4316 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF653 ++ .byte 0x2b ++ .byte 0xc3 ++ .byte 0x17 ++ .long .LASF653 ++ .long 0x3c1a ++ .long 0x4335 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF654 ++ .byte 0x2b ++ .byte 0xab ++ .byte 0x1d ++ .long .LASF654 ++ .long 0x3c64 ++ .long 0x4354 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF654 ++ .byte 0x2b ++ .byte 0xa9 ++ .byte 0x17 ++ .long .LASF654 ++ .long 0x3c1a ++ .long 0x4373 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c20 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF655 ++ .byte 0x2b ++ .byte 0xd0 ++ .byte 0x1d ++ .long .LASF655 ++ .long 0x3c64 ++ .long 0x4392 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF655 ++ .byte 0x2b ++ .byte 0xce ++ .byte 0x17 ++ .long .LASF655 ++ .long 0x3c1a ++ .long 0x43b1 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c64 ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF656 ++ .byte 0x2b ++ .byte 0xf9 ++ .byte 0x1d ++ .long .LASF656 ++ .long 0x3c64 ++ .long 0x43d5 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x18 ++ .long .LASF656 ++ .byte 0x2b ++ .byte 0xf7 ++ .byte 0x17 ++ .long .LASF656 ++ .long 0x3c1a ++ .long 0x43f9 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3c20 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF657 ++ .byte 0x2b ++ .value 0x180 ++ .byte 0x14 ++ .long 0x3914 ++ .long 0x4415 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF658 ++ .byte 0x2b ++ .value 0x1b9 ++ .byte 0x16 ++ .long 0x4436 ++ .long 0x4436 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x16 ++ .byte 0x8 ++ .byte 0x5 ++ .long .LASF659 ++ .uleb128 0x9 ++ .long .LASF660 ++ .byte 0x2b ++ .value 0x1c0 ++ .byte 0x1f ++ .long 0x445e ++ .long 0x445e ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x413d ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x16 ++ .byte 0x8 ++ .byte 0x7 ++ .long .LASF661 ++ .uleb128 0x7a ++ .long .LASF933 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1e70 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1eb6 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x207f ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x207f ++ .uleb128 0x3b ++ .byte 0x8 ++ .long 0x1eb6 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x1eb6 ++ .uleb128 0x16 ++ .byte 0x1 ++ .byte 0x2 ++ .long .LASF662 ++ .uleb128 0xa ++ .long 0x448e ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x20bd ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2137 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x21b1 ++ .uleb128 0x16 ++ .byte 0x1 ++ .byte 0x8 ++ .long .LASF663 ++ .uleb128 0x16 ++ .byte 0x10 ++ .byte 0x7 ++ .long .LASF664 ++ .uleb128 0x16 ++ .byte 0x1 ++ .byte 0x6 ++ .long .LASF665 ++ .uleb128 0x16 ++ .byte 0x2 ++ .byte 0x5 ++ .long .LASF666 ++ .uleb128 0xa ++ .long 0x44c1 ++ .uleb128 0x16 ++ .byte 0x10 ++ .byte 0x5 ++ .long .LASF667 ++ .uleb128 0x16 ++ .byte 0x2 ++ .byte 0x10 ++ .long .LASF668 ++ .uleb128 0x16 ++ .byte 0x4 ++ .byte 0x10 ++ .long .LASF669 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x21d5 ++ .uleb128 0x7b ++ .long 0x21ff ++ .uleb128 0x4c ++ .long .LASF670 ++ .byte 0xa ++ .byte 0x38 ++ .byte 0xb ++ .long 0x4502 ++ .uleb128 0x53 ++ .byte 0xa ++ .byte 0x3a ++ .byte 0x18 ++ .long 0x2216 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x2248 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x2255 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2255 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2248 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x2394 ++ .uleb128 0x5 ++ .long .LASF671 ++ .byte 0x2e ++ .byte 0x25 ++ .byte 0x15 ++ .long 0x44ba ++ .uleb128 0x5 ++ .long .LASF672 ++ .byte 0x2e ++ .byte 0x26 ++ .byte 0x17 ++ .long 0x44ac ++ .uleb128 0x5 ++ .long .LASF673 ++ .byte 0x2e ++ .byte 0x27 ++ .byte 0x1a ++ .long 0x44c1 ++ .uleb128 0x5 ++ .long .LASF674 ++ .byte 0x2e ++ .byte 0x28 ++ .byte 0x1c ++ .long 0x3bb3 ++ .uleb128 0x5 ++ .long .LASF675 ++ .byte 0x2e ++ .byte 0x29 ++ .byte 0x14 ++ .long 0x39eb ++ .uleb128 0xa ++ .long 0x4550 ++ .uleb128 0x5 ++ .long .LASF676 ++ .byte 0x2e ++ .byte 0x2a ++ .byte 0x16 ++ .long 0x3970 ++ .uleb128 0x5 ++ .long .LASF677 ++ .byte 0x2e ++ .byte 0x2c ++ .byte 0x19 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF678 ++ .byte 0x2e ++ .byte 0x2d ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF679 ++ .byte 0x2e ++ .byte 0x34 ++ .byte 0x12 ++ .long 0x4520 ++ .uleb128 0x5 ++ .long .LASF680 ++ .byte 0x2e ++ .byte 0x35 ++ .byte 0x13 ++ .long 0x452c ++ .uleb128 0x5 ++ .long .LASF681 ++ .byte 0x2e ++ .byte 0x36 ++ .byte 0x13 ++ .long 0x4538 ++ .uleb128 0x5 ++ .long .LASF682 ++ .byte 0x2e ++ .byte 0x37 ++ .byte 0x14 ++ .long 0x4544 ++ .uleb128 0x5 ++ .long .LASF683 ++ .byte 0x2e ++ .byte 0x38 ++ .byte 0x13 ++ .long 0x4550 ++ .uleb128 0x5 ++ .long .LASF684 ++ .byte 0x2e ++ .byte 0x39 ++ .byte 0x14 ++ .long 0x4561 ++ .uleb128 0x5 ++ .long .LASF685 ++ .byte 0x2e ++ .byte 0x3a ++ .byte 0x13 ++ .long 0x456d ++ .uleb128 0x5 ++ .long .LASF686 ++ .byte 0x2e ++ .byte 0x3b ++ .byte 0x14 ++ .long 0x4579 ++ .uleb128 0x5 ++ .long .LASF687 ++ .byte 0x2e ++ .byte 0x48 ++ .byte 0x12 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF688 ++ .byte 0x2e ++ .byte 0x49 ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF689 ++ .byte 0x2e ++ .byte 0x98 ++ .byte 0x19 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF690 ++ .byte 0x2e ++ .byte 0x99 ++ .byte 0x1b ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF691 ++ .byte 0x2f ++ .byte 0x18 ++ .byte 0x12 ++ .long 0x4520 ++ .uleb128 0x5 ++ .long .LASF692 ++ .byte 0x2f ++ .byte 0x19 ++ .byte 0x13 ++ .long 0x4538 ++ .uleb128 0x5 ++ .long .LASF693 ++ .byte 0x2f ++ .byte 0x1a ++ .byte 0x13 ++ .long 0x4550 ++ .uleb128 0x5 ++ .long .LASF694 ++ .byte 0x2f ++ .byte 0x1b ++ .byte 0x13 ++ .long 0x456d ++ .uleb128 0x5 ++ .long .LASF695 ++ .byte 0x30 ++ .byte 0x18 ++ .byte 0x13 ++ .long 0x452c ++ .uleb128 0x5 ++ .long .LASF696 ++ .byte 0x30 ++ .byte 0x19 ++ .byte 0x14 ++ .long 0x4544 ++ .uleb128 0x5 ++ .long .LASF697 ++ .byte 0x30 ++ .byte 0x1a ++ .byte 0x14 ++ .long 0x4561 ++ .uleb128 0x5 ++ .long .LASF698 ++ .byte 0x30 ++ .byte 0x1b ++ .byte 0x14 ++ .long 0x4579 ++ .uleb128 0x5 ++ .long .LASF699 ++ .byte 0x31 ++ .byte 0x2b ++ .byte 0x18 ++ .long 0x4585 ++ .uleb128 0x5 ++ .long .LASF700 ++ .byte 0x31 ++ .byte 0x2c ++ .byte 0x19 ++ .long 0x459d ++ .uleb128 0x5 ++ .long .LASF701 ++ .byte 0x31 ++ .byte 0x2d ++ .byte 0x19 ++ .long 0x45b5 ++ .uleb128 0x5 ++ .long .LASF702 ++ .byte 0x31 ++ .byte 0x2e ++ .byte 0x19 ++ .long 0x45cd ++ .uleb128 0x5 ++ .long .LASF703 ++ .byte 0x31 ++ .byte 0x31 ++ .byte 0x19 ++ .long 0x4591 ++ .uleb128 0x5 ++ .long .LASF704 ++ .byte 0x31 ++ .byte 0x32 ++ .byte 0x1a ++ .long 0x45a9 ++ .uleb128 0x5 ++ .long .LASF705 ++ .byte 0x31 ++ .byte 0x33 ++ .byte 0x1a ++ .long 0x45c1 ++ .uleb128 0x5 ++ .long .LASF706 ++ .byte 0x31 ++ .byte 0x34 ++ .byte 0x1a ++ .long 0x45d9 ++ .uleb128 0x5 ++ .long .LASF707 ++ .byte 0x31 ++ .byte 0x3a ++ .byte 0x16 ++ .long 0x44ba ++ .uleb128 0x5 ++ .long .LASF708 ++ .byte 0x31 ++ .byte 0x3c ++ .byte 0x13 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF709 ++ .byte 0x31 ++ .byte 0x3d ++ .byte 0x13 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF710 ++ .byte 0x31 ++ .byte 0x3e ++ .byte 0x13 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF711 ++ .byte 0x31 ++ .byte 0x47 ++ .byte 0x18 ++ .long 0x44ac ++ .uleb128 0x5 ++ .long .LASF712 ++ .byte 0x31 ++ .byte 0x49 ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF713 ++ .byte 0x31 ++ .byte 0x4a ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF714 ++ .byte 0x31 ++ .byte 0x4b ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF715 ++ .byte 0x31 ++ .byte 0x57 ++ .byte 0x13 ++ .long 0x41a0 ++ .uleb128 0x5 ++ .long .LASF716 ++ .byte 0x31 ++ .byte 0x5a ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF717 ++ .byte 0x31 ++ .byte 0x65 ++ .byte 0x15 ++ .long 0x45e5 ++ .uleb128 0x5 ++ .long .LASF718 ++ .byte 0x31 ++ .byte 0x66 ++ .byte 0x16 ++ .long 0x45f1 ++ .uleb128 0x13 ++ .long .LASF719 ++ .byte 0x60 ++ .byte 0x32 ++ .byte 0x33 ++ .byte 0x8 ++ .long 0x48ab ++ .uleb128 0x6 ++ .long .LASF720 ++ .byte 0x32 ++ .byte 0x37 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF721 ++ .byte 0x32 ++ .byte 0x38 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x8 ++ .uleb128 0x6 ++ .long .LASF722 ++ .byte 0x32 ++ .byte 0x3e ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x10 ++ .uleb128 0x6 ++ .long .LASF723 ++ .byte 0x32 ++ .byte 0x44 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x18 ++ .uleb128 0x6 ++ .long .LASF724 ++ .byte 0x32 ++ .byte 0x45 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x20 ++ .uleb128 0x6 ++ .long .LASF725 ++ .byte 0x32 ++ .byte 0x46 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x28 ++ .uleb128 0x6 ++ .long .LASF726 ++ .byte 0x32 ++ .byte 0x47 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x30 ++ .uleb128 0x6 ++ .long .LASF727 ++ .byte 0x32 ++ .byte 0x48 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x38 ++ .uleb128 0x6 ++ .long .LASF728 ++ .byte 0x32 ++ .byte 0x49 ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x40 ++ .uleb128 0x6 ++ .long .LASF729 ++ .byte 0x32 ++ .byte 0x4a ++ .byte 0x9 ++ .long 0x3f04 ++ .byte 0x48 ++ .uleb128 0x6 ++ .long .LASF730 ++ .byte 0x32 ++ .byte 0x4b ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x50 ++ .uleb128 0x6 ++ .long .LASF731 ++ .byte 0x32 ++ .byte 0x4c ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x51 ++ .uleb128 0x6 ++ .long .LASF732 ++ .byte 0x32 ++ .byte 0x4e ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x52 ++ .uleb128 0x6 ++ .long .LASF733 ++ .byte 0x32 ++ .byte 0x50 ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x53 ++ .uleb128 0x6 ++ .long .LASF734 ++ .byte 0x32 ++ .byte 0x52 ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x54 ++ .uleb128 0x6 ++ .long .LASF735 ++ .byte 0x32 ++ .byte 0x54 ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x55 ++ .uleb128 0x6 ++ .long .LASF736 ++ .byte 0x32 ++ .byte 0x5b ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x56 ++ .uleb128 0x6 ++ .long .LASF737 ++ .byte 0x32 ++ .byte 0x5c ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x57 ++ .uleb128 0x6 ++ .long .LASF738 ++ .byte 0x32 ++ .byte 0x5f ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x58 ++ .uleb128 0x6 ++ .long .LASF739 ++ .byte 0x32 ++ .byte 0x61 ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x59 ++ .uleb128 0x6 ++ .long .LASF740 ++ .byte 0x32 ++ .byte 0x63 ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x5a ++ .uleb128 0x6 ++ .long .LASF741 ++ .byte 0x32 ++ .byte 0x65 ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x5b ++ .uleb128 0x6 ++ .long .LASF742 ++ .byte 0x32 ++ .byte 0x6c ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x5c ++ .uleb128 0x6 ++ .long .LASF743 ++ .byte 0x32 ++ .byte 0x6d ++ .byte 0x8 ++ .long 0x39df ++ .byte 0x5d ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF744 ++ .byte 0x32 ++ .byte 0x7a ++ .byte 0xe ++ .long 0x3f04 ++ .long 0x48c6 ++ .uleb128 0x1 ++ .long 0x39eb ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x40 ++ .long .LASF746 ++ .byte 0x32 ++ .byte 0x7d ++ .byte 0x16 ++ .long 0x48d2 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4765 ++ .uleb128 0x2d ++ .long 0x3f04 ++ .long 0x48e8 ++ .uleb128 0x34 ++ .long 0x3927 ++ .byte 0x1 ++ .byte 0 ++ .uleb128 0x1b ++ .long .LASF747 ++ .byte 0x33 ++ .byte 0x9f ++ .byte 0xe ++ .long 0x48d8 ++ .uleb128 0x1b ++ .long .LASF748 ++ .byte 0x33 ++ .byte 0xa0 ++ .byte 0xc ++ .long 0x39eb ++ .uleb128 0x1b ++ .long .LASF749 ++ .byte 0x33 ++ .byte 0xa1 ++ .byte 0x11 ++ .long 0x41a0 ++ .uleb128 0x1b ++ .long .LASF750 ++ .byte 0x33 ++ .byte 0xa6 ++ .byte 0xe ++ .long 0x48d8 ++ .uleb128 0x1b ++ .long .LASF751 ++ .byte 0x33 ++ .byte 0xae ++ .byte 0xc ++ .long 0x39eb ++ .uleb128 0x1b ++ .long .LASF752 ++ .byte 0x33 ++ .byte 0xaf ++ .byte 0x11 ++ .long 0x41a0 ++ .uleb128 0x7c ++ .long .LASF753 ++ .byte 0x33 ++ .value 0x112 ++ .byte 0xc ++ .long 0x39eb ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4943 ++ .uleb128 0x7d ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2eb8 ++ .uleb128 0xa ++ .long 0x4944 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x3020 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3020 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x39df ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x39e6 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x250f ++ .uleb128 0xa ++ .long 0x4967 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x25a0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x250f ++ .uleb128 0x3a ++ .byte 0x8 ++ .byte 0x34 ++ .byte 0x3b ++ .byte 0x3 ++ .long .LASF755 ++ .long 0x49a6 ++ .uleb128 0x6 ++ .long .LASF756 ++ .byte 0x34 ++ .byte 0x3c ++ .byte 0x9 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x41 ++ .string "rem" ++ .byte 0x34 ++ .byte 0x3d ++ .byte 0x9 ++ .long 0x39eb ++ .byte 0x4 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF757 ++ .byte 0x34 ++ .byte 0x3e ++ .byte 0x5 ++ .long 0x497e ++ .uleb128 0x3a ++ .byte 0x10 ++ .byte 0x34 ++ .byte 0x43 ++ .byte 0x3 ++ .long .LASF758 ++ .long 0x49da ++ .uleb128 0x6 ++ .long .LASF756 ++ .byte 0x34 ++ .byte 0x44 ++ .byte 0xe ++ .long 0x41a0 ++ .byte 0 ++ .uleb128 0x41 ++ .string "rem" ++ .byte 0x34 ++ .byte 0x45 ++ .byte 0xe ++ .long 0x41a0 ++ .byte 0x8 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF759 ++ .byte 0x34 ++ .byte 0x46 ++ .byte 0x5 ++ .long 0x49b2 ++ .uleb128 0x3a ++ .byte 0x10 ++ .byte 0x34 ++ .byte 0x4d ++ .byte 0x3 ++ .long .LASF760 ++ .long 0x4a0e ++ .uleb128 0x6 ++ .long .LASF756 ++ .byte 0x34 ++ .byte 0x4e ++ .byte 0x13 ++ .long 0x4436 ++ .byte 0 ++ .uleb128 0x41 ++ .string "rem" ++ .byte 0x34 ++ .byte 0x4f ++ .byte 0x13 ++ .long 0x4436 ++ .byte 0x8 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF761 ++ .byte 0x34 ++ .byte 0x50 ++ .byte 0x5 ++ .long 0x49e6 ++ .uleb128 0x19 ++ .long .LASF762 ++ .byte 0x34 ++ .value 0x328 ++ .byte 0xf ++ .long 0x4a27 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4a2d ++ .uleb128 0x7e ++ .long 0x39eb ++ .long 0x4a41 ++ .uleb128 0x1 ++ .long 0x493d ++ .uleb128 0x1 ++ .long 0x493d ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF763 ++ .byte 0x34 ++ .value 0x253 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4a58 ++ .uleb128 0x1 ++ .long 0x4a58 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4a5e ++ .uleb128 0x7f ++ .uleb128 0x14 ++ .long .LASF764 ++ .byte 0x34 ++ .value 0x258 ++ .byte 0x12 ++ .long .LASF764 ++ .long 0x39eb ++ .long 0x4a7a ++ .uleb128 0x1 ++ .long 0x4a58 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF765 ++ .byte 0x35 ++ .byte 0x19 ++ .byte 0x1 ++ .long 0x390d ++ .long 0x4a90 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF766 ++ .byte 0x34 ++ .value 0x169 ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x4aa7 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF767 ++ .byte 0x34 ++ .value 0x16e ++ .byte 0x1 ++ .long 0x41a0 ++ .long 0x4abe ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF768 ++ .byte 0x36 ++ .byte 0x14 ++ .byte 0x1 ++ .long 0x3977 ++ .long 0x4ae8 ++ .uleb128 0x1 ++ .long 0x493d ++ .uleb128 0x1 ++ .long 0x493d ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x4a1a ++ .byte 0 ++ .uleb128 0x80 ++ .string "div" ++ .byte 0x34 ++ .value 0x354 ++ .byte 0xe ++ .long 0x49a6 ++ .long 0x4b05 ++ .uleb128 0x1 ++ .long 0x39eb ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF769 ++ .byte 0x34 ++ .value 0x27a ++ .byte 0xe ++ .long 0x3f04 ++ .long 0x4b1c ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF770 ++ .byte 0x34 ++ .value 0x356 ++ .byte 0xf ++ .long 0x49da ++ .long 0x4b38 ++ .uleb128 0x1 ++ .long 0x41a0 ++ .uleb128 0x1 ++ .long 0x41a0 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF771 ++ .byte 0x34 ++ .value 0x39a ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4b54 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF772 ++ .byte 0x37 ++ .byte 0x71 ++ .byte 0x1 ++ .long 0x391b ++ .long 0x4b74 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF773 ++ .byte 0x34 ++ .value 0x39d ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4b95 ++ .uleb128 0x1 ++ .long 0x3c1a ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x2f ++ .long .LASF776 ++ .byte 0x34 ++ .value 0x33e ++ .byte 0xd ++ .long 0x4bb7 ++ .uleb128 0x1 ++ .long 0x3977 ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x4a1a ++ .byte 0 ++ .uleb128 0x81 ++ .long .LASF774 ++ .byte 0x34 ++ .value 0x26f ++ .byte 0xd ++ .long 0x4bcb ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x59 ++ .long .LASF775 ++ .byte 0x34 ++ .value 0x1c5 ++ .byte 0xc ++ .long 0x39eb ++ .uleb128 0x2f ++ .long .LASF777 ++ .byte 0x34 ++ .value 0x1c7 ++ .byte 0xd ++ .long 0x4beb ++ .uleb128 0x1 ++ .long 0x3970 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF778 ++ .byte 0x34 ++ .byte 0x75 ++ .byte 0xf ++ .long 0x390d ++ .long 0x4c06 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3f04 ++ .uleb128 0xe ++ .long .LASF779 ++ .byte 0x34 ++ .byte 0xb0 ++ .byte 0x11 ++ .long 0x41a0 ++ .long 0x4c2c ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF780 ++ .byte 0x34 ++ .byte 0xb4 ++ .byte 0x1a ++ .long 0x3927 ++ .long 0x4c4c ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF781 ++ .byte 0x34 ++ .value 0x310 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4c63 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF782 ++ .byte 0x37 ++ .byte 0x90 ++ .byte 0x1 ++ .long 0x391b ++ .long 0x4c83 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3c64 ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF783 ++ .byte 0x37 ++ .byte 0x53 ++ .byte 0x1 ++ .long 0x39eb ++ .long 0x4c9e ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x3c20 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF784 ++ .byte 0x34 ++ .value 0x35a ++ .byte 0x1e ++ .long 0x4a0e ++ .long 0x4cba ++ .uleb128 0x1 ++ .long 0x4436 ++ .uleb128 0x1 ++ .long 0x4436 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF785 ++ .byte 0x34 ++ .value 0x175 ++ .byte 0x1 ++ .long 0x4436 ++ .long 0x4cd1 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF786 ++ .byte 0x34 ++ .byte 0xc8 ++ .byte 0x16 ++ .long 0x4436 ++ .long 0x4cf1 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF787 ++ .byte 0x34 ++ .byte 0xcd ++ .byte 0x1f ++ .long 0x445e ++ .long 0x4d11 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF788 ++ .byte 0x34 ++ .byte 0x7b ++ .byte 0xe ++ .long 0x3906 ++ .long 0x4d2c ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF789 ++ .byte 0x34 ++ .byte 0x7e ++ .byte 0x14 ++ .long 0x3914 ++ .long 0x4d47 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4c06 ++ .byte 0 ++ .uleb128 0x13 ++ .long .LASF790 ++ .byte 0x10 ++ .byte 0x38 ++ .byte 0xa ++ .byte 0x10 ++ .long 0x4d6f ++ .uleb128 0x6 ++ .long .LASF791 ++ .byte 0x38 ++ .byte 0xc ++ .byte 0xb ++ .long 0x45fd ++ .byte 0 ++ .uleb128 0x6 ++ .long .LASF792 ++ .byte 0x38 ++ .byte 0xd ++ .byte 0xf ++ .long 0x39f7 ++ .byte 0x8 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF793 ++ .byte 0x38 ++ .byte 0xe ++ .byte 0x3 ++ .long 0x4d47 ++ .uleb128 0x82 ++ .long .LASF934 ++ .byte 0x29 ++ .byte 0x2b ++ .byte 0xe ++ .uleb128 0x42 ++ .long .LASF794 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4d84 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3a20 ++ .uleb128 0x2d ++ .long 0x39df ++ .long 0x4da5 ++ .uleb128 0x34 ++ .long 0x3927 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4d7b ++ .uleb128 0x42 ++ .long .LASF795 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4dab ++ .uleb128 0x42 ++ .long .LASF796 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4db6 ++ .uleb128 0x2d ++ .long 0x39df ++ .long 0x4dd1 ++ .uleb128 0x34 ++ .long 0x3927 ++ .byte 0x13 ++ .byte 0 ++ .uleb128 0x5 ++ .long .LASF797 ++ .byte 0x39 ++ .byte 0x54 ++ .byte 0x12 ++ .long 0x4d6f ++ .uleb128 0xa ++ .long 0x4dd1 ++ .uleb128 0x1b ++ .long .LASF798 ++ .byte 0x39 ++ .byte 0x89 ++ .byte 0xe ++ .long 0x4dee ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3ba7 ++ .uleb128 0x1b ++ .long .LASF799 ++ .byte 0x39 ++ .byte 0x8a ++ .byte 0xe ++ .long 0x4dee ++ .uleb128 0x1b ++ .long .LASF800 ++ .byte 0x39 ++ .byte 0x8b ++ .byte 0xe ++ .long 0x4dee ++ .uleb128 0x1b ++ .long .LASF801 ++ .byte 0x3a ++ .byte 0x1a ++ .byte 0xc ++ .long 0x39eb ++ .uleb128 0x2d ++ .long 0x3bc0 ++ .long 0x4e24 ++ .uleb128 0x83 ++ .byte 0 ++ .uleb128 0x1b ++ .long .LASF802 ++ .byte 0x3a ++ .byte 0x1b ++ .byte 0x1a ++ .long 0x4e18 ++ .uleb128 0x1b ++ .long .LASF803 ++ .byte 0x3a ++ .byte 0x1e ++ .byte 0xc ++ .long 0x39eb ++ .uleb128 0x1b ++ .long .LASF804 ++ .byte 0x3a ++ .byte 0x1f ++ .byte 0x1a ++ .long 0x4e18 ++ .uleb128 0x2f ++ .long .LASF805 ++ .byte 0x39 ++ .value 0x2f5 ++ .byte 0xd ++ .long 0x4e5b ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF806 ++ .byte 0x39 ++ .byte 0xd5 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4e71 ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF807 ++ .byte 0x39 ++ .value 0x2f7 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4e88 ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF808 ++ .byte 0x39 ++ .value 0x2f9 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4e9f ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF809 ++ .byte 0x39 ++ .byte 0xda ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4eb5 ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF810 ++ .byte 0x39 ++ .value 0x1e5 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4ecc ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF811 ++ .byte 0x39 ++ .value 0x2db ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4ee8 ++ .uleb128 0x1 ++ .long 0x4dee ++ .uleb128 0x1 ++ .long 0x4ee8 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4dd1 ++ .uleb128 0xe ++ .long .LASF812 ++ .byte 0x3b ++ .byte 0xff ++ .byte 0x1 ++ .long 0x3f04 ++ .long 0x4f0e ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x39eb ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF813 ++ .byte 0x39 ++ .byte 0xf6 ++ .byte 0xe ++ .long 0x4dee ++ .long 0x4f29 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF814 ++ .byte 0x3b ++ .value 0x11c ++ .byte 0x1 ++ .long 0x391b ++ .long 0x4f4f ++ .uleb128 0x1 ++ .long 0x3977 ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x391b ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF815 ++ .byte 0x39 ++ .byte 0xfc ++ .byte 0xe ++ .long 0x4dee ++ .long 0x4f6f ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF816 ++ .byte 0x39 ++ .value 0x2ac ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4f90 ++ .uleb128 0x1 ++ .long 0x4dee ++ .uleb128 0x1 ++ .long 0x41a0 ++ .uleb128 0x1 ++ .long 0x39eb ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF817 ++ .byte 0x39 ++ .value 0x2e0 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4fac ++ .uleb128 0x1 ++ .long 0x4dee ++ .uleb128 0x1 ++ .long 0x4fac ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x4ddd ++ .uleb128 0x9 ++ .long .LASF818 ++ .byte 0x39 ++ .value 0x2b1 ++ .byte 0x11 ++ .long 0x41a0 ++ .long 0x4fc9 ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF819 ++ .byte 0x39 ++ .value 0x1e6 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x4fe0 ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x40 ++ .long .LASF820 ++ .byte 0x3c ++ .byte 0x2f ++ .byte 0x1 ++ .long 0x39eb ++ .uleb128 0x2f ++ .long .LASF821 ++ .byte 0x39 ++ .value 0x307 ++ .byte 0xd ++ .long 0x4fff ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF822 ++ .byte 0x39 ++ .byte 0x92 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x5015 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF823 ++ .byte 0x39 ++ .byte 0x94 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x5030 ++ .uleb128 0x1 ++ .long 0x3bba ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x2f ++ .long .LASF824 ++ .byte 0x39 ++ .value 0x2b6 ++ .byte 0xd ++ .long 0x5043 ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x2f ++ .long .LASF825 ++ .byte 0x39 ++ .value 0x130 ++ .byte 0xd ++ .long 0x505b ++ .uleb128 0x1 ++ .long 0x4dee ++ .uleb128 0x1 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF826 ++ .byte 0x39 ++ .value 0x134 ++ .byte 0xc ++ .long 0x39eb ++ .long 0x5081 ++ .uleb128 0x1 ++ .long 0x4dee ++ .uleb128 0x1 ++ .long 0x3f04 ++ .uleb128 0x1 ++ .long 0x39eb ++ .uleb128 0x1 ++ .long 0x391b ++ .byte 0 ++ .uleb128 0x40 ++ .long .LASF827 ++ .byte 0x39 ++ .byte 0xad ++ .byte 0xe ++ .long 0x4dee ++ .uleb128 0xe ++ .long .LASF828 ++ .byte 0x39 ++ .byte 0xbb ++ .byte 0xe ++ .long 0x3f04 ++ .long 0x50a3 ++ .uleb128 0x1 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x9 ++ .long .LASF829 ++ .byte 0x39 ++ .value 0x27f ++ .byte 0xc ++ .long 0x39eb ++ .long 0x50bf ++ .uleb128 0x1 ++ .long 0x39eb ++ .uleb128 0x1 ++ .long 0x4dee ++ .byte 0 ++ .uleb128 0x1b ++ .long .LASF830 ++ .byte 0x3d ++ .byte 0x2d ++ .byte 0xe ++ .long 0x3f04 ++ .uleb128 0x1b ++ .long .LASF831 ++ .byte 0x3d ++ .byte 0x2e ++ .byte 0xe ++ .long 0x3f04 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x27b8 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x27c5 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x317b ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x3187 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x52 ++ .uleb128 0xa ++ .long 0x50ef ++ .uleb128 0x3b ++ .byte 0x8 ++ .long 0x250f ++ .uleb128 0x2d ++ .long 0x39df ++ .long 0x5110 ++ .uleb128 0x34 ++ .long 0x3927 ++ .byte 0xf ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x45 ++ .uleb128 0xa ++ .long 0x5110 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1ace ++ .uleb128 0xa ++ .long 0x511b ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x117 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x302 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x30f ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x1ace ++ .uleb128 0x3b ++ .byte 0x8 ++ .long 0x45 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x45 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2891 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2984 ++ .uleb128 0x5 ++ .long .LASF832 ++ .byte 0x3e ++ .byte 0x26 ++ .byte 0x1b ++ .long 0x3927 ++ .uleb128 0x5 ++ .long .LASF833 ++ .byte 0x3f ++ .byte 0x30 ++ .byte 0x1a ++ .long 0x516e ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x455c ++ .uleb128 0xe ++ .long .LASF834 ++ .byte 0x3e ++ .byte 0x9f ++ .byte 0xc ++ .long 0x39eb ++ .long 0x518f ++ .uleb128 0x1 ++ .long 0x3979 ++ .uleb128 0x1 ++ .long 0x5156 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF835 ++ .byte 0x3f ++ .byte 0x37 ++ .byte 0xf ++ .long 0x3979 ++ .long 0x51aa ++ .uleb128 0x1 ++ .long 0x3979 ++ .uleb128 0x1 ++ .long 0x5162 ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF836 ++ .byte 0x3f ++ .byte 0x34 ++ .byte 0x12 ++ .long 0x5162 ++ .long 0x51c0 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0xe ++ .long .LASF837 ++ .byte 0x3e ++ .byte 0x9b ++ .byte 0x11 ++ .long 0x5156 ++ .long 0x51d6 ++ .uleb128 0x1 ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1ad3 ++ .uleb128 0xa ++ .long 0x51d6 ++ .uleb128 0x5 ++ .long .LASF404 ++ .byte 0x1 ++ .byte 0x17 ++ .byte 0x7 ++ .long 0x39eb ++ .uleb128 0xa ++ .long 0x51e1 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3434 ++ .uleb128 0xa ++ .long 0x51f2 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x3bc0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x3698 ++ .uleb128 0xa ++ .long 0x5203 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x3434 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x2c9e ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x2d03 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x31f5 ++ .uleb128 0xa ++ .long 0x5220 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x3f0a ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x342f ++ .uleb128 0xa ++ .long 0x5231 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x31f5 ++ .uleb128 0x1c ++ .long .LASF838 ++ .long 0x20cf ++ .byte 0 ++ .uleb128 0x1c ++ .long .LASF839 ++ .long 0x2149 ++ .byte 0x1 ++ .uleb128 0x1c ++ .long .LASF840 ++ .long 0x3032 ++ .byte 0x1 ++ .uleb128 0x1c ++ .long .LASF841 ++ .long 0x303e ++ .byte 0x1f ++ .uleb128 0x84 ++ .long .LASF842 ++ .long 0x304a ++ .long 0x7fffffff ++ .uleb128 0x43 ++ .long .LASF843 ++ .long 0x3056 ++ .sleb128 -2147483648 ++ .uleb128 0x1c ++ .long .LASF844 ++ .long 0x36ce ++ .byte 0x26 ++ .uleb128 0x44 ++ .long .LASF845 ++ .long 0x3715 ++ .value 0x134 ++ .uleb128 0x44 ++ .long .LASF846 ++ .long 0x375c ++ .value 0x1344 ++ .uleb128 0x1c ++ .long .LASF847 ++ .long 0x377f ++ .byte 0 ++ .uleb128 0x1c ++ .long .LASF848 ++ .long 0x378b ++ .byte 0x40 ++ .uleb128 0x1c ++ .long .LASF849 ++ .long 0x37c6 ++ .byte 0x1 ++ .uleb128 0x1c ++ .long .LASF850 ++ .long 0x37d2 ++ .byte 0x7 ++ .uleb128 0x1c ++ .long .LASF851 ++ .long 0x37de ++ .byte 0x7f ++ .uleb128 0x1c ++ .long .LASF852 ++ .long 0x380d ++ .byte 0x1 ++ .uleb128 0x1c ++ .long .LASF853 ++ .long 0x3819 ++ .byte 0xf ++ .uleb128 0x44 ++ .long .LASF854 ++ .long 0x3825 ++ .value 0x7fff ++ .uleb128 0x43 ++ .long .LASF855 ++ .long 0x3831 ++ .sleb128 -32768 ++ .uleb128 0x1c ++ .long .LASF856 ++ .long 0x3854 ++ .byte 0x1 ++ .uleb128 0x1c ++ .long .LASF857 ++ .long 0x3860 ++ .byte 0x3f ++ .uleb128 0x85 ++ .long .LASF858 ++ .long 0x386c ++ .quad 0x7fffffffffffffff ++ .uleb128 0x43 ++ .long .LASF859 ++ .long 0x3878 ++ .sleb128 -9223372036854775808 ++ .uleb128 0xb ++ .long 0x363b ++ .long 0x534a ++ .byte 0x3 ++ .long 0x5354 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5209 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x3698 ++ .uleb128 0x21 ++ .long 0x388e ++ .byte 0x3 ++ .long 0x5391 ++ .uleb128 0xc ++ .long .LASF402 ++ .long 0x3bba ++ .uleb128 0xc ++ .long .LASF497 ++ .long 0x45 ++ .uleb128 0x17 ++ .long .LASF860 ++ .byte 0x22 ++ .value 0x3da ++ .byte 0x3f ++ .long 0x5354 ++ .uleb128 0x17 ++ .long .LASF861 ++ .byte 0x22 ++ .value 0x3db ++ .byte 0x38 ++ .long 0x5354 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x342f ++ .uleb128 0x21 ++ .long 0x38c0 ++ .byte 0x3 ++ .long 0x53d7 ++ .uleb128 0xc ++ .long .LASF530 ++ .long 0x3bba ++ .uleb128 0xc ++ .long .LASF531 ++ .long 0x3f04 ++ .uleb128 0xc ++ .long .LASF497 ++ .long 0x45 ++ .uleb128 0x17 ++ .long .LASF860 ++ .byte 0x22 ++ .value 0x3ce ++ .byte 0x40 ++ .long 0x5354 ++ .uleb128 0x17 ++ .long .LASF861 ++ .byte 0x22 ++ .value 0x3cf ++ .byte 0x39 ++ .long 0x5391 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x33fc ++ .long 0x53e5 ++ .byte 0x3 ++ .long 0x53ef ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5237 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x322e ++ .long 0x53fd ++ .byte 0x2 ++ .long 0x5414 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5226 ++ .uleb128 0x2a ++ .string "__i" ++ .byte 0x22 ++ .value 0x323 ++ .byte 0x2a ++ .long 0x522b ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x53ef ++ .long .LASF868 ++ .long 0x5425 ++ .long 0x5430 ++ .uleb128 0xd ++ .long 0x53fd ++ .uleb128 0xd ++ .long 0x5406 ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2d4d ++ .byte 0x3 ++ .long 0x5450 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39e6 ++ .uleb128 0x1f ++ .string "__r" ++ .byte 0x1b ++ .byte 0x8a ++ .byte 0x14 ++ .long 0x4961 ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2d70 ++ .byte 0x3 ++ .long 0x5470 ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39e6 ++ .uleb128 0x1f ++ .string "__r" ++ .byte 0x1b ++ .byte 0x2f ++ .byte 0x16 ++ .long 0x4961 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2fd2 ++ .long 0x547e ++ .byte 0x3 ++ .long 0x5499 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x494a ++ .uleb128 0x1f ++ .string "__p" ++ .byte 0x1f ++ .byte 0x77 ++ .byte 0x1a ++ .long 0x2f20 ++ .uleb128 0x1 ++ .long 0x2fc5 ++ .byte 0 ++ .uleb128 0xb ++ .long 0xe0d ++ .long 0x54a7 ++ .byte 0x3 ++ .long 0x54be ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x17 ++ .long .LASF863 ++ .byte 0x3 ++ .value 0x558 ++ .byte 0x22 ++ .long 0x5138 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x12f4 ++ .long 0x54cc ++ .byte 0x3 ++ .long 0x550a ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x17 ++ .long .LASF864 ++ .byte 0x3 ++ .value 0x84f ++ .byte 0x20 ++ .long 0x108d ++ .uleb128 0x17 ++ .long .LASF865 ++ .byte 0x3 ++ .value 0x84f ++ .byte 0x37 ++ .long 0x108d ++ .uleb128 0x17 ++ .long .LASF866 ++ .byte 0x3 ++ .value 0x850 ++ .byte 0x10 ++ .long 0x3f04 ++ .uleb128 0x17 ++ .long .LASF867 ++ .byte 0x3 ++ .value 0x850 ++ .byte 0x1e ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x365b ++ .long 0x5521 ++ .byte 0x2 ++ .long 0x5538 ++ .uleb128 0xc ++ .long .LASF515 ++ .long 0x3f04 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x51f8 ++ .uleb128 0x2a ++ .string "__i" ++ .byte 0x22 ++ .value 0x32b ++ .byte 0x1f ++ .long 0x5391 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x550a ++ .long .LASF869 ++ .long 0x5552 ++ .long 0x555d ++ .uleb128 0xc ++ .long .LASF515 ++ .long 0x3f04 ++ .uleb128 0xd ++ .long 0x5521 ++ .uleb128 0xd ++ .long 0x552a ++ .byte 0 ++ .uleb128 0xb ++ .long 0x8a0 ++ .long 0x556b ++ .byte 0x3 ++ .long 0x5575 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x860 ++ .long 0x5583 ++ .byte 0x3 ++ .long 0x558d ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x3b1 ++ .long 0x559b ++ .byte 0x3 ++ .long 0x55cc ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .uleb128 0x17 ++ .long .LASF791 ++ .byte 0x3 ++ .value 0x14d ++ .byte 0x1a ++ .long 0x117 ++ .uleb128 0x17 ++ .long .LASF870 ++ .byte 0x3 ++ .value 0x14d ++ .byte 0x2b ++ .long 0x117 ++ .uleb128 0x3c ++ .long .LASF872 ++ .byte 0x3 ++ .value 0x14f ++ .byte 0xd ++ .long 0x4495 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x35e ++ .long 0x55da ++ .byte 0x3 ++ .long 0x55fe ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .uleb128 0x17 ++ .long .LASF791 ++ .byte 0x3 ++ .value 0x13a ++ .byte 0x1a ++ .long 0x117 ++ .uleb128 0x2a ++ .string "__s" ++ .byte 0x3 ++ .value 0x13a ++ .byte 0x2d ++ .long 0x3bba ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2cdf ++ .byte 0x3 ++ .long 0x5615 ++ .uleb128 0x1f ++ .string "__r" ++ .byte 0x19 ++ .byte 0x92 ++ .byte 0x31 ++ .long 0x521a ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2ee0 ++ .long 0x5623 ++ .byte 0x2 ++ .long 0x5632 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x494a ++ .uleb128 0x1 ++ .long 0x494f ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5615 ++ .long .LASF871 ++ .long 0x5643 ++ .long 0x564e ++ .uleb128 0xd ++ .long 0x5623 ++ .uleb128 0xd ++ .long 0x562c ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2d93 ++ .byte 0x3 ++ .long 0x566e ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39df ++ .uleb128 0x1f ++ .string "__r" ++ .byte 0x1b ++ .byte 0x8a ++ .byte 0x14 ++ .long 0x495b ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2db6 ++ .byte 0x3 ++ .long 0x568e ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x39df ++ .uleb128 0x1f ++ .string "__r" ++ .byte 0x1b ++ .byte 0x2f ++ .byte 0x16 ++ .long 0x495b ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2809 ++ .byte 0x3 ++ .long 0x56c0 ++ .uleb128 0x2a ++ .string "__a" ++ .byte 0x11 ++ .value 0x1d4 ++ .byte 0x22 ++ .long 0x50d7 ++ .uleb128 0x2a ++ .string "__p" ++ .byte 0x11 ++ .value 0x1d4 ++ .byte 0x2f ++ .long 0x278b ++ .uleb128 0x2a ++ .string "__n" ++ .byte 0x11 ++ .value 0x1d4 ++ .byte 0x3e ++ .long 0x27ca ++ .byte 0 ++ .uleb128 0xb ++ .long 0x7a7 ++ .long 0x56ce ++ .byte 0x3 ++ .long 0x570f ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x17 ++ .long .LASF863 ++ .byte 0x3 ++ .value 0x29d ++ .byte 0x25 ++ .long 0x5138 ++ .uleb128 0x86 ++ .uleb128 0x3c ++ .long .LASF873 ++ .byte 0x3 ++ .value 0x2af ++ .byte 0x12 ++ .long 0x392e ++ .uleb128 0x3c ++ .long .LASF874 ++ .byte 0x3 ++ .value 0x2b0 ++ .byte 0xc ++ .long 0x250f ++ .uleb128 0x3c ++ .long .LASF875 ++ .byte 0x3 ++ .value 0x2b2 ++ .byte 0xc ++ .long 0x3f04 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x1a7f ++ .long 0x5726 ++ .byte 0x3 ++ .long 0x574a ++ .uleb128 0xc ++ .long .LASF253 ++ .long 0x3f04 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x17 ++ .long .LASF876 ++ .byte 0x3 ++ .value 0x5c2 ++ .byte 0x1f ++ .long 0x3f04 ++ .uleb128 0x17 ++ .long .LASF877 ++ .byte 0x3 ++ .value 0x5c2 ++ .byte 0x37 ++ .long 0x3f04 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2ae4 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2ba5 ++ .uleb128 0xa ++ .long 0x5750 ++ .uleb128 0xb ++ .long 0x2af1 ++ .long 0x5769 ++ .byte 0x3 ++ .long 0x5773 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5756 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2b11 ++ .long 0x5781 ++ .byte 0x3 ++ .long 0x578b ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5756 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2b31 ++ .long 0x5799 ++ .byte 0x3 ++ .long 0x57a3 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5756 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x5af ++ .long 0x57b1 ++ .byte 0x2 ++ .long 0x57c8 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x2a ++ .string "__a" ++ .byte 0x3 ++ .value 0x1bc ++ .byte 0x22 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x57a3 ++ .long .LASF878 ++ .long 0x57d9 ++ .long 0x57e4 ++ .uleb128 0xd ++ .long 0x57b1 ++ .uleb128 0xd ++ .long 0x57ba ++ .byte 0 ++ .uleb128 0xb ++ .long 0x1512 ++ .long 0x57f2 ++ .byte 0x3 ++ .long 0x57fc ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x593 ++ .long 0x580a ++ .byte 0x2 ++ .long 0x5814 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x57fc ++ .long .LASF879 ++ .long 0x5825 ++ .long 0x582b ++ .uleb128 0xd ++ .long 0x580a ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2adb ++ .uleb128 0xa ++ .long 0x582b ++ .uleb128 0xb ++ .long 0x2b51 ++ .long 0x5844 ++ .byte 0x2 ++ .long 0x584e ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5831 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5836 ++ .long .LASF880 ++ .long 0x585f ++ .long 0x5865 ++ .uleb128 0xd ++ .long 0x5844 ++ .byte 0 ++ .uleb128 0x5a ++ .long 0x1197 ++ .long 0x5872 ++ .long 0x58b0 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x17 ++ .long .LASF791 ++ .byte 0x3 ++ .value 0x794 ++ .byte 0x19 ++ .long 0x117 ++ .uleb128 0x17 ++ .long .LASF881 ++ .byte 0x3 ++ .value 0x794 ++ .byte 0x2a ++ .long 0x117 ++ .uleb128 0x2a ++ .string "__s" ++ .byte 0x3 ++ .value 0x794 ++ .byte 0x3e ++ .long 0x3bba ++ .uleb128 0x17 ++ .long .LASF882 ++ .byte 0x3 ++ .value 0x795 ++ .byte 0x12 ++ .long 0x117 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x33f ++ .long 0x58be ++ .byte 0x3 ++ .long 0x58c8 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x1dd ++ .long 0x58d6 ++ .byte 0x3 ++ .long 0x58e0 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x253e ++ .long 0x58ee ++ .byte 0x2 ++ .long 0x5904 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x496d ++ .uleb128 0x1f ++ .string "__a" ++ .byte 0xe ++ .byte 0x8c ++ .byte 0x22 ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x58e0 ++ .long .LASF883 ++ .long 0x5915 ++ .long 0x5920 ++ .uleb128 0xd ++ .long 0x58ee ++ .uleb128 0xd ++ .long 0x58f7 ++ .byte 0 ++ .uleb128 0x21 ++ .long 0x2c7a ++ .byte 0x3 ++ .long 0x5937 ++ .uleb128 0x1f ++ .string "__r" ++ .byte 0x19 ++ .byte 0x92 ++ .byte 0x31 ++ .long 0x5214 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x299 ++ .long 0x5945 ++ .byte 0x3 ++ .long 0x595b ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x35 ++ .long .LASF884 ++ .byte 0x3 ++ .byte 0xf0 ++ .byte 0x1c ++ .long 0x117 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1b66 ++ .uleb128 0xa ++ .long 0x595b ++ .uleb128 0x5a ++ .long 0x1ae9 ++ .long 0x5973 ++ .long 0x598a ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5961 ++ .uleb128 0x87 ++ .long .LASF885 ++ .byte 0x2 ++ .byte 0xb4 ++ .byte 0x10 ++ .long 0x1adc ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2b6d ++ .long 0x5998 ++ .byte 0x2 ++ .long 0x59ab ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5831 ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x598a ++ .long .LASF887 ++ .long 0x59bc ++ .long 0x59c2 ++ .uleb128 0xd ++ .long 0x5998 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x598a ++ .long .LASF888 ++ .long 0x59d3 ++ .long 0x59d9 ++ .uleb128 0xd ++ .long 0x5998 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x1b08 ++ .long 0x59e7 ++ .byte 0x2 ++ .long 0x59fd ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x51dc ++ .uleb128 0x35 ++ .long .LASF889 ++ .byte 0x2 ++ .byte 0x6f ++ .byte 0x2a ++ .long 0x2a28 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x59d9 ++ .long .LASF890 ++ .long 0x5a0e ++ .long 0x5a19 ++ .uleb128 0xd ++ .long 0x59e7 ++ .uleb128 0xd ++ .long 0x59f0 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2a6f ++ .uleb128 0xa ++ .long 0x5a19 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x493d ++ .uleb128 0xa ++ .long 0x5a24 ++ .uleb128 0xb ++ .long 0x2a78 ++ .long 0x5a3d ++ .byte 0x2 ++ .long 0x5a59 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5a1f ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .uleb128 0x7 ++ .long .LASF891 ++ .long 0x5a2a ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5a2f ++ .long .LASF892 ++ .long 0x5a6a ++ .long 0x5a75 ++ .uleb128 0xd ++ .long 0x5a3d ++ .uleb128 0xd ++ .long 0x5a4f ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2aa2 ++ .long 0x5a83 ++ .byte 0x2 ++ .long 0x5a9f ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5a1f ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .uleb128 0x7 ++ .long .LASF891 ++ .long 0x5a2a ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5a75 ++ .long .LASF893 ++ .long 0x5ab0 ++ .long 0x5abb ++ .uleb128 0xd ++ .long 0x5a83 ++ .uleb128 0xd ++ .long 0x5a95 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x2dd9 ++ .uleb128 0xa ++ .long 0x5abb ++ .uleb128 0xb ++ .long 0x2de2 ++ .long 0x5ad4 ++ .byte 0x2 ++ .long 0x5ae7 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5ac1 ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5ac6 ++ .long .LASF894 ++ .long 0x5af8 ++ .long 0x5afe ++ .uleb128 0xd ++ .long 0x5ad4 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5ac6 ++ .long .LASF895 ++ .long 0x5b0f ++ .long 0x5b15 ++ .uleb128 0xd ++ .long 0x5ad4 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2e08 ++ .long 0x5b23 ++ .byte 0x2 ++ .long 0x5b2d ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5ac1 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5b15 ++ .long .LASF896 ++ .long 0x5b3e ++ .long 0x5b44 ++ .uleb128 0xd ++ .long 0x5b23 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x9fa ++ .long 0x5b52 ++ .byte 0x3 ++ .long 0x5b5c ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x65 ++ .long 0x5b6a ++ .byte 0x2 ++ .long 0x5b8c ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x50f5 ++ .uleb128 0x35 ++ .long .LASF897 ++ .byte 0x3 ++ .byte 0xa0 ++ .byte 0x17 ++ .long 0xd3 ++ .uleb128 0x1f ++ .string "__a" ++ .byte 0x3 ++ .byte 0xa0 ++ .byte 0x2c ++ .long 0x4972 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5b5c ++ .long .LASF898 ++ .long 0x5b9d ++ .long 0x5bad ++ .uleb128 0xd ++ .long 0x5b6a ++ .uleb128 0xd ++ .long 0x5b73 ++ .uleb128 0xd ++ .long 0x5b7f ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2f00 ++ .long 0x5bbb ++ .byte 0x2 ++ .long 0x5bce ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x494a ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5bad ++ .long .LASF899 ++ .long 0x5bdf ++ .long 0x5be5 ++ .uleb128 0xd ++ .long 0x5bbb ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2ec5 ++ .long 0x5bf3 ++ .byte 0x2 ++ .long 0x5bfd ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x494a ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5be5 ++ .long .LASF900 ++ .long 0x5c0e ++ .long 0x5c14 ++ .uleb128 0xd ++ .long 0x5bf3 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x21a ++ .long 0x5c22 ++ .byte 0x3 ++ .long 0x5c38 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x1f ++ .string "__n" ++ .byte 0x3 ++ .byte 0xda ++ .byte 0x1f ++ .long 0x117 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x175 ++ .long 0x5c46 ++ .byte 0x3 ++ .long 0x5c5c ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x35 ++ .long .LASF901 ++ .byte 0x3 ++ .byte 0xba ++ .byte 0x1b ++ .long 0x117 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x239 ++ .long 0x5c6a ++ .byte 0x3 ++ .long 0x5c74 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x89 ++ .long 0x5c82 ++ .byte 0x2 ++ .long 0x5ca4 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x50f5 ++ .uleb128 0x35 ++ .long .LASF897 ++ .byte 0x3 ++ .byte 0xa3 ++ .byte 0x17 ++ .long 0xd3 ++ .uleb128 0x1f ++ .string "__a" ++ .byte 0x3 ++ .byte 0xa3 ++ .byte 0x27 ++ .long 0x50fa ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5c74 ++ .long .LASF902 ++ .long 0x5cb5 ++ .long 0x5cc5 ++ .uleb128 0xd ++ .long 0x5c82 ++ .uleb128 0xd ++ .long 0x5c8b ++ .uleb128 0xd ++ .long 0x5c97 ++ .byte 0 ++ .uleb128 0x3b ++ .byte 0x8 ++ .long 0x2bf3 ++ .uleb128 0x21 ++ .long 0x2e37 ++ .byte 0x3 ++ .long 0x5ceb ++ .uleb128 0x1a ++ .string "_Tp" ++ .long 0x4978 ++ .uleb128 0x1f ++ .string "__t" ++ .byte 0x1b ++ .byte 0x63 ++ .byte 0x10 ++ .long 0x4978 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x320 ++ .long 0x5cf9 ++ .byte 0x3 ++ .long 0x5d03 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x1b2 ++ .long 0x5d11 ++ .byte 0x3 ++ .long 0x5d1b ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x27f ++ .long 0x5d29 ++ .byte 0x3 ++ .long 0x5d33 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x194 ++ .long 0x5d41 ++ .byte 0x3 ++ .long 0x5d4b ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5121 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1c0f ++ .uleb128 0xa ++ .long 0x5d4b ++ .uleb128 0xb ++ .long 0x1b82 ++ .long 0x5d64 ++ .byte 0x3 ++ .long 0x5d6e ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5d51 ++ .byte 0 ++ .uleb128 0x8 ++ .byte 0x8 ++ .long 0x1b6b ++ .uleb128 0xa ++ .long 0x5d6e ++ .uleb128 0xb ++ .long 0x1ba2 ++ .long 0x5d87 ++ .byte 0x2 ++ .long 0x5da3 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5d74 ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .uleb128 0x7 ++ .long .LASF891 ++ .long 0x5a2a ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5d79 ++ .long .LASF903 ++ .long 0x5db4 ++ .long 0x5dba ++ .uleb128 0xd ++ .long 0x5d87 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5d79 ++ .long .LASF904 ++ .long 0x5dcb ++ .long 0x5dd1 ++ .uleb128 0xd ++ .long 0x5d87 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x1bcd ++ .long 0x5ddf ++ .byte 0x2 ++ .long 0x5dfb ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5d74 ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .uleb128 0x7 ++ .long .LASF891 ++ .long 0x5a2a ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5dd1 ++ .long .LASF905 ++ .long 0x5e0c ++ .long 0x5e12 ++ .uleb128 0xd ++ .long 0x5ddf ++ .byte 0 ++ .uleb128 0x5b ++ .long 0x1b28 ++ .byte 0x2 ++ .byte 0x41 ++ .byte 0xb ++ .long 0x5e23 ++ .byte 0x2 ++ .long 0x5e36 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x51dc ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5e12 ++ .long .LASF906 ++ .long 0x5e47 ++ .long 0x5e4d ++ .uleb128 0xd ++ .long 0x5e23 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5e12 ++ .long .LASF907 ++ .long 0x5e5e ++ .long 0x5e64 ++ .uleb128 0xd ++ .long 0x5e23 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2583 ++ .long 0x5e72 ++ .byte 0x2 ++ .long 0x5e85 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x496d ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5e64 ++ .long .LASF908 ++ .long 0x5e96 ++ .long 0x5e9c ++ .uleb128 0xd ++ .long 0x5e72 ++ .byte 0 ++ .uleb128 0xb ++ .long 0x2523 ++ .long 0x5eaa ++ .byte 0x2 ++ .long 0x5eb4 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x496d ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5e9c ++ .long .LASF909 ++ .long 0x5ec5 ++ .long 0x5ecb ++ .uleb128 0xd ++ .long 0x5eaa ++ .byte 0 ++ .uleb128 0xb ++ .long 0x786 ++ .long 0x5ed9 ++ .byte 0x2 ++ .long 0x5eec ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x5116 ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5ecb ++ .long .LASF910 ++ .long 0x5efd ++ .long 0x5f03 ++ .uleb128 0xd ++ .long 0x5ed9 ++ .byte 0 ++ .uleb128 0x5b ++ .long 0xba ++ .byte 0x3 ++ .byte 0x9a ++ .byte 0xe ++ .long 0x5f14 ++ .byte 0x2 ++ .long 0x5f27 ++ .uleb128 0x7 ++ .long .LASF862 ++ .long 0x50f5 ++ .uleb128 0x7 ++ .long .LASF886 ++ .long 0x39f2 ++ .byte 0 ++ .uleb128 0x12 ++ .long 0x5f03 ++ .long .LASF911 ++ .long 0x5f38 ++ .long 0x5f3e ++ .uleb128 0xd ++ .long 0x5f14 ++ .byte 0 ++ .uleb128 0x88 ++ .long .LASF912 ++ .byte 0x1 ++ .byte 0x21 ++ .byte 0x1 ++ .long 0x39eb ++ .quad .LFB1647 ++ .quad .LFE1647-.LFB1647 ++ .uleb128 0x1 ++ .byte 0x9c ++ .long 0x5f7b ++ .uleb128 0x45 ++ .quad .LVL12 ++ .long 0x5f7b ++ .uleb128 0x89 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x91 ++ .sleb128 -28 ++ .uleb128 0x3 ++ .byte 0xa ++ .value 0x4d2 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8a ++ .long .LASF935 ++ .byte 0x1 ++ .byte 0x1a ++ .byte 0x1 ++ .quad .LFB1646 ++ .quad .LFE1646-.LFB1646 ++ .uleb128 0x1 ++ .byte 0x9c ++ .long 0x60a8 ++ .uleb128 0x8b ++ .string "t" ++ .byte 0x1 ++ .byte 0x1a ++ .byte 0x13 ++ .long 0x60a8 ++ .long .LLST0 ++ .long .LVUS0 ++ .uleb128 0x8c ++ .string "oss" ++ .byte 0x1 ++ .byte 0x1c ++ .byte 0x16 ++ .long 0x2e5a ++ .uleb128 0x3 ++ .byte 0x91 ++ .sleb128 -416 ++ .uleb128 0x8d ++ .long 0x5d56 ++ .quad .LBI403 ++ .byte .LVU8 ++ .quad .LBB403 ++ .quad .LBE403-.LBB403 ++ .byte 0x1 ++ .byte 0x1d ++ .byte 0x12 ++ .long 0x600e ++ .uleb128 0x8e ++ .long 0x5d64 ++ .long .LLST1 ++ .long .LVUS1 ++ .uleb128 0x45 ++ .quad .LVL5 ++ .long 0x5966 ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x73 ++ .sleb128 0 ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x54 ++ .uleb128 0x3 ++ .byte 0x91 ++ .sleb128 -408 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x36 ++ .quad .LVL2 ++ .long 0x5dfb ++ .long 0x6026 ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x77 ++ .sleb128 0 ++ .byte 0 ++ .uleb128 0x36 ++ .quad .LVL3 ++ .long 0x60d3 ++ .long 0x603e ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x8 ++ .byte 0x20 ++ .byte 0 ++ .uleb128 0x36 ++ .quad .LVL6 ++ .long 0x60dc ++ .long 0x6063 ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x73 ++ .sleb128 0 ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x54 ++ .uleb128 0x9 ++ .byte 0x3 ++ .quad _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE ++ .byte 0 ++ .uleb128 0x36 ++ .quad .LVL8 ++ .long 0x60e5 ++ .long 0x607b ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x73 ++ .sleb128 0 ++ .byte 0 ++ .uleb128 0x36 ++ .quad .LVL10 ++ .long 0x5dba ++ .long 0x6093 ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x77 ++ .sleb128 0 ++ .byte 0 ++ .uleb128 0x45 ++ .quad .LVL11 ++ .long 0x60ee ++ .uleb128 0x26 ++ .uleb128 0x1 ++ .byte 0x55 ++ .uleb128 0x2 ++ .byte 0x73 ++ .sleb128 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x11 ++ .byte 0x8 ++ .long 0x51ed ++ .uleb128 0x21 ++ .long 0x222c ++ .byte 0x3 ++ .long 0x60d3 ++ .uleb128 0x17 ++ .long .LASF913 ++ .byte 0xb ++ .value 0x12b ++ .byte 0x19 ++ .long 0x4502 ++ .uleb128 0x17 ++ .long .LASF914 ++ .byte 0xb ++ .value 0x12b ++ .byte 0x30 ++ .long 0x4508 ++ .byte 0 ++ .uleb128 0x3d ++ .long .LASF915 ++ .long .LASF915 ++ .uleb128 0x3d ++ .long .LASF916 ++ .long .LASF916 ++ .uleb128 0x3d ++ .long .LASF917 ++ .long .LASF917 ++ .uleb128 0x3d ++ .long .LASF918 ++ .long .LASF919 ++ .byte 0 ++ .section .debug_abbrev,"",@progbits ++.Ldebug_abbrev0: ++ .uleb128 0x1 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8 ++ .uleb128 0xf ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x9 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xa ++ .uleb128 0x26 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xc ++ .uleb128 0x2f ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xd ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xe ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0xf ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x10 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x11 ++ .uleb128 0x10 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x12 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x13 ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x14 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x15 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x16 ++ .uleb128 0x24 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0x3 ++ .uleb128 0xe ++ .byte 0 ++ .byte 0 ++ .uleb128 0x17 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x18 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x19 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1a ++ .uleb128 0x2f ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1b ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1c ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x1c ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1d ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1e ++ .uleb128 0x8 ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x1f ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x20 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x21 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x22 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x23 ++ .uleb128 0x28 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x24 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x25 ++ .uleb128 0x2f ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x1e ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x26 ++ .uleb128 0x410a ++ .byte 0 ++ .uleb128 0x2 ++ .uleb128 0x18 ++ .uleb128 0x2111 ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x27 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x28 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x29 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2a ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2b ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2c ++ .uleb128 0x2 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2d ++ .uleb128 0x1 ++ .byte 0x1 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2e ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x2f ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x30 ++ .uleb128 0x2 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x31 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x32 ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x33 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x34 ++ .uleb128 0x21 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x2f ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x35 ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x36 ++ .uleb128 0x4109 ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x37 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x38 ++ .uleb128 0x3a ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x39 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3b ++ .uleb128 0x42 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3c ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3d ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3 ++ .uleb128 0xe ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3e ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x2 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x40 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x41 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x42 ++ .uleb128 0x13 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x43 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x1c ++ .uleb128 0xd ++ .byte 0 ++ .byte 0 ++ .uleb128 0x44 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x1c ++ .uleb128 0x5 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x45 ++ .uleb128 0x4109 ++ .byte 0x1 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x46 ++ .uleb128 0x39 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x89 ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x1c ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x48 ++ .uleb128 0x17 ++ .byte 0x1 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4a ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x4c ++ .uleb128 0xb ++ .uleb128 0x1d ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4b ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x8b ++ .uleb128 0xb ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4c ++ .uleb128 0x39 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4d ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x6c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4e ++ .uleb128 0x30 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x1c ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x4f ++ .uleb128 0x39 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x50 ++ .uleb128 0x39 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x51 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x52 ++ .uleb128 0x39 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x89 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x53 ++ .uleb128 0x3a ++ .byte 0 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x18 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x54 ++ .uleb128 0x28 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0x6 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x55 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x4c ++ .uleb128 0xb ++ .uleb128 0x1d ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x56 ++ .uleb128 0x4 ++ .byte 0x1 ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x57 ++ .uleb128 0x2 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x58 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x59 ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5a ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5b ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x20 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5c ++ .uleb128 0x11 ++ .byte 0x1 ++ .uleb128 0x25 ++ .uleb128 0xe ++ .uleb128 0x13 ++ .uleb128 0xb ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x1b ++ .uleb128 0xe ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x10 ++ .uleb128 0x17 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5d ++ .uleb128 0x39 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5e ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x5f ++ .uleb128 0x4 ++ .byte 0x1 ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x60 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x61 ++ .uleb128 0xd ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x62 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x63 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x4c ++ .uleb128 0xb ++ .uleb128 0x1d ++ .uleb128 0x13 ++ .uleb128 0x34 ++ .uleb128 0x19 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x64 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x65 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x66 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x63 ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x67 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x68 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x87 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x69 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1c ++ .uleb128 0xa ++ .uleb128 0x6c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6a ++ .uleb128 0x13 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6b ++ .uleb128 0x2e ++ .byte 0 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6c ++ .uleb128 0x1c ++ .byte 0 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x38 ++ .uleb128 0xb ++ .uleb128 0x32 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6d ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x8b ++ .uleb128 0xb ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x32 ++ .uleb128 0xb ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x64 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x6f ++ .uleb128 0x39 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x89 ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x70 ++ .uleb128 0x4 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x71 ++ .uleb128 0x28 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x1c ++ .uleb128 0xd ++ .byte 0 ++ .byte 0 ++ .uleb128 0x72 ++ .uleb128 0x39 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x73 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x74 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x75 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x76 ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x77 ++ .uleb128 0xf ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x78 ++ .uleb128 0x24 ++ .byte 0 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3e ++ .uleb128 0xb ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x79 ++ .uleb128 0x13 ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0xb ++ .uleb128 0xb ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7a ++ .uleb128 0x3b ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7b ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7c ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7d ++ .uleb128 0x26 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7e ++ .uleb128 0x15 ++ .byte 0x1 ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x7f ++ .uleb128 0x15 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x80 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x81 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0x5 ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x87 ++ .uleb128 0x19 ++ .uleb128 0x3c ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x82 ++ .uleb128 0x16 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .byte 0 ++ .byte 0 ++ .uleb128 0x83 ++ .uleb128 0x21 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x84 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x1c ++ .uleb128 0x6 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x85 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x6e ++ .uleb128 0xe ++ .uleb128 0x47 ++ .uleb128 0x13 ++ .uleb128 0x1c ++ .uleb128 0x7 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x86 ++ .uleb128 0xb ++ .byte 0x1 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x87 ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x88 ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3f ++ .uleb128 0x19 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x40 ++ .uleb128 0x18 ++ .uleb128 0x2117 ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x89 ++ .uleb128 0x410a ++ .byte 0 ++ .uleb128 0x2 ++ .uleb128 0x18 ++ .uleb128 0x2111 ++ .uleb128 0x18 ++ .uleb128 0x2112 ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8a ++ .uleb128 0x2e ++ .byte 0x1 ++ .uleb128 0x3 ++ .uleb128 0xe ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x40 ++ .uleb128 0x18 ++ .uleb128 0x2117 ++ .uleb128 0x19 ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8b ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x2 ++ .uleb128 0x17 ++ .uleb128 0x2137 ++ .uleb128 0x17 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8c ++ .uleb128 0x34 ++ .byte 0 ++ .uleb128 0x3 ++ .uleb128 0x8 ++ .uleb128 0x3a ++ .uleb128 0xb ++ .uleb128 0x3b ++ .uleb128 0xb ++ .uleb128 0x39 ++ .uleb128 0xb ++ .uleb128 0x49 ++ .uleb128 0x13 ++ .uleb128 0x2 ++ .uleb128 0x18 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8d ++ .uleb128 0x1d ++ .byte 0x1 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x52 ++ .uleb128 0x1 ++ .uleb128 0x2138 ++ .uleb128 0xb ++ .uleb128 0x11 ++ .uleb128 0x1 ++ .uleb128 0x12 ++ .uleb128 0x7 ++ .uleb128 0x58 ++ .uleb128 0xb ++ .uleb128 0x59 ++ .uleb128 0xb ++ .uleb128 0x57 ++ .uleb128 0xb ++ .uleb128 0x1 ++ .uleb128 0x13 ++ .byte 0 ++ .byte 0 ++ .uleb128 0x8e ++ .uleb128 0x5 ++ .byte 0 ++ .uleb128 0x31 ++ .uleb128 0x13 ++ .uleb128 0x2 ++ .uleb128 0x17 ++ .uleb128 0x2137 ++ .uleb128 0x17 ++ .byte 0 ++ .byte 0 ++ .byte 0 ++ .section .debug_loc,"",@progbits ++.Ldebug_loc0: ++.LVUS0: ++ .uleb128 0 ++ .uleb128 .LVU5 ++ .uleb128 .LVU5 ++ .uleb128 0 ++.LLST0: ++ .quad .LVL0-.Ltext0 ++ .quad .LVL1-.Ltext0 ++ .value 0x1 ++ .byte 0x55 ++ .quad .LVL1-.Ltext0 ++ .quad .LFE1646-.Ltext0 ++ .value 0x4 ++ .byte 0xf3 ++ .uleb128 0x1 ++ .byte 0x55 ++ .byte 0x9f ++ .quad 0 ++ .quad 0 ++.LVUS1: ++ .uleb128 .LVU8 ++ .uleb128 .LVU10 ++ .uleb128 .LVU12 ++ .uleb128 .LVU14 ++.LLST1: ++ .quad .LVL4-.Ltext0 ++ .quad .LVL5-.Ltext0 ++ .value 0x1 ++ .byte 0x57 ++ .quad .LVL7-.Ltext0 ++ .quad .LVL9-.Ltext0 ++ .value 0x1 ++ .byte 0x57 ++ .quad 0 ++ .quad 0 ++ .section .debug_aranges,"",@progbits ++ .long 0x2c ++ .value 0x2 ++ .long .Ldebug_info0 ++ .byte 0x8 ++ .byte 0 ++ .value 0 ++ .value 0 ++ .quad .Ltext0 ++ .quad .Letext0-.Ltext0 ++ .quad 0 ++ .quad 0 ++ .section .debug_line,"",@progbits ++.Ldebug_line0: ++ .section .debug_str,"MS",@progbits,1 ++.LASF739: ++ .string "int_p_sep_by_space" ++.LASF920: ++ .string "GNU C++14 9.4.0 -mtune=generic -march=x86-64 -g -O1 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection" ++.LASF547: ++ .string "char" ++.LASF487: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEixEl" ++.LASF810: ++ .string "fgetc" ++.LASF691: ++ .string "int8_t" ++.LASF485: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEv" ++.LASF261: ++ .string "basic_ostringstream, std::allocator >" ++.LASF307: ++ .string "size_t" ++.LASF31: ++ .string "_M_construct_aux_2" ++.LASF812: ++ .string "fgets" ++.LASF622: ++ .string "tm_hour" ++.LASF416: ++ .string "__value" ++.LASF910: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev" ++.LASF381: ++ .string "_S_ios_openmode_min" ++.LASF406: ++ .string "conditional" ++.LASF450: ++ .string "__numeric_traits_integer" ++.LASF467: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE15_S_always_equalEv" ++.LASF421: ++ .string "_ZSt11__addressofIKcEPT_RS1_" ++.LASF267: ++ .string "basic_string, std::allocator >" ++.LASF396: ++ .string "basic_streambuf" ++.LASF878: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_" ++.LASF795: ++ .string "_IO_codecvt" ++.LASF509: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEplEl" ++.LASF88: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_" ++.LASF470: ++ .string "rebind" ++.LASF842: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE" ++.LASF410: ++ .string "_Ptr" ++.LASF714: ++ .string "uint_fast64_t" ++.LASF112: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv" ++.LASF680: ++ .string "__uint_least8_t" ++.LASF138: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv" ++.LASF295: ++ .string "integral_constant" ++.LASF171: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc" ++.LASF21: ++ .string "_M_set_length" ++.LASF563: ++ .string "_IO_save_end" ++.LASF399: ++ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEED4Ev" ++.LASF921: ++ .string "entry-value-typedef.cpp" ++.LASF459: ++ .string "_S_on_swap" ++.LASF156: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc" ++.LASF784: ++ .string "lldiv" ++.LASF692: ++ .string "int16_t" ++.LASF164: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE" ++.LASF840: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE11__is_signedE" ++.LASF618: ++ .string "wcscspn" ++.LASF746: ++ .string "localeconv" ++.LASF425: ++ .string "_ZSt11__addressofIcEPT_RS0_" ++.LASF271: ++ .string "_M_addref" ++.LASF275: ++ .string "_M_get" ++.LASF677: ++ .string "__int64_t" ++.LASF789: ++ .string "strtold" ++.LASF358: ++ .string "_M_len" ++.LASF786: ++ .string "strtoll" ++.LASF556: ++ .string "_IO_write_base" ++.LASF828: ++ .string "tmpnam" ++.LASF640: ++ .string "wcstol" ++.LASF394: ++ .string "pptr" ++.LASF860: ++ .string "__lhs" ++.LASF365: ++ .string "_ZNKSt16initializer_listIcE3endEv" ++.LASF46: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc" ++.LASF572: ++ .string "_lock" ++.LASF888: ++ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev" ++.LASF723: ++ .string "int_curr_symbol" ++.LASF54: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_" ++.LASF439: ++ .string "new_allocator" ++.LASF877: ++ .string "__last" ++.LASF105: ++ .string "cend" ++.LASF502: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv" ++.LASF40: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc" ++.LASF560: ++ .string "_IO_buf_end" ++.LASF734: ++ .string "n_cs_precedes" ++.LASF390: ++ .string "pbase" ++.LASF561: ++ .string "_IO_save_base" ++.LASF87: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc" ++.LASF361: ++ .string "_ZNSt16initializer_listIcEC4Ev" ++.LASF843: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE" ++.LASF505: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEv" ++.LASF405: ++ .string "iterator_traits" ++.LASF116: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv" ++.LASF766: ++ .string "atoi" ++.LASF903: ++ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev" ++.LASF643: ++ .string "wcsxfrm" ++.LASF785: ++ .string "atoll" ++.LASF730: ++ .string "int_frac_digits" ++.LASF270: ++ .string "_ZNSt15__exception_ptr13exception_ptrC4EPv" ++.LASF473: ++ .string "_M_current" ++.LASF342: ++ .string "_ZNSaIcEaSERKS_" ++.LASF371: ++ .string "string_literals" ++.LASF919: ++ .string "__builtin_unwind_resume" ++.LASF811: ++ .string "fgetpos" ++.LASF791: ++ .string "__pos" ++.LASF565: ++ .string "_chain" ++.LASF616: ++ .string "wcscoll" ++.LASF805: ++ .string "clearerr" ++.LASF305: ++ .string "_ZNKSt17integral_constantIbLb1EEcvbEv" ++.LASF423: ++ .string "_ZSt9addressofIcEPT_RS0_" ++.LASF50: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm" ++.LASF569: ++ .string "_cur_column" ++.LASF890: ++ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode" ++.LASF801: ++ .string "sys_nerr" ++.LASF728: ++ .string "positive_sign" ++.LASF191: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_" ++.LASF483: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEi" ++.LASF544: ++ .string "__wch" ++.LASF140: ++ .string "back" ++.LASF324: ++ .string "_ZNSt11char_traitsIcE4moveEPcPKcm" ++.LASF672: ++ .string "__uint8_t" ++.LASF709: ++ .string "int_fast32_t" ++.LASF135: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm" ++.LASF852: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE11__is_signedE" ++.LASF482: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv" ++.LASF194: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_" ++.LASF28: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv" ++.LASF84: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS3_" ++.LASF47: ++ .string "_S_copy" ++.LASF765: ++ .string "atof" ++.LASF188: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m" ++.LASF845: ++ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIdE16__max_exponent10E" ++.LASF429: ++ .string "_ZNSt9basic_iosIcSt11char_traitsIcEED4Ev" ++.LASF767: ++ .string "atol" ++.LASF367: ++ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" ++.LASF98: ++ .string "const_reverse_iterator" ++.LASF841: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE8__digitsE" ++.LASF8: ++ .string "_M_dataplus" ++.LASF7: ++ .string "_M_p" ++.LASF14: ++ .string "_M_local_data" ++.LASF331: ++ .string "_ZNSt11char_traitsIcE11to_int_typeERKc" ++.LASF251: ++ .string "assign" ++.LASF725: ++ .string "mon_decimal_point" ++.LASF869: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IPcEERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISC_SB_E7__valueES8_E6__typeEEE" ++.LASF442: ++ .string "~new_allocator" ++.LASF641: ++ .string "long int" ++.LASF521: ++ .string "__numeric_traits_floating" ++.LASF282: ++ .string "_ZNSt15__exception_ptr13exception_ptraSERKS0_" ++.LASF386: ++ .string "_ZNSoD4Ev" ++.LASF443: ++ .string "_ZN9__gnu_cxx13new_allocatorIcED4Ev" ++.LASF265: ++ .string "nothrow_t" ++.LASF424: ++ .string "__addressof" ++.LASF523: ++ .string "__numeric_traits_integer" ++.LASF610: ++ .string "vwprintf" ++.LASF70: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_" ++.LASF929: ++ .string "_Ios_Openmode" ++.LASF383: ++ .string "openmode" ++.LASF783: ++ .string "wctomb" ++.LASF911: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD2Ev" ++.LASF329: ++ .string "int_type" ++.LASF356: ++ .string "initializer_list" ++.LASF794: ++ .string "_IO_marker" ++.LASF80: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EOS4_RKS3_" ++.LASF797: ++ .string "fpos_t" ++.LASF123: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv" ++.LASF912: ++ .string "main" ++.LASF740: ++ .string "int_n_cs_precedes" ++.LASF220: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm" ++.LASF835: ++ .string "towctrans" ++.LASF24: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv" ++.LASF60: ++ .string "_S_compare" ++.LASF202: ++ .string "copy" ++.LASF775: ++ .string "rand" ++.LASF339: ++ .string "_ZNSaIcEC4Ev" ++.LASF508: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEpLEl" ++.LASF199: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm" ++.LASF319: ++ .string "_ZNSt11char_traitsIcE2ltERKcS2_" ++.LASF93: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv" ++.LASF45: ++ .string "_M_disjunct" ++.LASF885: ++ .string "__ret" ++.LASF737: ++ .string "n_sign_posn" ++.LASF197: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc" ++.LASF294: ++ .string "nullptr_t" ++.LASF904: ++ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev" ++.LASF259: ++ .string "~basic_stringbuf" ++.LASF520: ++ .string "__numeric_traits_floating" ++.LASF165: ++ .string "insert" ++.LASF455: ++ .string "_Value" ++.LASF41: ++ .string "_M_check_length" ++.LASF139: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv" ++.LASF4: ++ .string "_M_allocated_capacity" ++.LASF35: ++ .string "allocator_type" ++.LASF706: ++ .string "uint_least64_t" ++.LASF931: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE10_S_on_swapERS1_S3_" ++.LASF229: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm" ++.LASF224: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm" ++.LASF627: ++ .string "tm_yday" ++.LASF787: ++ .string "strtoull" ++.LASF695: ++ .string "uint8_t" ++.LASF477: ++ .string "operator*" ++.LASF489: ++ .string "operator+" ++.LASF493: ++ .string "operator-" ++.LASF184: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm" ++.LASF749: ++ .string "__timezone" ++.LASF478: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv" ++.LASF822: ++ .string "remove" ++.LASF796: ++ .string "_IO_wide_data" ++.LASF384: ++ .string "basic_ostream >" ++.LASF832: ++ .string "wctype_t" ++.LASF83: ++ .string "operator=" ++.LASF690: ++ .string "__off64_t" ++.LASF602: ++ .string "__isoc99_swscanf" ++.LASF584: ++ .string "fgetwc" ++.LASF745: ++ .string "getwchar" ++.LASF225: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm" ++.LASF902: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_" ++.LASF248: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc" ++.LASF120: ++ .string "shrink_to_fit" ++.LASF407: ++ .string "pointer_traits" ++.LASF317: ++ .string "char_type" ++.LASF663: ++ .string "unsigned char" ++.LASF682: ++ .string "__uint_least16_t" ++.LASF664: ++ .string "__int128 unsigned" ++.LASF119: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm" ++.LASF897: ++ .string "__dat" ++.LASF735: ++ .string "n_sep_by_space" ++.LASF9: ++ .string "_M_string_length" ++.LASF451: ++ .string "__is_signed" ++.LASF806: ++ .string "fclose" ++.LASF656: ++ .string "wmemchr" ++.LASF668: ++ .string "char16_t" ++.LASF924: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD4Ev" ++.LASF626: ++ .string "tm_wday" ++.LASF446: ++ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERKc" ++.LASF854: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE" ++.LASF701: ++ .string "int_least32_t" ++.LASF592: ++ .string "__isoc99_fwscanf" ++.LASF245: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_" ++.LASF900: ++ .string "_ZN9__gnu_cxx13new_allocatorIcEC2Ev" ++.LASF615: ++ .string "wcscmp" ++.LASF379: ++ .string "_S_ios_openmode_end" ++.LASF777: ++ .string "srand" ++.LASF391: ++ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv" ++.LASF334: ++ .string "not_eof" ++.LASF600: ++ .string "swprintf" ++.LASF64: ++ .string "_M_mutate" ++.LASF192: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_" ++.LASF417: ++ .string "__are_same" ++.LASF170: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm" ++.LASF747: ++ .string "__tzname" ++.LASF653: ++ .string "wcspbrk" ++.LASF530: ++ .string "_IteratorL" ++.LASF144: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_" ++.LASF206: ++ .string "c_str" ++.LASF652: ++ .string "wcschr" ++.LASF42: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc" ++.LASF146: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc" ++.LASF377: ++ .string "_S_out" ++.LASF236: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm" ++.LASF927: ++ .string "input_iterator_tag" ++.LASF464: ++ .string "_S_propagate_on_swap" ++.LASF438: ++ .string "new_allocator" ++.LASF526: ++ .string "operator- >" ++.LASF770: ++ .string "ldiv" ++.LASF86: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc" ++.LASF875: ++ .string "__ptr" ++.LASF819: ++ .string "getc" ++.LASF373: ++ .string "_S_app" ++.LASF549: ++ .string "mbstate_t" ++.LASF713: ++ .string "uint_fast32_t" ++.LASF153: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc" ++.LASF205: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_" ++.LASF63: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_" ++.LASF837: ++ .string "wctype" ++.LASF908: ++ .string "_ZNSaIcED2Ev" ++.LASF705: ++ .string "uint_least32_t" ++.LASF510: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmIEl" ++.LASF291: ++ .string "rethrow_exception" ++.LASF122: ++ .string "capacity" ++.LASF117: ++ .string "resize" ++.LASF934: ++ .string "_IO_lock_t" ++.LASF422: ++ .string "addressof" ++.LASF674: ++ .string "__uint16_t" ++.LASF839: ++ .string "_ZNSt17integral_constantIbLb1EE5valueE" ++.LASF219: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm" ++.LASF186: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc" ++.LASF348: ++ .string "_ZNSt16allocator_traitsISaIcEE8allocateERS0_mPKv" ++.LASF922: ++ .string "/home/smarchi/src/binutils-gdb/gdb/testsuite/gdb.dwarf2" ++.LASF264: ++ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC4Ev" ++.LASF647: ++ .string "wmemmove" ++.LASF172: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc" ++.LASF118: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc" ++.LASF125: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm" ++.LASF471: ++ .string "other" ++.LASF879: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev" ++.LASF755: ++ .string "5div_t" ++.LASF752: ++ .string "timezone" ++.LASF475: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4Ev" ++.LASF346: ++ .string "allocate" ++.LASF454: ++ .string "__min" ++.LASF181: ++ .string "replace" ++.LASF621: ++ .string "tm_min" ++.LASF126: ++ .string "clear" ++.LASF269: ++ .string "_M_exception_object" ++.LASF553: ++ .string "_IO_read_ptr" ++.LASF650: ++ .string "wscanf" ++.LASF66: ++ .string "_M_erase" ++.LASF726: ++ .string "mon_thousands_sep" ++.LASF603: ++ .string "ungetwc" ++.LASF539: ++ .string "fp_offset" ++.LASF818: ++ .string "ftell" ++.LASF336: ++ .string "ptrdiff_t" ++.LASF350: ++ .string "deallocate" ++.LASF299: ++ .string "operator std::integral_constant::value_type" ++.LASF185: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc" ++.LASF594: ++ .string "mbrlen" ++.LASF412: ++ .string "conditional" ++.LASF798: ++ .string "stdin" ++.LASF729: ++ .string "negative_sign" ++.LASF18: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv" ++.LASF894: ++ .string "_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev" ++.LASF182: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_" ++.LASF802: ++ .string "sys_errlist" ++.LASF738: ++ .string "int_p_cs_precedes" ++.LASF58: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_" ++.LASF5: ++ .string "pointer" ++.LASF799: ++ .string "stdout" ++.LASF227: ++ .string "find_last_of" ++.LASF95: ++ .string "reverse_iterator" ++.LASF148: ++ .string "append" ++.LASF564: ++ .string "_markers" ++.LASF345: ++ .string "allocator_traits >" ++.LASF660: ++ .string "wcstoull" ++.LASF846: ++ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIeE16__max_exponent10E" ++.LASF244: ++ .string "compare" ++.LASF790: ++ .string "_G_fpos_t" ++.LASF686: ++ .string "__uint_least64_t" ++.LASF230: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm" ++.LASF617: ++ .string "wcscpy" ++.LASF629: ++ .string "tm_gmtoff" ++.LASF907: ++ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev" ++.LASF254: ++ .string "_CharT" ++.LASF293: ++ .string "_Char_alloc_type" ++.LASF281: ++ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC4ESt13_Ios_Openmode" ++.LASF162: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc" ++.LASF55: ++ .string "iterator" ++.LASF303: ++ .string "integral_constant" ++.LASF780: ++ .string "strtoul" ++.LASF304: ++ .string "operator std::integral_constant::value_type" ++.LASF32: ++ .string "_M_construct" ++.LASF447: ++ .string "_ZN9__gnu_cxx13new_allocatorIcE8allocateEmPKv" ++.LASF648: ++ .string "wmemset" ++.LASF286: ++ .string "_ZNSt15__exception_ptr13exception_ptr4swapERS0_" ++.LASF612: ++ .string "__isoc99_vwscanf" ++.LASF290: ++ .string "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv" ++.LASF589: ++ .string "fwide" ++.LASF353: ++ .string "select_on_container_copy_construction" ++.LASF590: ++ .string "fwprintf" ++.LASF654: ++ .string "wcsrchr" ++.LASF110: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv" ++.LASF689: ++ .string "__off_t" ++.LASF901: ++ .string "__length" ++.LASF262: ++ .string "_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv" ++.LASF671: ++ .string "__int8_t" ++.LASF830: ++ .string "program_invocation_name" ++.LASF36: ++ .string "_M_get_allocator" ++.LASF289: ++ .string "__cxa_exception_type" ++.LASF573: ++ .string "_offset" ++.LASF847: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerImE11__is_signedE" ++.LASF868: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS1_" ++.LASF97: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv" ++.LASF392: ++ .string "egptr" ++.LASF56: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_" ++.LASF634: ++ .string "wcsncpy" ++.LASF826: ++ .string "setvbuf" ++.LASF137: ++ .string "front" ++.LASF249: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc" ++.LASF252: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignIPcvEERS4_T_S8_" ++.LASF599: ++ .string "putwchar" ++.LASF233: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m" ++.LASF49: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm" ++.LASF844: ++ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIfE16__max_exponent10E" ++.LASF283: ++ .string "_ZNSt15__exception_ptr13exception_ptraSEOS0_" ++.LASF500: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4ERKS2_" ++.LASF645: ++ .string "wmemcmp" ++.LASF374: ++ .string "_S_ate" ++.LASF325: ++ .string "_ZNSt11char_traitsIcE4copyEPcPKcm" ++.LASF130: ++ .string "const_reference" ++.LASF212: ++ .string "find" ++.LASF814: ++ .string "fread" ++.LASF89: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE" ++.LASF145: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc" ++.LASF678: ++ .string "__uint64_t" ++.LASF166: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc" ++.LASF769: ++ .string "getenv" ++.LASF33: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc" ++.LASF704: ++ .string "uint_least16_t" ++.LASF323: ++ .string "move" ++.LASF537: ++ .string "long unsigned int" ++.LASF85: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_" ++.LASF277: ++ .string "_ZNSt15__exception_ptr13exception_ptrC4Ev" ++.LASF375: ++ .string "_S_bin" ++.LASF92: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv" ++.LASF149: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_" ++.LASF133: ++ .string "reference" ++.LASF273: ++ .string "_M_release" ++.LASF134: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm" ++.LASF312: ++ .string "nothrow" ++.LASF567: ++ .string "_flags2" ++.LASF3: ++ .string "_M_local_buf" ++.LASF413: ++ .string "pointer_traits" ++.LASF444: ++ .string "address" ++.LASF173: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc" ++.LASF465: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE20_S_propagate_on_swapEv" ++.LASF670: ++ .string "__gnu_debug" ++.LASF684: ++ .string "__uint_least32_t" ++.LASF727: ++ .string "mon_grouping" ++.LASF758: ++ .string "6ldiv_t" ++.LASF555: ++ .string "_IO_read_base" ++.LASF131: ++ .string "operator[]" ++.LASF702: ++ .string "int_least64_t" ++.LASF541: ++ .string "reg_save_area" ++.LASF155: ++ .string "push_back" ++.LASF460: ++ .string "_S_propagate_on_copy_assign" ++.LASF26: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm" ++.LASF862: ++ .string "this" ++.LASF310: ++ .string "piecewise_construct_t" ++.LASF13: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm" ++.LASF580: ++ .string "_unused2" ++.LASF231: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm" ++.LASF655: ++ .string "wcsstr" ++.LASF782: ++ .string "wcstombs" ++.LASF115: ++ .string "max_size" ++.LASF861: ++ .string "__rhs" ++.LASF298: ++ .string "value_type" ++.LASF234: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm" ++.LASF716: ++ .string "uintptr_t" ++.LASF401: ++ .string "difference_type" ++.LASF415: ++ .string "__are_same" ++.LASF332: ++ .string "eq_int_type" ++.LASF106: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv" ++.LASF276: ++ .string "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv" ++.LASF0: ++ .string "_Alloc_hider" ++.LASF533: ++ .string "__float128" ++.LASF142: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv" ++.LASF430: ++ .string "basic_ios" ++.LASF395: ++ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv" ++.LASF915: ++ .string "__cxa_allocate_exception" ++.LASF167: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EESt16initializer_listIcE" ++.LASF913: ++ .string "__c1" ++.LASF914: ++ .string "__c2" ++.LASF838: ++ .string "_ZNSt17integral_constantIbLb0EE5valueE" ++.LASF341: ++ .string "_ZNKSt15__exception_ptr13exception_ptrcvbEv" ++.LASF817: ++ .string "fsetpos" ++.LASF354: ++ .string "_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_" ++.LASF65: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm" ++.LASF378: ++ .string "_S_trunc" ++.LASF515: ++ .string "_Iter" ++.LASF741: ++ .string "int_n_sep_by_space" ++.LASF255: ++ .string "_Traits" ++.LASF604: ++ .string "vfwprintf" ++.LASF300: ++ .string "_ZNKSt17integral_constantIbLb0EEcvbEv" ++.LASF160: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm" ++.LASF480: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv" ++.LASF127: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv" ++.LASF761: ++ .string "lldiv_t" ++.LASF237: ++ .string "find_last_not_of" ++.LASF476: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4ERKS1_" ++.LASF514: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4IPcEERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISC_SB_E7__valueES8_E6__typeEEE" ++.LASF857: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE8__digitsE" ++.LASF883: ++ .string "_ZNSaIcEC2ERKS_" ++.LASF676: ++ .string "__uint32_t" ++.LASF803: ++ .string "_sys_nerr" ++.LASF448: ++ .string "_ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcm" ++.LASF659: ++ .string "long long int" ++.LASF433: ++ .string "_ZSt4moveIRSaIcEEONSt16remove_referenceIT_E4typeEOS3_" ++.LASF548: ++ .string "__mbstate_t" ++.LASF898: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_" ++.LASF519: ++ .string "__max_exponent10" ++.LASF646: ++ .string "wmemcpy" ++.LASF624: ++ .string "tm_mon" ++.LASF891: ++ .string "__vtt_parm" ++.LASF278: ++ .string "_ZNSt15__exception_ptr13exception_ptrC4ERKS0_" ++.LASF637: ++ .string "wcstod" ++.LASF352: ++ .string "_ZNSt16allocator_traitsISaIcEE8max_sizeERKS0_" ++.LASF923: ++ .string "~_Alloc_hider" ++.LASF638: ++ .string "wcstof" ++.LASF161: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm" ++.LASF19: ++ .string "_M_capacity" ++.LASF576: ++ .string "_freeres_list" ++.LASF102: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv" ++.LASF518: ++ .string "__digits10" ++.LASF253: ++ .string "_InputIterator" ++.LASF189: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_" ++.LASF535: ++ .string "double" ++.LASF322: ++ .string "_ZNSt11char_traitsIcE4findEPKcmRS1_" ++.LASF773: ++ .string "mbtowc" ++.LASF558: ++ .string "_IO_write_end" ++.LASF388: ++ .string "_ZNSoC4Ev" ++.LASF94: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv" ++.LASF25: ++ .string "_M_create" ++.LASF239: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm" ++.LASF203: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm" ++.LASF418: ++ .string "addressof" ++.LASF855: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE" ++.LASF147: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE" ++.LASF718: ++ .string "uintmax_t" ++.LASF313: ++ .string "piecewise_construct" ++.LASF644: ++ .string "wctob" ++.LASF400: ++ .string "iterator_traits" ++.LASF538: ++ .string "gp_offset" ++.LASF506: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEi" ++.LASF575: ++ .string "_wide_data" ++.LASF242: ++ .string "substr" ++.LASF474: ++ .string "__normal_iterator" ++.LASF16: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv" ++.LASF848: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE" ++.LASF693: ++ .string "int32_t" ++.LASF896: ++ .string "_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev" ++.LASF534: ++ .string "float" ++.LASF762: ++ .string "__compar_fn_t" ++.LASF38: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv" ++.LASF933: ++ .string "decltype(nullptr)" ++.LASF268: ++ .string "exception_ptr" ++.LASF736: ++ .string "p_sign_posn" ++.LASF366: ++ .string "type_info" ++.LASF687: ++ .string "__intmax_t" ++.LASF389: ++ .string "basic_streambuf >" ++.LASF559: ++ .string "_IO_buf_base" ++.LASF257: ++ .string "__string_type" ++.LASF494: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmiEl" ++.LASF240: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm" ++.LASF859: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE" ++.LASF62: ++ .string "_M_assign" ++.LASF501: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv" ++.LASF315: ++ .string "char_traits" ++.LASF821: ++ .string "perror" ++.LASF238: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m" ++.LASF73: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_mmRKS3_" ++.LASF715: ++ .string "intptr_t" ++.LASF636: ++ .string "wcsspn" ++.LASF176: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm" ++.LASF217: ++ .string "rfind" ++.LASF288: ++ .string "operator bool" ++.LASF880: ++ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev" ++.LASF44: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm" ++.LASF168: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_" ++.LASF542: ++ .string "unsigned int" ++.LASF568: ++ .string "_old_offset" ++.LASF750: ++ .string "tzname" ++.LASF496: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4baseEv" ++.LASF107: ++ .string "crbegin" ++.LASF578: ++ .string "__pad5" ++.LASF163: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc" ++.LASF497: ++ .string "_Container" ++.LASF209: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv" ++.LASF326: ++ .string "_ZNSt11char_traitsIcE6assignEPcmc" ++.LASF595: ++ .string "mbrtowc" ++.LASF712: ++ .string "uint_fast16_t" ++.LASF328: ++ .string "_ZNSt11char_traitsIcE12to_char_typeERKi" ++.LASF215: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm" ++.LASF235: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm" ++.LASF360: ++ .string "_ZNSt16initializer_listIcEC4EPKcm" ++.LASF246: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_" ++.LASF781: ++ .string "system" ++.LASF708: ++ .string "int_fast16_t" ++.LASF833: ++ .string "wctrans_t" ++.LASF48: ++ .string "_S_move" ++.LASF207: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv" ++.LASF540: ++ .string "overflow_arg_area" ++.LASF823: ++ .string "rename" ++.LASF96: ++ .string "rbegin" ++.LASF75: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EPKcRKS3_" ++.LASF180: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv" ++.LASF226: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm" ++.LASF552: ++ .string "_flags" ++.LASF831: ++ .string "program_invocation_short_name" ++.LASF870: ++ .string "__off" ++.LASF355: ++ .string "rebind_alloc" ++.LASF74: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EPKcmRKS3_" ++.LASF579: ++ .string "_mode" ++.LASF434: ++ .string "ostringstream" ++.LASF284: ++ .string "~exception_ptr" ++.LASF498: ++ .string "__normal_iterator, std::allocator > >" ++.LASF669: ++ .string "char32_t" ++.LASF720: ++ .string "decimal_point" ++.LASF820: ++ .string "getchar" ++.LASF574: ++ .string "_codecvt" ++.LASF311: ++ .string "_ZNSt21piecewise_construct_tC4Ev" ++.LASF531: ++ .string "_IteratorR" ++.LASF546: ++ .string "__count" ++.LASF436: ++ .string "__gnu_cxx" ++.LASF871: ++ .string "_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_" ++.LASF431: ++ .string "_ZNSt9basic_iosIcSt11char_traitsIcEEC4Ev" ++.LASF874: ++ .string "__alloc" ++.LASF302: ++ .string "_ZNKSt17integral_constantIbLb0EEclEv" ++.LASF662: ++ .string "bool" ++.LASF703: ++ .string "uint_least8_t" ++.LASF807: ++ .string "feof" ++.LASF699: ++ .string "int_least8_t" ++.LASF532: ++ .string "__unknown__" ++.LASF213: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm" ++.LASF899: ++ .string "_ZN9__gnu_cxx13new_allocatorIcED2Ev" ++.LASF583: ++ .string "btowc" ++.LASF776: ++ .string "qsort" ++.LASF633: ++ .string "wcsncmp" ++.LASF333: ++ .string "_ZNSt11char_traitsIcE11eq_int_typeERKiS2_" ++.LASF136: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm" ++.LASF472: ++ .string "__normal_iterator, std::allocator > >" ++.LASF717: ++ .string "intmax_t" ++.LASF488: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEpLEl" ++.LASF536: ++ .string "long double" ++.LASF528: ++ .string "operator- >" ++.LASF440: ++ .string "_ZN9__gnu_cxx13new_allocatorIcEC4Ev" ++.LASF598: ++ .string "putwc" ++.LASF174: ++ .string "__const_iterator" ++.LASF124: ++ .string "reserve" ++.LASF517: ++ .string "__max_digits10" ++.LASF884: ++ .string "__size" ++.LASF53: ++ .string "_S_copy_chars" ++.LASF504: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEi" ++.LASF581: ++ .string "FILE" ++.LASF362: ++ .string "_ZNKSt16initializer_listIcE4sizeEv" ++.LASF525: ++ .string "__numeric_traits_integer" ++.LASF216: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm" ++.LASF90: ++ .string "begin" ++.LASF158: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_" ++.LASF503: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv" ++.LASF864: ++ .string "__i1" ++.LASF865: ++ .string "__i2" ++.LASF759: ++ .string "ldiv_t" ++.LASF623: ++ .string "tm_mday" ++.LASF222: ++ .string "find_first_of" ++.LASF545: ++ .string "__wchb" ++.LASF169: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm" ++.LASF887: ++ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev" ++.LASF6: ++ .string "size_type" ++.LASF768: ++ .string "bsearch" ++.LASF426: ++ .string "basic_ios >" ++.LASF490: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEplEl" ++.LASF306: ++ .string "_ZNKSt17integral_constantIbLb1EEclEv" ++.LASF159: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_" ++.LASF344: ++ .string "_ZNSaIcED4Ev" ++.LASF61: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm" ++.LASF287: ++ .string "~basic_ostringstream" ++.LASF905: ++ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev" ++.LASF876: ++ .string "__first" ++.LASF111: ++ .string "size" ++.LASF263: ++ .string "basic_ostringstream" ++.LASF551: ++ .string "_IO_FILE" ++.LASF320: ++ .string "_ZNSt11char_traitsIcE7compareEPKcS2_m" ++.LASF711: ++ .string "uint_fast8_t" ++.LASF661: ++ .string "long long unsigned int" ++.LASF926: ++ .string "_ZSt7nothrow" ++.LASF628: ++ .string "tm_isdst" ++.LASF204: ++ .string "swap" ++.LASF513: ++ .string "__normal_iterator" ++.LASF657: ++ .string "wcstold" ++.LASF858: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE" ++.LASF113: ++ .string "length" ++.LASF696: ++ .string "uint16_t" ++.LASF658: ++ .string "wcstoll" ++.LASF69: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4Ev" ++.LASF211: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv" ++.LASF51: ++ .string "_S_assign" ++.LASF201: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm" ++.LASF445: ++ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERc" ++.LASF760: ++ .string "7lldiv_t" ++.LASF851: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE" ++.LASF279: ++ .string "_ZNSt15__exception_ptr13exception_ptrC4EDn" ++.LASF292: ++ .string "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE" ++.LASF297: ++ .string "value" ++.LASF825: ++ .string "setbuf" ++.LASF620: ++ .string "tm_sec" ++.LASF893: ++ .string "_ZNSoC2Ev" ++.LASF404: ++ .string "type" ++.LASF78: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ESt16initializer_listIcERKS3_" ++.LASF635: ++ .string "wcsrtombs" ++.LASF681: ++ .string "__int_least16_t" ++.LASF733: ++ .string "p_sep_by_space" ++.LASF461: ++ .string "_S_propagate_on_move_assign" ++.LASF11: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc" ++.LASF34: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc" ++.LASF402: ++ .string "_Iterator" ++.LASF82: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED4Ev" ++.LASF577: ++ .string "_freeres_buf" ++.LASF458: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_" ++.LASF428: ++ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED4Ev" ++.LASF196: ++ .string "_M_replace_aux" ++.LASF340: ++ .string "_ZNSaIcEC4ERKS_" ++.LASF318: ++ .string "_ZNSt11char_traitsIcE2eqERKcS2_" ++.LASF91: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv" ++.LASF351: ++ .string "_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm" ++.LASF71: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_mRKS3_" ++.LASF481: ++ .string "operator++" ++.LASF67: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm" ++.LASF895: ++ .string "_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev" ++.LASF866: ++ .string "__k1" ++.LASF867: ++ .string "__k2" ++.LASF601: ++ .string "swscanf" ++.LASF301: ++ .string "operator()" ++.LASF452: ++ .string "__digits" ++.LASF129: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv" ++.LASF223: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m" ++.LASF104: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv" ++.LASF639: ++ .string "wcstok" ++.LASF369: ++ .string "__cxx11" ++.LASF700: ++ .string "int_least16_t" ++.LASF121: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv" ++.LASF918: ++ .string "_Unwind_Resume" ++.LASF756: ++ .string "quot" ++.LASF550: ++ .string "__FILE" ++.LASF492: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmIEl" ++.LASF103: ++ .string "cbegin" ++.LASF241: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm" ++.LASF154: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE" ++.LASF673: ++ .string "__int16_t" ++.LASF193: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_" ++.LASF562: ++ .string "_IO_backup_base" ++.LASF744: ++ .string "setlocale" ++.LASF571: ++ .string "_shortbuf" ++.LASF457: ++ .string "_S_select_on_copy" ++.LASF409: ++ .string "_ZNSt14pointer_traitsIPcE10pointer_toERc" ++.LASF925: ++ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED4Ev" ++.LASF609: ++ .string "__isoc99_vswscanf" ++.LASF591: ++ .string "fwscanf" ++.LASF543: ++ .string "wint_t" ++.LASF380: ++ .string "_S_ios_openmode_max" ++.LASF372: ++ .string "_S_local_capacity" ++.LASF343: ++ .string "~allocator" ++.LASF667: ++ .string "__int128" ++.LASF856: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE11__is_signedE" ++.LASF382: ++ .string "ios_base" ++.LASF607: ++ .string "vswprintf" ++.LASF187: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_" ++.LASF441: ++ .string "_ZN9__gnu_cxx13new_allocatorIcEC4ERKS1_" ++.LASF258: ++ .string "basic_stringbuf" ++.LASF20: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm" ++.LASF132: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm" ++.LASF364: ++ .string "_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv" ++.LASF909: ++ .string "_ZNSaIcEC2Ev" ++.LASF357: ++ .string "_M_array" ++.LASF813: ++ .string "fopen" ++.LASF43: ++ .string "_M_limit" ++.LASF338: ++ .string "allocator" ++.LASF836: ++ .string "wctrans" ++.LASF721: ++ .string "thousands_sep" ++.LASF606: ++ .string "__isoc99_vfwscanf" ++.LASF308: ++ .string "__swappable_details" ++.LASF771: ++ .string "mblen" ++.LASF456: ++ .string "__alloc_traits, char>" ++.LASF52: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc" ++.LASF824: ++ .string "rewind" ++.LASF22: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm" ++.LASF427: ++ .string "~basic_ios" ++.LASF529: ++ .string "_ZN9__gnu_cxxmiIPKcPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_17__normal_iteratorIT_T1_EERKNSB_IT0_SD_EE" ++.LASF266: ++ .string "_ZNSt9nothrow_tC4Ev" ++.LASF247: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm" ++.LASF114: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv" ++.LASF72: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_mm" ++.LASF631: ++ .string "wcslen" ++.LASF177: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE" ++.LASF221: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm" ++.LASF27: ++ .string "_M_dispose" ++.LASF917: ++ .string "__cxa_free_exception" ++.LASF337: ++ .string "allocator" ++.LASF778: ++ .string "strtod" ++.LASF330: ++ .string "to_int_type" ++.LASF788: ++ .string "strtof" ++.LASF853: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE8__digitsE" ++.LASF256: ++ .string "_Alloc" ++.LASF327: ++ .string "to_char_type" ++.LASF779: ++ .string "strtol" ++.LASF314: ++ .string "__debug" ++.LASF731: ++ .string "frac_digits" ++.LASF198: ++ .string "_M_replace" ++.LASF808: ++ .string "ferror" ++.LASF724: ++ .string "currency_symbol" ++.LASF800: ++ .string "stderr" ++.LASF666: ++ .string "short int" ++.LASF2: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC4EPcOS3_" ++.LASF10: ++ .string "_M_data" ++.LASF321: ++ .string "_ZNSt11char_traitsIcE6lengthEPKc" ++.LASF872: ++ .string "__testoff" ++.LASF698: ++ .string "uint64_t" ++.LASF619: ++ .string "wcsftime" ++.LASF935: ++ .string "func" ++.LASF260: ++ .string "basic_stringbuf, std::allocator >" ++.LASF57: ++ .string "const_iterator" ++.LASF468: ++ .string "_S_nothrow_move" ++.LASF792: ++ .string "__state" ++.LASF881: ++ .string "__n1" ++.LASF882: ++ .string "__n2" ++.LASF109: ++ .string "crend" ++.LASF816: ++ .string "fseek" ++.LASF463: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE27_S_propagate_on_move_assignEv" ++.LASF763: ++ .string "atexit" ++.LASF228: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m" ++.LASF178: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_" ++.LASF59: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_" ++.LASF101: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv" ++.LASF499: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4Ev" ++.LASF685: ++ .string "__int_least64_t" ++.LASF143: ++ .string "operator+=" ++.LASF570: ++ .string "_vtable_offset" ++.LASF141: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv" ++.LASF466: ++ .string "_S_always_equal" ++.LASF916: ++ .string "__cxa_throw" ++.LASF804: ++ .string "_sys_errlist" ++.LASF183: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm" ++.LASF688: ++ .string "__uintmax_t" ++.LASF76: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EmcRKS3_" ++.LASF512: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4baseEv" ++.LASF316: ++ .string "_ZNSt11char_traitsIcE6assignERcRKc" ++.LASF68: ++ .string "basic_string" ++.LASF398: ++ .string "~basic_streambuf" ++.LASF179: ++ .string "pop_back" ++.LASF39: ++ .string "_M_check" ++.LASF614: ++ .string "wcscat" ++.LASF527: ++ .string "_ZN9__gnu_cxxmiIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSC_SF_" ++.LASF469: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE15_S_nothrow_moveEv" ++.LASF827: ++ .string "tmpfile" ++.LASF408: ++ .string "pointer_to" ++.LASF754: ++ .string "11__mbstate_t" ++.LASF484: ++ .string "operator--" ++.LASF414: ++ .string "_ZNSt14pointer_traitsIPKcE10pointer_toERS0_" ++.LASF742: ++ .string "int_p_sign_posn" ++.LASF665: ++ .string "signed char" ++.LASF850: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE8__digitsE" ++.LASF892: ++ .string "_ZNSoD2Ev" ++.LASF748: ++ .string "__daylight" ++.LASF630: ++ .string "tm_zone" ++.LASF849: ++ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE11__is_signedE" ++.LASF403: ++ .string "remove_reference&>" ++.LASF829: ++ .string "ungetc" ++.LASF150: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm" ++.LASF863: ++ .string "__str" ++.LASF175: ++ .string "erase" ++.LASF611: ++ .string "vwscanf" ++.LASF613: ++ .string "wcrtomb" ++.LASF719: ++ .string "lconv" ++.LASF108: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv" ++.LASF77: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EOS4_" ++.LASF554: ++ .string "_IO_read_end" ++.LASF772: ++ .string "mbstowcs" ++.LASF218: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m" ++.LASF632: ++ .string "wcsncat" ++.LASF524: ++ .string "__numeric_traits_integer" ++.LASF462: ++ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE27_S_propagate_on_copy_assignEv" ++.LASF753: ++ .string "getdate_err" ++.LASF296: ++ .string "npos" ++.LASF81: ++ .string "~basic_string" ++.LASF393: ++ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv" ++.LASF697: ++ .string "uint32_t" ++.LASF743: ++ .string "int_n_sign_posn" ++.LASF491: ++ .string "operator-=" ++.LASF479: ++ .string "operator->" ++.LASF793: ++ .string "__fpos_t" ++.LASF566: ++ .string "_fileno" ++.LASF889: ++ .string "__mode" ++.LASF511: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmiEl" ++.LASF30: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm" ++.LASF651: ++ .string "__isoc99_wscanf" ++.LASF37: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv" ++.LASF588: ++ .string "fputws" ++.LASF507: ++ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEixEl" ++.LASF608: ++ .string "vswscanf" ++.LASF597: ++ .string "mbsrtowcs" ++.LASF516: ++ .string "__numeric_traits_floating" ++.LASF274: ++ .string "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv" ++.LASF232: ++ .string "find_first_not_of" ++.LASF585: ++ .string "fgetws" ++.LASF683: ++ .string "__int_least32_t" ++.LASF370: ++ .string "literals" ++.LASF285: ++ .string "_ZNSt15__exception_ptr13exception_ptrD4Ev" ++.LASF210: ++ .string "get_allocator" ++.LASF387: ++ .string "basic_ostream" ++.LASF707: ++ .string "int_fast8_t" ++.LASF190: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc" ++.LASF99: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv" ++.LASF587: ++ .string "fputwc" ++.LASF732: ++ .string "p_cs_precedes" ++.LASF522: ++ .string "__numeric_traits_integer" ++.LASF625: ++ .string "tm_year" ++.LASF411: ++ .string "__make_not_void" ++.LASF280: ++ .string "_ZNSt15__exception_ptr13exception_ptrC4EOS0_" ++.LASF200: ++ .string "_M_append" ++.LASF582: ++ .string "short unsigned int" ++.LASF195: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE" ++.LASF679: ++ .string "__int_least8_t" ++.LASF495: ++ .string "base" ++.LASF17: ++ .string "const_pointer" ++.LASF764: ++ .string "at_quick_exit" ++.LASF15: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv" ++.LASF419: ++ .string "_ZSt9addressofIKcEPT_RS1_" ++.LASF710: ++ .string "int_fast64_t" ++.LASF437: ++ .string "__ops" ++.LASF1: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC4EPcRKS3_" ++.LASF605: ++ .string "vfwscanf" ++.LASF557: ++ .string "_IO_write_ptr" ++.LASF243: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm" ++.LASF376: ++ .string "_S_in" ++.LASF906: ++ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev" ++.LASF928: ++ .string "_ZNSt11char_traitsIcE3eofEv" ++.LASF435: ++ .string "__exception_ptr" ++.LASF675: ++ .string "__int32_t" ++.LASF694: ++ .string "int64_t" ++.LASF886: ++ .string "__in_chrg" ++.LASF751: ++ .string "daylight" ++.LASF250: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm" ++.LASF309: ++ .string "__swappable_with_details" ++.LASF272: ++ .string "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv" ++.LASF593: ++ .string "getwc" ++.LASF79: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_RKS3_" ++.LASF432: ++ .string "move&>" ++.LASF596: ++ .string "mbsinit" ++.LASF128: ++ .string "empty" ++.LASF368: ++ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" ++.LASF834: ++ .string "iswctype" ++.LASF453: ++ .string "__max" ++.LASF157: ++ .string "assign" ++.LASF722: ++ .string "grouping" ++.LASF12: ++ .string "_M_length" ++.LASF873: ++ .string "__len" ++.LASF29: ++ .string "_M_destroy" ++.LASF397: ++ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEEC4Ev" ++.LASF649: ++ .string "wprintf" ++.LASF208: ++ .string "data" ++.LASF335: ++ .string "_ZNSt11char_traitsIcE7not_eofERKi" ++.LASF809: ++ .string "fflush" ++.LASF100: ++ .string "rend" ++.LASF23: ++ .string "_M_is_local" ++.LASF359: ++ .string "initializer_list" ++.LASF774: ++ .string "quick_exit" ++.LASF586: ++ .string "wchar_t" ++.LASF932: ++ .string "typedef __va_list_tag __va_list_tag" ++.LASF930: ++ .string "_ZN9__gnu_cxx3divExx" ++.LASF385: ++ .string "~basic_ostream" ++.LASF420: ++ .string "__addressof" ++.LASF449: ++ .string "_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv" ++.LASF349: ++ .string "const_void_pointer" ++.LASF347: ++ .string "_ZNSt16allocator_traitsISaIcEE8allocateERS0_m" ++.LASF214: ++ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m" ++.LASF642: ++ .string "wcstoul" ++.LASF363: ++ .string "_ZNKSt16initializer_listIcE5beginEv" ++.LASF757: ++ .string "div_t" ++.LASF815: ++ .string "freopen" ++.LASF151: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm" ++.LASF152: ++ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc" ++.LASF486: ++ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEi" ++ .hidden DW.ref.__gxx_personality_v0 ++ .weak DW.ref.__gxx_personality_v0 ++ .section .data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat ++ .align 8 ++ .type DW.ref.__gxx_personality_v0, @object ++ .size DW.ref.__gxx_personality_v0, 8 ++DW.ref.__gxx_personality_v0: ++ .quad __gxx_personality_v0 ++ .ident "GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0" ++ .section .note.GNU-stack,"",@progbits ++ .section .note.gnu.property,"a" ++ .align 8 ++ .long 1f - 0f ++ .long 4f - 1f ++ .long 5 ++0: ++ .string "GNU" ++1: ++ .align 8 ++ .long 0xc0000002 ++ .long 3f - 2f ++2: ++ .long 0x3 ++3: ++ .align 8 ++4: +diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.cpp b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.cpp +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.cpp +@@ -0,0 +1,36 @@ ++/* Copyright (C) 2022 Free Software Foundation, Inc. ++ ++ This file is part of GDB. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ ++/* This file isn't used by the test. The .S file generated from this .cpp ++ file is. */ ++ ++#include ++ ++using type = int; ++ ++static void ++func (const type &t) ++{ ++ std::ostringstream oss; ++ throw oss.str (); ++} ++ ++int ++main () ++{ ++ func (1234); ++} +diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp +@@ -0,0 +1,45 @@ ++# Copyright 2022 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# The program associated to this test case uncovered a bug in GDB (PR 29374) ++# where a typedef type was used before it was resolved. ++ ++if { [istarget "x86_64-*-linux*"] } { ++ set suffix amd64 ++} elseif { [istarget "aarch64-*-linux*"] } { ++ set suffix aarch64 ++} else { ++ unsupported "unsupported architecture" ++ return ++} ++ ++standard_testfile -$suffix.S ++ ++if {[gdb_compile "$srcdir/$subdir/$srcfile" "$binfile" executable {c++}] != ""} { ++ return ++} ++ ++clean_restart $binfile ++ ++if {![runto_main]} { ++ return ++} ++ ++gdb_test "catch throw" "Catchpoint $::decimal \\(throw\\)" ++gdb_test "continue" "Catchpoint $::decimal \\(exception thrown\\).*" ++ ++# Without the corresponding fix, GDB would hit an internal error before ++# printing the frame for main. ++gdb_test "backtrace" " $::hex in func \\(t=t@entry=@$::hex: 1234\\).* $::hex in main .*" diff --git a/gdb.spec b/gdb.spec index 50e1959..b2093bd 100644 --- a/gdb.spec +++ b/gdb.spec @@ -54,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 13%{?dist} +Release: 14%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1190,6 +1190,11 @@ fi %endif %changelog +* Mon Jan 23 2023 Keith Seitz - 12.1-14 + From Sergey Mende: +- Backport upstream patch "gdb: call check_typedef at beginning of + dwarf_expr_context::fetch_result". (Simon Marchi) + * Fri Jan 20 2023 Kevin Buettner - 12.1-13 - Backport fix for problems associated with GCC 13's self-move warning. (Jan-Benedict Glaw) From 8d8fb49148c9741066d80ab308c4575fa96f9bab Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Mon, 23 Jan 2023 20:12:05 -0700 Subject: [PATCH 26/84] More tweaks to gdb-6.6-buildid-locate-rpm.patch ...in which rpmTag is replaced with rpmDbiTagVal. --- gdb-6.6-buildid-locate.patch | 6 +++--- gdb.spec | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index afe4e58..424681c 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -787,10 +787,10 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + static rpmts (*rpmtsCreate_p) (void); + extern rpmts rpmtsFree(rpmts ts); + static rpmts (*rpmtsFree_p) (rpmts ts); -+ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, ++ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, + const void * keyp, size_t keylen); + static rpmdbMatchIterator (*rpmtsInitIterator_p) (const rpmts ts, -+ rpmTag rpmtag, ++ rpmDbiTagVal rpmtag, + const void *keyp, + size_t keylen); +#else /* !DLOPEN_LIBRPM */ @@ -845,7 +845,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + && (rpmdbNextIterator_p = (Header (*) (rpmdbMatchIterator mi)) dlsym (h, "rpmdbNextIterator")) + && (rpmtsCreate_p = (rpmts (*) (void)) dlsym (h, "rpmtsCreate")) + && (rpmtsFree_p = (rpmts (*) (rpmts ts)) dlsym (h, "rpmtsFree")) -+ && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator")))) ++ && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator")))) + { + warning (_("Opened library \"%s\" is incompatible (%s), " + "missing debuginfos notifications will not be displayed"), diff --git a/gdb.spec b/gdb.spec index b2093bd..dd5edff 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1190,6 +1190,10 @@ fi %endif %changelog +* Mon Jan 23 2023 Kevin Buettner +- More tweaks to gdb-6.6-buildid-locate-rpm.patch, in which rpmTag + is replaced with rpmDbiTagVal. + * Mon Jan 23 2023 Keith Seitz - 12.1-14 From Sergey Mende: - Backport upstream patch "gdb: call check_typedef at beginning of From 06da7ee788eafc182136f1d6b6b6d193051a8337 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 24 Jan 2023 10:03:00 -0800 Subject: [PATCH 27/84] NVR bump for failed infra on -14 build. --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index dd5edff..466837a 100644 --- a/gdb.spec +++ b/gdb.spec @@ -54,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 14%{?dist} +Release: 15%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1190,6 +1190,9 @@ fi %endif %changelog +* Tue Jan 24 2023 Keith Seitz - 12.1-15 +- NVR bump for failed build. + * Mon Jan 23 2023 Kevin Buettner - More tweaks to gdb-6.6-buildid-locate-rpm.patch, in which rpmTag is replaced with rpmDbiTagVal. From 6de2f1fd3243b6ec2d96698d648960df161f00c5 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Mon, 23 Jan 2023 11:20:11 +0100 Subject: [PATCH 28/84] Remove gdb-rhbz1398387-tab-crash-test.patch as that test didn't work anymore --- _gdb.spec.Patch.include | 22 +- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-rhbz1398387-tab-crash-test.patch | 454 --------------------------- gdb.spec | 5 + 5 files changed, 14 insertions(+), 469 deletions(-) delete mode 100644 gdb-rhbz1398387-tab-crash-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 937aeff..e702bc4 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -254,41 +254,37 @@ Patch059: gdb-linux_perf-bundle.patch #=fedora Patch060: gdb-libexec-add-index.patch -# New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). -#=fedoratest -Patch061: gdb-rhbz1398387-tab-crash-test.patch - # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch062: gdb-rhbz1553104-s390x-arch12-test.patch +Patch061: gdb-rhbz1553104-s390x-arch12-test.patch -Patch063: gdb-backport-readline_support.patch +Patch062: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch064: gdb-backport-fix-break-main-file-remove-fail.patch +Patch063: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch065: gdb-sw22395-constify-target_desc.patch +Patch064: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch066: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch065: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch067: gdb-rhbz2152431-label-symbol-value.patch +Patch066: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch068: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch067: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch069: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch068: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch070: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch069: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 5d5a4b5..4ef8e6c 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -67,4 +67,3 @@ %patch067 -p1 %patch068 -p1 %patch069 -p1 -%patch070 -p1 \ No newline at end of file diff --git a/_patch_order b/_patch_order index 1c88718..0ff9dda 100644 --- a/_patch_order +++ b/_patch_order @@ -58,7 +58,6 @@ gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch -gdb-rhbz1398387-tab-crash-test.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-backport-readline_support.patch gdb-backport-fix-break-main-file-remove-fail.patch diff --git a/gdb-rhbz1398387-tab-crash-test.patch b/gdb-rhbz1398387-tab-crash-test.patch deleted file mode 100644 index d0555c0..0000000 --- a/gdb-rhbz1398387-tab-crash-test.patch +++ /dev/null @@ -1,454 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-rhbz1398387-tab-crash-test.patch - -;; New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.base/tab-crash.bz2.uu b/gdb/testsuite/gdb.base/tab-crash.bz2.uu -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/tab-crash.bz2.uu -@@ -0,0 +1,393 @@ -+begin 644 /tmp/libgcc_s-6.3.1-20161221.so.1-objcopyR.debug.bz2 -+M0EIH.3%!6293622@"44`>Q=_____________________________________ -+M________X#\<>SD#OM[7/HAP:R]\H#D"=!/";NP7!]OOJG>U[N;WW'KVV?9I -+M[[,[X.\/;%2U``[[NUM7P^T[U617V#12M]6M7W;M7CZU<=!]/8WL[LI=AZZ> -+MJ5XW;QP]W]DVHY@]/6RS= -+M8[:2][W/F01Z:GIID,IC$GHU-HR$:@T0F -+M@$PC($P"`$PF)D9-&IZFCT-4\$TRI^330-$TR>32>FFF@F!H0GJ>TD_*9!E, -+MR3Q3/11M-,%#T-3:-3T9(P-3T3TT@;1ZD>C1E,AM0:`@@303"`(Q*>FGHU)Z -+MGDFR8FFJ'L5/1C313R3U/*?JF]&35-J!Y3U/TI^1$\IZGFBGJ>HVF4>H])ZA -+MZC)ZFT)H>IH]0>H!H&RC0,F0T9E!HT-`TT`)-1(A$R&J?J3T80]313\F0GHC -+MU3:90\H]$]3:C93U-!LH\IIZ$]0R>:D>329J--`/4_5'I-`TT9#3U!ZC0>H# -+M0])H!H9!Z@#30VH#30-/4T'J`]09%$!4\)A3R,-1'J`S2#0--,$:/$C9-3TG -+MH:FR9-(T>D\4],HT'I`/4`>HVFIIZFR:FR:)Y,3*/3*;"FT:(VIYJC:FF)Z: -+MCTFAIZCTAH:#U!F*")1`0!`"9#4Q-,FT(R33R-4VFE/U&TU-3RGZ1FJ>&H]2 -+M;U38GJ-J3TQ0Q'DU-'J?JF]2&30-'J:>H,FC1HWJ@#RFC0!Z#2-/4T&&4T-/ -+M2:&(>D'J,5#"1JH5B["KJTH:1R2I95!0TXN8+PQ'&*+8%8JVQCC/1G1D0A-S -+M91MLJJLK];M*G>^]MGIW=W7E>KL -+M)MXKMO7VV\M77ANM3H=6LGI)+AR&CF'#<66)4&4S6:;*26:S5DUQGS$+>97< -+M!3.,U$LQELITU,X3Y5[GW>0?IM4(5>Z!^AE04E8=:H(X[7T$U.`@QRT\Z]_" -+M7?`4-8Q_UDP"AQ@$1,B`G(D*S"^7Z%ABZ-%T6MS+#&8M+G -+M)M>_Y9ME3-K"RMO>,UK^9/4HYU5!3:6'45^1-AA23JG7FH&=KT9ZK-!6>?\- -+M;_HD;$V3C,[X\-20B*R?`.(:CK$3A&J2!XYI6TW[U*HI*560[F!42LB.:FO9 -+MT2S-`KC"H/^S^JJFC(54?*/HIBKH,!73^2++62,G98Y/*,\,%R,Y08$R@$&L -+MC#"P#E53*YTZS&>L\]4*"<8&2^]*I?02,46;3.V(P+2P`3$>F+HNTY/(%Z<` -+MM.P&I]6,NED[M1J4`O?!J@8`&>?1 -+M%!8/]>.7UF-'?ZO,O??);\\L:3X7JN-O^ZWAPV:'ONI*N$I2REEE+$\Q47N6 -+M)NB0W\O.LZ)TMD[9VG1NS+?94@_.$$=!P2#U2(8;*%.99OOW:1@#`W]ZV:OR -+M1IWEL,R4\*2Y2^>SP[^QB -+M_,U-)GY3;9KT/P=Q.GX.7G"Q:>QK&9"$ -+M[#-J-&>2W>*T.XDRFC(,4I`"ED(D0(($(R0#&6;D6H(.:&R(R,:JBHZ!54G< -+M11T9V@K&&$`@8+T3IN#,:<5@P(RTBD1%(JP%55$2*#^!4E,%ER22`*-**JU6 -+MJZII6%N>*+(`*J_?LDI@")%A1D1`@0D?O:UXU=+B+/%.C.3P3935G@9N(=B( -+M39SA1$,K(<1`/."P@;M&4XI&*(9N(H[,#92F)PFDD,V:;%@V(`6%EHV(`6$+T`+00*I0;U -+M`+6F`+<5+:@OPH!:+<%V-Y:H6@0ST6@@$DQO&U0"]M7&.2N,;AN4`HP8H!<7 -+MT;QP4`N;A(R`&`P88BZ-&+V-:04?;20GS/LL>$_B,!&RT)$%@$(*)!"$E!7/ -+M#&8("!8N/9=K.,FB'MY.._/VD>C9#^`XS.XJ/S:XR1TI^MMN1AER0/FI,QI< -+MI!S/-3&8!4S2B>DK$=5/`G2Z><=$L7)SB`(%.`?MXB?J?H_!K]]%1:Q0>>D5 -+M@*,0!$21@`8Q[N?N_7_H;4[#S/![4O,^[NUOC?7F"'Z'YMMYO*;_)-K^K9([W=II7_32_/>'@"M-U3'I3>\5F/7!,>LN:H3*N!L;; -+M")']UU7>>-S\,?K65#!/&(542)(!76C2F<92T@@7G-NX#D][M'6*;YS)AF7< -+M!W7=#3Y1,RGT_`:&!`EU8>JEM/&JEI"+[5?4O\_]DT0",,XH95*#$@#=L,AO4L+ -+M1BB(3Q$X?C1IAS!$AY.>_%4]AI=*'&F6&\>U;\YG,QV14-HP9\BY30H/3].G -+MTW36AQ.N"4&8U(-$CSEJ:IAKE6J,KC=.U9$\H:1I/5!WK37"2WTTCL+"6YJD -+MVV8?W_`MAI=@)]J^U-YAOBS;:'(S4SPBJP))LEQ'+GK;<]US[@5VN)U.SEI] -+M@B6(>WE8&UNN(Z_Y^_U`>?=I*[4=\'V/"\YOXXU=RH7$2P -+MZ8AP5/2@#F" -+M^(R"5",K@5=:R=P=>/%\_!=LCS0>*ISX$*;G?\$9(P-<"734Z=7:V/E#,EJ3 -+MR#)DN].):$0+S";E13Q8UADO"%],GD)5UBLWUDCN34&A3.I3U+69_K:PL#9:%6F) -+M[AU5/05TLKLJ2*QB0,US:"U%(#G!9N81MN&'7T1O*J^]%%^#HV->-]LNGN*= -+M"C%H8>WG7$,^&0"244E4:#V6Y!289:<&E<<-ZGKH1[>$BW"MUU,#SL;,,),V -+M565B6/E!Z,H8E#]WD=(P%@X(,/C7GD0D -+MP-:,NZ$0>8GQY;JN=^^\XXXN0&5=W>Z5]AZ1HYC%E&S'8*.!D@5[<8]"EYC) -+M7*.I"&7-3RH1V#K4>$VO7@MZ*G*`]>M6049!\$(C%$3O$(">"B@IT'Y=.=H)`'G -+MP?T,;OF2.6;FQ;,.#Y<(PT)/0+73.OI!]&#-""F[4ST51A!FJDN2B3PA -+MCB(Q@J)!V14/5@R7:FG%FN\:RY!,K%>T32S-L$$!!OM9<,*\;?V9^D]EW* -+MBQ6*UR5PQ\J=9&)2U[%%,*&2VK(M$(BHTDQO)TV^76K`\E7:.HV99X,B$L68 -+MSG"]BK3]QP^-(JA!,M42_#=-`S`(@)8T4R,S_Y[7P__.8YW/0JJJJJJJNK8X -+M-=3PO'T&C*J9)`]F0`%K%$*P$#"""'MX"\OETF6EW>4IT9RN8.;PY_?U:<^? -+M*X$4&<5`%`1414BR`"1@4.DH8`QG9@#`TT7)^C&:7C@IA^%"_<3WTX+Q5*-=*7Y#/IE(_)_ -+MYYO52X/>^`A8NS+]GQ6$%J!9HFB5*_*22UE#*>TYS.T"1U[AFR44'A(ZIZ$N -+M7O')DXRK49/4T!7XG8#F7\)CF+,TPJAPV;\#4,AD7,Z/*?9D2DQDGR.^]LB( -+M%[`,/\]CK_:F,LN`#`T>]RT?A*WQ[K='\FN+&[/YKKD[GOG)".MPK9KOE&2> -+M4312<,\Y^C:>3=S-OHU-R)^F^*9H5Q"=7^-'_#GT?0V-ZX-3_S"6N2Q?O;7: -+M=G#ZR=L/JQG[ -+MO\_!J];07#9:XP=/JNC6V$KW5]`_.82T05/S?='X=WG0YS.[I94'X$?S()[N -+M#_Y@OQH(_`@/2399*2&\0*8=X^IVZ-3#*-44=7^#1YU#@<+A<&%:']\FNF[I -+M29_6J&Z$R.&H/.2,M8LDC$UZC*6*@F7SBW:"GQ3@-&AS/D'%[PAX*Z.!&Q`! -+MK?M_?V/CA,ZX91WMR-A0992O)T0BR^HF9=VIA-3&20"GDL&" -+M2O*AJJ$K`'3#X"@L61'"0N\_-&J])J,%%(*O_R0A*R3X>_<_]4=+TNCF/6?< -+M]IGY%UQ&M/IX7^;)C'TSL++)C1,MUVW257A0K(-$P.$V@S/RDA=MA.W#)`^< -+MI.1!C(@-*E;AB)^IQOD_^YWQ:2]K^31Z+%2J$@W$OT7PD.02BH.>E@'022(E -+M3@Y$+>HD)''I -+MK!<&,1@9T",6@FYM(V?[Q8KX6%]RJ`*8F:0\/6K-)X%%08$0"I?TTOH7J&:2 -+MP"RV[FF`@B!MYU]ZA5,A0DG2_Q)37"OW#@@D%P1P53,Y9BTRN'V=+Z4!-QP> -+M0Y0QJ(A,6"07X?-ZWOBHFM&@L1]UFNEG^IKIM+R/9>.LI"N99-[D[:+A+S@] -+M9SU/\?K]_\Q%2,`!A(D20!4>@D8$G;HBBL(!"(2`J'98-5R/N2MRE[9.N+,! -+MO"/VT9Y%Q@(TM(/8\%_VL"*'2P^*D+N2,C?4!XXM?3VL;&:5WJ^+#L>F7!H_,N -+MIUM`#L5Y[#M_O]A6"9J&&AI_78:(A$4RYACP^Q[,#B9?EORFBL,[/%'C)]'[ -+M.CACW"3O$#=`(=[_-\UU>&,/=25L+C^"'BK/E0!N1^$_"JB+_JPA`*]8CO(: -+M`,.^+BG;`ZF7BV09<[-_][:8^4KLHF.(1`0<SWGYJ3I.3K!0![LX-.34%X -+MKYZ.+[/.9+T`A+UD=Y@88X+WRYRQ#Z.0GAL_X^DU8%6CXLM.6/V<%ZXA\X\>Z?;"LR((5^)BH[ -+M9YVM6QCU[L+>4:^0@[(+A[*2R473>#_#80G05=[MO!0B83]S4Y#69SL\FU;, -+MM[%]++>'XGB[M<9CU9H/*ZY^J8LEQ/Y>=4H#=D -+M076@OV1*HU!09+VY&I##%336?/5%)M>9>5%%"0;X0^D(!5LP%ZR;J#4AL2A( -+MVL=+2L3>4N`V%1T%AG`R@("$$@E`4)0]>@`6#Y_ -+M!?KZ5D(#B^G8"OV,(-.'8LE-"R&W?C;5W&U,*%TS9#DQGG02?LI;-V'6_'VD:/[B\[^!BK._+R4O,AIRU>SJ67X@ -+M9BGP5'Z*.")D_)5(1^2U>5IE7MC^?6;KS0@W,1]%[_1Q>7T[6YJ6XJQ.^W;Y -+M/EBI?KRW$W[U(3Z"^#'K&C9:437[_,^`K\[(S?[&%\T)U''KMU:$5SAVI&?1 -+MO)WDB92)(QL1_:14'+!3-4<$"%!A'EL*M:SVOPL/C22OB0/^XF -+MK<69BJ[(VD8/"J7=>==O$-;WW//)P10\;N+6!'EH$U.A3!PVG>^?[V.QP)[E -+MM#M7!J:JJ5FI.V-&A9([(@[VAQ'!<$'(1S;SN=_.6>^5#L1AQ&_D'TL&-9`/ -+M68$)7J_190&=D@#5'\F^+AINR/5:*)DDUZ[PNR9<+9KN3=Z?U+GOLD3<33S= -+MITE&9$Q@::(*8DUSZ<4:QI+(U)BWK2;WBIFENWDW[`N'(FMFG:Z>V\N0-.!C -+M]U#!U]T8<9HC9P8<^B_][RM5^;"??IE6G\((HDSM:T1.%M7\:[:DU2F*_DM4 -+MYS/(B9,$-F_^*?"5:RW^<#:*&>C'":.!%4R6T1D?:_G=$H[JG;^K-&;DAU5X -+M&\$R"F*J1F;BV>]?N_E7K/--@V7(QI0@&I.NR=19-&!(=T.&_,X7T=/'`?1* -+M%W!R_DXWII`J:7?>BE$CIAWG*'YBZ$Q'_%_<27$JIQGYCU"!+X5C(PDS@W[\ -+M7\*E`_CB_W[+#`2HNE+Z5(.40BX]1`,]W]9L2=-5S\JMIA,-W<&@; -+M^[8^O76V>0CBYD0'SW%)\GD[WPO%X,)C%,*J;0T`C:JCB'+92>O:H';H,-[R -+M=DRZ#I]-'NVA`SO3(FDOZW8P4EL?@9A=5^0Y7FCDLWBFFUTVRG&%.[D2V^=` -+M5#K.+)QE0NXQY^M7*(C1-,N?>U93STMV@CGTY>&R$>RPK3'2R2*?5I5(24S/ -+M3K0$S`PJ(?/0Q9_SG%)RTTU3HP8:\7'A72DJ57`^O/MG`YY><>SSD?WAH=M: -+M"RO5HS+T!`\:(`9QAYB=#3-8"F2'/%UT1%Q3?D&F$[TQ2-M#%>'(OH`!2E./ -+M)389QV:(LHH6GG+(3N1L[?82L*K4K0&9XD2X6@M+0N,)U%K,T-":?/Y]\MK5 -+MK_Z:_I>'2UZ7+0:AKH\.K%VYPA6E!DHVG,PO?KU25M)+DT,P/AGJ<1$85R9% -+MPF!G=#T]U45@%VRRB)A-TW^ZQ(Q_ZZED+F:K/ -+M%[7I:0$4UD$#WL$0]Y40\#A.AW7;\'O>+#S^/JY/1OZ/3K>4XW>>[AD]#5PU -+M:AAQU[/W.(AMMJ>4Q`29&#B9U_*;%>_:VI]+:'MP6ICV=R&`\X8;_^^!.GMS -+M[CNN,)<#02E3:J,LVK(;7-QHKD@J'][T+:HKY^3V'XE@FQ3YWDML=KUMVS9T -+M--UE*6'ES*\2LIZ+T;BH^&&6:[X%`OG)G&&W,6 -+M)H$T1"14@OL:/PY6'YT^RE4`/70$D`%\6*J_[>]LELD`/3H$FC6R':]3T>]R:N[G/F>L^-Z8W(@05",604",9-Y"A3TN;K^7U_D?5 -+M]+)>,!C#_7R<;\D\CX1PL]S$^X[C@`P,/0"-31'T61;6DR@][DZ>GRX>I6>`E\3;J]#&J;J-QZDEZ -+MN`Z"S<>Q9D;G8V4DQ'4T:78NL=:(*1TE&S_R-!0N)EE'3[0&B*! -+MXQ*NL=1!1^MME#CP3"#Z\>EWS"6?=]^))"@K:@'@@WDG:-N)I=7TH:&]V:HU#$8H@2H7&5C!B8/< -+M>+*R`ZN=[,`1\>^V(NU#+I]][;J]J$$)=@@8!C&8F38Z2ZYW@!C;&*7UJH?S -+MQ*8,+&MJ!D'$H2WJ"=:##R1L!V.SV:FBB#KMJZ-A8U=P'F)%DBD+Y(]`W<76 -+M0"B`P'7/I#2C1W`Q//G]JRCF4N!U6V.,:6B(^'F_PM]?37_I^G\>W:F,#`!L -+M#$,?SLN]D@92+./&PT_IX_D\#C]]P.?H=A[GX8-3>EHG#-5Y:9#51"%*"@8, -+MR,#P4(,M6C4*U0!009;_,O-S^;=Q%1U4]/RN)VFLJGPB`SJ%?B]A6)UT%0>\ -+M7?CM)8U>&P!P_@=A7"`%&/ZL=2/B:J/Z>/Q_QN./XO]HL>FR%6\R]CX<7IV1 -+MM0K6BSY&M4Q1/\^R5ZB<#`'BZ1KJHV!@LE\&)<,`$827-VNZ1PXSI0/%T;N2 -+M:'A7:2NQC\#-SZFY*DG.9SA'QL/C0XYFJ`..@)-DDV29VD5#RDE>]G8Q^3VW -+ML)IY;;C3C--_D9B/%?0-[\A)B^]1S.A,'R5))?(UTRN%AZ[R=7^#1>8QD6;? -+M\\>9'WS7+Q2MMQB$4G'&LKKE_5:P6VHX=!IXC/A?V!&;E12BA`S"D%5]>PD& -+MLS[;Q-_NX\>E1,6!J!`.E>BKU-7><]ML_>YUY`*]=J1"%3^'=ZG#M`_=FP\5 -+M_1@U\L5HC!6/M^AK=6RKL$<4WMRZ#=/)WD-JE[^K[$5:2F,WF$W:PM9.*M4Y -+M,1F3/&3Z4AKF[0P[+OYJE&NVX5N("$H-U)M)Q]U1O+/^/[+5!F0AOSIW)JO1 -+M-W"XB@\FPFF^^+'I5<9E=\R":I,J$XM:0Y$V!"D*0/[J>C4]94.6F>7>N3E^ -+MZS4N7`.VR=BDAPI]W\W2SM;LA4L[C%P*HES%0]GNJ_4,L#<[Z^]\A0P/G_9< -+M-GJDQ,;U!M7+G$4.Q774HG@<3ZR^,@.(C5#=9R1V,1BJ>G;B^X1G8:0*J9PI -+M0O;M#TOG'I,BH@=IM=C3M.?3S+JKI7#,9^+T0K`E=MSFF.*<'F(&]5Y[G99G -+M$Q0MHQB/4_,W&S73.T(4?>X?VDZ)REP[?IQJS%,A"CV=$(_EC6+=\=C[AZ^L -+MT6_?WU:<<"*P,*F!BTVR-7-UZ8R*<(0Z,?*JV<():T68@T1[:_##<>AN:?DT -+MFK>X6UN;;41]M,=73:_5`8T)T.!>[ADD@M$)!&9DX4_BU5+'$2![3L[L]J^Z -+MNB>(E(74J3W"%&E0J0Z!0A1"@K/[XD5C,*BGM#&WV3BL+08N0>"'P6\JH&%[ -+M_'ONYQUCK5P8Z@\6BSVU0/@G(./1*RH.1^?4F$S2GX":4R%3D!X_,0:@()!, -+MX.-/LI6"D^5H9QOY(BMN;Y[FTCO5U^=_V]-005[^R6@N"H]!I"@*J2I9445_ -+M?LM+4&A$:4*A`@3/(K`5895(TB768N-]$Y",C9W-PTE8>7<6FSV_800?X^2Q -+ML6'"\!JHI4"AC#]EJ"+343WC0"P%!X6Z=Z+>/#;E\:3H -+M*J9Z)ZHG?FL$!@@([X%`13X]*>3\4W=4+!:?80*1;@X_:7`V2$",%O%+Y;NW -+MSK?IH.1]7FZJ%F6T;`NP\"[HC>M:RB9@9CM -+MN5V'C^C]SZ+:[B[]+=^EM]A+]F_!\*>SA;M^^UT*,[^Z802/D8,&I$20.*F'Q/!Z_P-@_2/8^OT^"0@))K'@?MU`W<04B($7/6DU3`./KY -+M:1.?^/Y_JBD3"%"(29.P4)IHI_DA+0R?6Z%LR#'D>>-RY]_<[&]";4S'N9LZ -+M"Y_Z2\H5#%Z.7J?>2_*H\+?3*3@?E2>)5$*M1;0//-@K!L7>5:>)F4[WO4.>,LM,94O5/E$SMAZ>H -+M\![?H>XT]I?,L*YE4(_XY&?7:=O,PS0::.'M8IM8F#)34%%76)^HW?:5.S=Y6&,4AE,AE@%G2V47(DXEPJT)0 -+M..PL_..*EQ-^+I,4 -+M56.:ST1Q#2EAT>"]%8+(?\>5O`*'!.B37T7>L6.7PW*[?5@`6%UD\A!('2L+ -+M.$R'/6!C>GKC#<5U,GN3M%F9WZDL`#J-4OYO1/K#W'8/.+L-B!CG -+MX>C5+"2X.U^#\@\X%#M@H7^B?UMO@_`IC<6<>OX?O"ZMQ?_D-P]Z(A[$]Z_% -+M+`/EE#J)UQ1L@*%@C[$1"K]>"A+B&;O@8'Q?I;)U?/;1OP=SD7X(0+@/D`C -+M/D>5DIGL#VVM`4V40(D($48(AZH0`3N`(J^_Z7C^-$K2C]+3I-44+?CE2BE: -+M#.]`(@$(E,*(A?*OS&D'J%0$X>>2#.C>W]UAB?==P[^@X@.USAH$4HVQ5N0` -+MZODUS#,W(T.=7,.=4Z"1PJ7D&>!D_"SMO9HN>!IEBHY@LWU&4`A2C*%!*P@F -+M8:NPEZZ1OJ+8!2PM4`I5D,(BM2`%DHF4@!@-D)G$G;9"2$@VMR@%5`*C5O"T -+M4`BYZ*`8%I9>WMXV(`8>GP<;"C@H!&EW$,0`H)-61KVF4`"BE8`&6*P(T5MY -+M[,,;ND@P0:%;$:!6,4@"?R*`@&(I`?/V.OR$P*:HNV,TP%#5A;Z`2JI_A9J' -+M][V!`!.$/:?0EGVF8TSR<_YI`4.0%0RB(=X"A!$/`!0OJ`)50["B$$0M!0I0 -+M2"H11'R04*J-04+S-FYJBAX210"0]YV;I/?,69?B1'DF7D;]MP`1`).+&>KUBK4B?4=S:MC<=XWW$U4KM[G[J2EVCN; -+M/@/-;<73F[?O[4P!0W`4.`%#R=[`2!W.O9K37>X]!V]56Z^)X;I9Q1+C!41$ -+MA)"20]?3*9`AEP?L?*3)N`Q3!3D0`LC0"E*)%1I%>]!0VP4.J"ALW`8GBTD@ -+M#L^)$P#&[CW_!W%E/`IFIAB>S2DGPA)&9)!F9F`A"*L=/@R,)LXZQI19P9&2 -+M15")D#(0,00(D`:\P,X<1RJ9G3.Q+U&^0G`B'FW@#<8A8&_T9K"I@@00;!0V -+MFV+(\9;GZW-.K6N_:8*<.7D+*!;[0KZ.DM+/;Q1#DO]1P=U0K$SDMIB"0,=)TI=B1D1`&1@9+]015`AUX.G%YCZTQSMP&.NF[Q2D -+MLFF^%S/`X*6,"GT/\-3\I.+EJ[:-C*DVU%JVK?RT55HA5M -+M=IL\W`ZX8X'%R6G6UJ($"HG#NPH6)[9)5#I>#661&#'.,(R#0BA?#,(=4P<9 -+MC849O*SG1$]L9,1UH*!1HCV=J7?)NP'\_L2T\!H*$(67:P!AE18K\Z$!Z8K# -+M3**H"OOKTP&`WF3K!\@2',QTC=T"G1R-J+][XLV -+M(+8U@=`1MFP\,V/E5"&F8=JAMA>ST4A8R]DFB-V.8J;>MYL^"G(IU)_!1T1S -+M1ZKUQC]A"6W+L==(4)^N[[/IW.W'V>OI3ZQ3I)5#=,;"[4`WYH:H"EIO#QP] -+MSLR@!H'@:TL;M]IPBL<^H8]HE8\TV##;I=QSPY_]QF;P -+MM/>O"3T)[*80=VMJ@'7HE+(S=H(%<+PY^)\@S]_< -+M;HPZ-X4BF#W(*'(0`K;8HF.\+K,J(@7U(\$0%_L?>;GX@ZBQQ8+SQM-(KZ,T -+M9C:"/-1$LP6-!UB!H'J`"Z[BU1&&*B])JICY7IM$"$[=1A]Z(`N00(;F^!CC -+M5^P%&$;?H8DTT347F=$+184JBY0.(9!0,+$N[M:9UZ'XN^`PG`&KU$+X:VQP^/6EA!K$],NI#&V[..-H-1%"/>\UILE?@CGDZ_->"R,B!V.L@$ -+M\&)YAC4=[_/OLTGHN.\HM45P\AYL%3UTXX8UK89FA0IA!,I6./VBK\XR="PY -+MX$>0E!].'NBXP53HL[#=M+887P^KJ$O*\J%%R3%HS53F3>PW"W)RE^0XP`&B -+MX5S4FXKO7KFF=!'B*40SE(LCGE4:[%<'28D=N(EZTAK?KT,J8/+0;J:&KD4Q -+MB[OTEDH1OBO+GDKUP8>/$/I/K&79VH!DW(/A#%O11Q,@?43>'>UDD\ER#*FT -+M')J(=2J>5.VW66K+2X(DT)IN(PK1W!R2F&OY&3M18,?"*L,:G@I^8P.Q>&WF -+M#.EZ:?20E*9N80_^%7)T'JNIOAM2U8J7U%SQ!5SP<%>O\CD:[T#9,"[%5=`GHARQIT -+M%\QD4*(FQ4)1^"94)MT,<05.QG++X<\&]/K$6S/WCS493!P1"*-:=F<4IPIN -+M/+HA_?]9K12Z4?9#B^ZG``&8)YPC&'J`:.$+6*I=A&GX74>)[[HP]&G1Q'WD -+M&I$34#4[D:E&0X>6!PZ:3'B0^W>(,D=*^/92`7Q>Q9-VAPUEQY3OTL_HZO#; -+M>#LA+:6P2J`"-2V,RA8$1Z7F[]*K)3,'CQHY$78K\B']@`8P%]=;,/U'E7#N -+M*&)X?MY1EQ%FK,8H:9K>;;!S?'N^@'EQ,87%WG+>)!%3C>! -+MPG)6ZNZG!P'@4%04Y;)`BM,$\7AB]3RL4:\XW7W00(".LJFSTKGT*M2TN^L7 -+M%@0`B`(A<`$"(1N!QX5FD\?@KO;H<;O.81WCXCX0Q*/U9@/0C -+M%(`V()O@A7*8\:4@&#F)EC0I05R7\PBCBCE#2XF,#"KCFN@W -+M>X>>N2Q1:\ZY(2F0,Q?:''2/&A[N9<9W,W"C.BFA"X6`#S/>PH?FQ$NZU?L5 -+M:%KJY31\`:46RYB8I12>4+@=KUF'V84*AZ9)<=+3`TMQSW!&4&1 -+MOVK3F)P\F'+M>@6I@UR)FR&V&]@54]WN43U=;>HIBQ14'9V"IBLL3##*Q],) -+M]QWNQWGS@"VU^,'ZK(O"&XX73+[$P:JK;=PJN[)=#R\,!3RVIIE4%#$M#M:[T;+*^L[L\_E->?;7GBTF.WV'SA^,C -+MI_(U5I*^F0K_A\E2M,7C("1S"";,76BQS-J0\@"(!@A7K8LPYTN8I$"81B%1 -+M`2=VC#?M08HPA"!^5`AU)@H2LH%WI7IIQW$(44H5I@A&_(*0&2]9BH$/S424 -+MA[ID(4F0PG+%CL8%'F96&M\T#-$984"5((`GI9O\^J`G)"3 -+MF$F&UPO%T7I"-_4@?=<7448N.,D(T:\SOC/B0Q[.&;'-BYP3#<._R"(7]"@2 -+MB;[:-2ACE"YUZ)"\@RP@*&P7C0%#GO?PG1Z($QPJPJX;0J% -+MM77KK\]``=R#J10T14"4D%<\6L+ME\?UG3^>^5U.OD!0]L0`3B!0@@KR<9-P -+MXQ-;L=B_?>*S;KP@@@<.\Z#.-M"Q%IPM$S$,EA?"(H)'AE%@E>(`38$0KENH -+M]!A=)P]Y_=LLSAE$R%+").Z_8;-;K9`DT\WCWG0Y"P]#];[*TR"=W$V,V91A -+M71,P*$:G9H`TMG,HETJ\/!38KNF;OK\P*&5H!OJJO>I!4(\(*&-IF"F@%#?: -+MYPX,&FHI(<=[S*;`*%BV3+ -+M@P&<#C!ZMB!2%%`=4,*!O.H4S#`@H%NK\B\5#*>?XGQMCF8W'\*G4SGM?J3$ -+M.[`K2U%`44!BQ&16V,KX'0*3KCCC(@8G90&TX@*';F\]9.BEPZ+322R/-M10 -+MR5`$IZ@@N9>,I984,W=;)`QC)JX*%>Y?0&'-AM15=<-%!(&;ZK>!O.*&]IL/,LNP44\D;(=EVWGN. -+M<:*;Y.R9TN"O:[A73N%1/,)PN)6#(&+%6B&Y"2A!;:[G-0( -+M^-\(=F/B/>'L(+-)POFTHV%?R5\SNC[ABBN!J7%-YELS%@L5(H5@58P5D`B` -+MQ/D!-HQ7,::HBH&,@RH3&"0PAK<0`BHRSV)WVT<&3@">YM+7(7/6<0U33JH% -+MFYS:'!VWP`!*]J2!E)"0B0B*((HQ$11B/WIB!1L2$UPD9"-3(1C`4W^Z@.T2 -+M$RV=VM%5165C3(]7JSZ`N=#Z<"=NM9G/\83I['_K/4_HWCFKHWV:J:Y?Y'7A -+M?DI$1`BM`$0%(``A]#ENPDS3Z^)MN7]3\W6%.*Z'<&R.8+:@@0!@(0% -+M"09`0($!0@H)Q;WT=+2$%0GCY,%V.FV#8+C555,5:JE1I*&A64J4TRPD#?A"`A7A?E=V;H^5^.-Z -+M6;9:`B>RV7/ZWMF<\GFAL7@"0.W=<"A9CT-E%!,43[^,@)S]'FB,H9"!IZQH -+MH1S!EM)#>P@B%+J@H=P:#%`(H!&-^E\:4(U/%V"IIP!0VP4,!8N3#&7E(4*% -+M)0E+QR`H8:"X`T;-Y?41POCSN=O=DYGW<]63['4"AD9$])!#N0$%Y%49R1H] -+M6*"?%YJ!HJ9E39'VPG`9;O/EH#D8L95,.A8F&DHX/>60794`1,M0S,&B"%^> -+M[P>L"]1T,P1:P($'TD0"Y41OAU@4,@*&P>W@],!U&R'%CMFQ:HY5&CU!-N[: -+M:`]:H6HH)F;`H[WL[.Z[\^9ZZ[8.CHFX(ZCAF4T3E@H1&D:F)3>UXW%).3O] -+MRT3:,VU>!F(A42\]S]WA?`OT/W'0ZPB&3&:)2,V*VM25/IZA($,I-Z0HI"08 -+M-.R5&JC:35G(%UE`@`EGDP"BC`(HW^#4+@4(!-L%"/8+F@V"(0E!$*(9H2M" -+MHPD"AN&[" -+MHYN6'+C&PP%&S;A:II;HDMNP,&X`2"C@&373*.8%#/6+@=`;!$.`>9,UQMY*T*=9H'VFCSJY7!1 -+MH?-G*%!;>7G+:^;0H7;MI8I6M-//XE"IS@R@H7E -+MY\2C1W-"$VZCS`4,FYEC"$C)Q.UJUX'2_3P_3?C7Y81 -+MP,^I,KDUEX*'2RG3Z1TR=K[S57UI`^G-6<@AIA:KW**=FLHRLF,>RE9I:;CV -+M4C_OU2_?Z=CQ.71PKA'F+1J.K@V'#!L0F\Q=I##\/`0="-8S0ZE_`R/TQF'CHT4`W8<[TPTZU!0+[.[FW,VK1354`PU6:N@I$Y -+M1)%S)K0='IB5-T]&)5RK!@S/9"_3E$4!NNR>F!0@9T1/(CV^`DDA/[34!0RQ -+M%#(P6<\X#56L2%-:EHOT6QP7!X.0;!#X&/ASC>:8LLPWEBS*LKKB9-)5-!59 -+M;6UU`W:U?"X$VMI5J-"JJM33NIPX&OL!*OGM;9XNSKN6C=V;OA4M:TIL8[8* -+M%^J)980DA-L3E:P4-XO,2W1]3!ORDA(8FT"AA0@TH(;+`IJ,.ZW.(-U!^J\((H=5D)E'S]CYGC\FGS[,.=D#, -+M(@6/J18(LK%TQ`B`(48]'1WW<%0RDAXIVF(Y#P3)VT/;XM?VC8[E<)6]2F'B^O^_4N,>`RGOW`@G[W'RU`?#%[PDA$DU(]^8A?^ -+MDQ/MS"1D8>ER,>3H3/'H7"ZZZZZ8`23.A,Z?;PB*/NR+C\>IA[S;IO[X\L(U -+M*8+6$!40?^>X!1K^-^)7O8>D0_%NKYCSHZS]:)( -+M#/7AQ%$8&:1AS>,M=[MMCGM6%&D&#F`2`,8!0\5[J>,"A_;L#]"=R+AE/7]C -+M8_=MCV(DO(2>>\_GL\JRX/G?045JAA`"?.G7@>0?@4#[;Q3V6/>^I+CR_SZ/ -+M,QH'S_0_0J>U@>)/_$/5:-1JY7&7'UTX3B"P`2@J&]3PK1Y37045.-[&RU@C -+MRZE!QRM1S7R%'CX/#[_R-&9Z3/H$A9[*ITAY+H87N/MQ^XRSN=4GN]8J"*9T -+M4R?\IT_Z'OD_W1@',I\5%O.?>V!^_>KA%_VPS55;10&&]E*IK?KLI,/7_/>L -+M^UO:R&]I_AK"3J+\;_ -+M27^:>[[K:'0_IRO#AY]*0D\W_]V,W?7WO7[;][\4N]4J;74]OKR#I("ZF)[\D.+7[JW<1M_S+T\R07]^.GHN2N_V9W^UAH/?M6L(]G=;K8`^ -+MNGF*OQV7S(P>`QF$K9K.8#_/:_`86%)Q#=W]L'PKE*TZ/Q/>W0X:[]Z!=MVAGZ3XE^R4@7Z<;!&Y2#\_ -+MZ)!2!?*E\$B%&8XI)1DC5[YX0Q.D!U5!X>T_#9.<7W8\W8*\2(#[7OKPL/%P -+MMCZ'U_NJ)T\='S>((D_7A^ELI=U(3,[P-9[+TT'PWDE'"$\!X=_\_).ROW^? -+MC=.S-W,8.>T2CBVG&3T>S'H/R==M"JX)?-VOP7GM- -+M?2\':;;5N;OB<3>9^20W4&3S:/LW:AARVH-G6TXL -+MDV\!)L(@OU(`.H@8<80FQRK)$PE(T\YV=T-QZICXH'U:!W.%:XYY4M:_.D`5 -+M6YB":A=D94"H`(#`W"$#%A,')0]-U:>&S":X@W%\BOH3^V+%,$"HQKE""HB- -+M0A!C@V((WR@$O#G3>I#[/G[2P@U&5UR47BO1?WMZ5$;Y`0%V0?IONU7!O;OQ -+M$->N4W#HL,OL_MU_I-KT.>\Z;3O>4:*LX#Q,&CM7">7Z$\6]4ZMY7I=NTYM% -+MZ)IY48P2K*WEJ^2V-(B`/`IKS(?6MQ2E'=>U[*5&>8($I,!YRH*,FI%59T3G -+MCT@9#11"[,IUXXTZJ=+@L^BO,#!,@8`B,,'D:[,(IRKJN!N(PCUN7ETFMNQ> -+MT.M,<5L4#9FB*%?$W!57FM?/^ZBA@2T-7E"Z%F;\[:8XR0<6)_+$E*H!FF8. -+M-XG<(8#8^U:S%08IU0*`6B3A$>0E<[+JG_>:@;>-`Y1E`&`8=(RYUE')]1`TYY(A:#RB0FG3$PE+)8S -+MGU.@!,R[6^+K@E&1>47'U:5Y9^H"9N$SLJ5J?%:_%JV9"PQ"#C%I;C:?MTG) -+M<_+^*U#T[J#O`$?NA$H`J5@CT><;M?J"+89:J5'/N15EU7F7>F1"I0/G+">Y -+M3+-@8%+J^"D)LAGHE1:IW4%D>L70=!S'KQZ=T/&:X3,<[QS#1;Q0:L.Y4(WR -+MIS8('-XK,_=EA`C,5^$HZS9@[X!)(&TP;5L0+F9IIL:86^R:&;<$8IY<9"=$ -+M980D2B%BWIQ8MF1**D]I;;CK69[X^A0WPLO@0K_*(X]F;<'PTXE7 -+M=W36:V(H)-CY_U'(8WEH]4NH>1WYRQ+BR@4% -+M$1U.K,)S+4!]61]+Q!Q];=1<:0H&&9F^&`@320!JS8'6STZ[:=E*IZ;&BDC7 -+M0Z/7-5O>MY:IK*BM/5>;X56^9&U^#42.H)OFI54HV1)`TJC7_B33GAVXJ]7O -+M;?1"OI([IPP,[MV,/M;SJ$X)F]1/8&A&510:&ID)5D![*U)9=_1^5X(."9$3 -+MAKAD3Q"G(58]/R>7K9'EWM'SQL4<(VSXPXG5&YKMU-_C3ND*S57\G4:0+B9, -+MJ5UN=Z]5!0TZS\:=[S.J>H-)[0]6K0B-@S.BC387!M -+M$S)!YJMA-!`JT[;'[Z^+^[0R-)::%H%GHKM=7G#8VW_]:.U^;<&A9&M/6UP?W""!BY%` -+M#![EE,U-#7?W49=0ZXLS<=KZ:P-?Z3.X9G9?7W,9U.N2TLZ.@I-#Z@G7\7TV -+MWHSA0AEJ*,1,`G^Y-'RV*AEKF,/?,:P^UZ&F<"J&#J0NMG0&<\V@F>9R#G`8 -+M8"2$M4:2?X:&&W[K8\*=>CQHL8G]'<]@CN1F#'"X-ZO8\(=;X+BJT=]2+C:H -+M4PL_D99">XRIU6^@S@B;6=;A"S6J!DD&;F8.@CY3\G*1J,;%1,\3U?C65;#&*>6OE! -+MFVJJJM,IDRO),/K661%M4\6#1,IBT04O9HXN64;!]\FH*H#<46AK6%-'LCF9 -+MR+1L24TY4/W_$$4`;*4R6-)=-<[!3VX70!7=GKY%5A/>5U.!KP4`/^X".'H%Q?;P',T8(,[(O1T\\K!%">*#TZ3L)AZ$/:3# -+MN#L_''38,`!CF+]:(8[7>H+[G4L`8'8$'2;(;A-TB>Y-?`Z0SHGO<-&]>=?1 -+M.%\D]#]-"\?6"0!S,$=]"\WZJKFWW+0,KN8@H5#,P4JO+2[I8+)K.GE;OZ'7 -+MW6^-;6=X]"-%4;W@V9C.#*N(]M'VAWIC7&N_#'E;W?3^T'>]-2-X=9B^4;U\ -+MT'*-(H-.>>8:,Q(3.V46OUD]TQT7D-PM+!C5]1&$A5_.0$FU.WL(&AB[^J(W -+MC9_.U;3@%I%C#)%M;R_(%(ZBT`U7Z%$^2K53FF"->R$&0GTQ1HJCRC*ZNL1@ -+M;F!0>FK6OK[E(YYHF^=GYS,F>9DC+2@>J2@N@/>\BL^-6Z=!H*-?OLIAZ_NK -+MLDN"E,GB8]*I2!;=UH7JBS.6AF88^:>-ZOR=_N7A"M\B,YE=CKV?B(2%+;-$FTH0P@=0=)7(@D5HIYCOV$EW.MZP_:HB -+M&,OED]W=BZGUITM#NKAC8,`1SO"V/<*,?4Q+AGF/V=O(_QZ9Q08'TG;(.%W> -+M3QI"^R0+9F25\+`V81V6@)V/X&8HAATY-]YTO.V[=I1-2`X6_"5%@0JCBP0? -+M!4@"!(7#-S*G*12#Q7ISP]OR(^?&&48%!EP>;\@B($4F'_XNY(IPH2!)0!** -+` -+end -diff --git a/gdb/testsuite/gdb.base/tab-crash.exp b/gdb/testsuite/gdb.base/tab-crash.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/tab-crash.exp -@@ -0,0 +1,43 @@ -+# This testcase is part of GDB, the GNU debugger. -+ -+# Copyright 2017 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { -+ return -+} -+ -+standard_testfile -+ -+# gcc-base-debuginfo-6.3.1-1.fc25.x86_64 -+# /usr/lib/debug/lib64/libgcc_s-6.3.1-20161221.so.1.debug -+# objcopy -R .debug_loc -R .debug_ranges -R .debug_info -R .debug_abbrev -R .debug_aranges -R .debug_str -R .comment ... -+ -+set debugfilebz2uu ${srcdir}/${subdir}/${testfile}.bz2.uu -+set debugfile [standard_output_file ${testfile}] -+ -+if {[catch "system \"uudecode -o - ${debugfilebz2uu} | bzip2 -dc >${debugfile}\""] != 0} { -+ untested "failed uudecode or bzip2" -+ return -1 -+} -+file stat ${debugfile} debugfilestat -+if {$debugfilestat(size) != 71936} { -+ untested "uudecode or bzip2 produce invalid result" -+ return -1 -+} -+ -+clean_restart ${debugfile} -+ -+gdb_test "complete p si" "complete p si\r\np size_of_encoded_value" diff --git a/gdb.spec b/gdb.spec index 466837a..ed14526 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1190,6 +1190,10 @@ fi %endif %changelog +* Thu Jan 26 2023 Bruno Larsen +- Remove gdb-rhbz1398387-tab-crash-test.patch as that test didn't + work anymore. + * Tue Jan 24 2023 Keith Seitz - 12.1-15 - NVR bump for failed build. @@ -1202,6 +1206,7 @@ fi - Backport upstream patch "gdb: call check_typedef at beginning of dwarf_expr_context::fetch_result". (Simon Marchi) + * Fri Jan 20 2023 Kevin Buettner - 12.1-13 - Backport fix for problems associated with GCC 13's self-move warning. (Jan-Benedict Glaw) From a5f9e287018828b95d60c3c5997d7acd036d3c6e Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Thu, 26 Jan 2023 14:44:38 +0000 Subject: [PATCH 29/84] Remove gdb-6.3-focus-cmd-prev-test.patch this test is now upstream This upstream commit: commit 24f3aded1d42f515527e2de7e8e9e26f0b77c932 Date: Tue Dec 20 15:01:29 2022 +0000 gdb/testsuite/tui: more testing of the 'focus' command replaces the tests added in gdb-6.3-focus-cmd-prev-test.patch. As this patch was only adding a test I see no need to back-port the upstream commit, we'll pick this up in a later rebase. --- _gdb.spec.Patch.include | 86 +++++++++++++++---------------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-focus-cmd-prev-test.patch | 53 ------------------- 4 files changed, 41 insertions(+), 100 deletions(-) delete mode 100644 gdb-6.3-focus-cmd-prev-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index e702bc4..4404807 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -109,141 +109,137 @@ Patch026: gdb-6.5-gcore-buffer-limit-test.patch #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. Patch027: gdb-6.3-mapping-zero-inode-test.patch -# Test a crash on `focus cmd', `focus prev' commands. -#=fedoratest -Patch028: gdb-6.3-focus-cmd-prev-test.patch - # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch029: gdb-6.8-bz442765-threaded-exec-test.patch +Patch028: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch030: gdb-6.5-section-num-fixup-test.patch +Patch029: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch031: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch030: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch032: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch031: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch033: gdb-core-open-vdso-warning.patch +Patch032: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch034: gdb-ccache-workaround.patch +Patch033: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch035: gdb-lineno-makeup-test.patch +Patch034: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch036: gdb-ppc-power7-test.patch +Patch035: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch037: gdb-archer-next-over-throw-cxx-exec.patch +Patch036: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch038: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch037: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch039: gdb-test-bt-cfi-without-die.patch +Patch038: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch040: gdb-bz634108-solib_address.patch +Patch039: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch041: gdb-test-pid0-core.patch +Patch040: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch042: gdb-test-dw2-aranges.patch +Patch041: gdb-test-dw2-aranges.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch043: gdb-test-ivy-bridge.patch +Patch042: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch044: gdb-glibc-strstr-workaround.patch +Patch043: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch045: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch044: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch046: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch045: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch047: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch046: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch048: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch047: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch049: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch048: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch050: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch049: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch051: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch050: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch052: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch051: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch053: gdb-rhbz1350436-type-printers-error.patch +Patch052: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch054: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch053: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch055: gdb-fedora-libncursesw.patch +Patch054: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch056: gdb-opcodes-clflushopt-test.patch +Patch055: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch057: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch056: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch058: gdb-container-rh-pkg.patch +Patch057: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch059: gdb-linux_perf-bundle.patch +Patch058: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -252,39 +248,39 @@ Patch059: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch060: gdb-libexec-add-index.patch +Patch059: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch061: gdb-rhbz1553104-s390x-arch12-test.patch +Patch060: gdb-rhbz1553104-s390x-arch12-test.patch -Patch062: gdb-backport-readline_support.patch +Patch061: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch063: gdb-backport-fix-break-main-file-remove-fail.patch +Patch062: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch064: gdb-sw22395-constify-target_desc.patch +Patch063: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch065: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch064: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch066: gdb-rhbz2152431-label-symbol-value.patch +Patch065: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch067: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch066: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch068: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch067: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch069: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch068: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 4ef8e6c..f004491 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -66,4 +66,3 @@ %patch066 -p1 %patch067 -p1 %patch068 -p1 -%patch069 -p1 diff --git a/_patch_order b/_patch_order index 0ff9dda..20b172f 100644 --- a/_patch_order +++ b/_patch_order @@ -25,7 +25,6 @@ gdb-6.5-ia64-libunwind-leak-test.patch gdb-6.5-missed-trap-on-step-test.patch gdb-6.5-gcore-buffer-limit-test.patch gdb-6.3-mapping-zero-inode-test.patch -gdb-6.3-focus-cmd-prev-test.patch gdb-6.8-bz442765-threaded-exec-test.patch gdb-6.5-section-num-fixup-test.patch gdb-6.8-bz466901-backtrace-full-prelinked.patch diff --git a/gdb-6.3-focus-cmd-prev-test.patch b/gdb-6.3-focus-cmd-prev-test.patch deleted file mode 100644 index 27c85f1..0000000 --- a/gdb-6.3-focus-cmd-prev-test.patch +++ /dev/null @@ -1,53 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-focus-cmd-prev-test.patch - -;; Test a crash on `focus cmd', `focus prev' commands. -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.base/focus-cmd-prev.exp b/gdb/testsuite/gdb.base/focus-cmd-prev.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/focus-cmd-prev.exp -@@ -0,0 +1,40 @@ -+# Copyright 2008 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+if $tracelevel then { -+ strace $tracelevel -+} -+ -+gdb_exit -+gdb_start -+ -+# Do not use gdb_test or \r\n there since: -+# commit d7e747318f4d04af033f16325f9b6d74f67079ec -+# Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy -+ -+set test "focus cmd" -+gdb_test_multiple $test $test { -+ -re "$gdb_prompt $" { -+ pass $test -+ } -+} -+ -+set test "focus prev" -+gdb_test_multiple $test $test { -+ -re "$gdb_prompt $" { -+ pass $test -+ } -+} From 00fe7519d4883c827a5993e078cdd86bde4f7c08 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Fri, 27 Jan 2023 12:02:27 -0700 Subject: [PATCH 30/84] Update gdb-6.3-rh-testversion-20041202.patch ...so that $_gdb_major and $_gdb_minor will be obtained correctly. Also, change define of 'use_guile' from empty (which rpmbuild complained about) to a value of 1. I encountered this problem while attempting to build on F37. --- gdb-6.3-rh-testversion-20041202.patch | 4 ++-- gdb.spec | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gdb-6.3-rh-testversion-20041202.patch b/gdb-6.3-rh-testversion-20041202.patch index 82c693b..b8c7940 100644 --- a/gdb-6.3-rh-testversion-20041202.patch +++ b/gdb-6.3-rh-testversion-20041202.patch @@ -18,7 +18,7 @@ diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest -re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" { pass "printed version with cast" } -+ -re ".\[0-9\]+ = .(Fedora|Red Hat Enterprise Linux) \[\\(\\)0-9.a-z\\-\]+.*$gdb_prompt $" { ++ -re ".\[0-9\]+ = .(Fedora Linux|Red Hat Enterprise Linux) \[\\(\\)0-9.a-z\\-\]+.*$gdb_prompt $" { + pass "printed version Fedora or Red Hat Enterprise Linux only" + } } @@ -32,7 +32,7 @@ diff --git a/gdb/top.c b/gdb/top.c struct internalvar *minor_version_var = create_internalvar ("_gdb_minor"); int vmajor = 0, vminor = 0, vrevision = 0; - sscanf (version, "%d.%d.%d", &vmajor, &vminor, &vrevision); -+ sscanf (version, "Fedora %d.%d.%d", &vmajor, &vminor, &vrevision); ++ sscanf (version, "%*[^0123456789]%d.%d.%d", &vmajor, &vminor, &vrevision); set_internalvar_integer (major_version_var, vmajor); set_internalvar_integer (minor_version_var, vminor + (vrevision > 0)); } diff --git a/gdb.spec b/gdb.spec index ed14526..b293475 100644 --- a/gdb.spec +++ b/gdb.spec @@ -40,7 +40,7 @@ ExcludeArch: aarch64 # Include support for Guile? This is enabled on RHEL 8 and # Fedora < 38. %if (0%{?fedora:1} && 0%{?fedora} < 38) || (0%{?rhel:1} && 0%{?rhel} == 8) -%define use_guile +%define use_guile 1 %endif Name: %{?scl_prefix}gdb @@ -54,7 +54,7 @@ Version: 12.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 15%{?dist} +Release: 16%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1190,6 +1190,10 @@ fi %endif %changelog +* Fri Jan 27 2023 Kevin Buettner - 12.1-16 +- Tweak gdb-6.3-rh-testversion-20041202.patch so that $_gdb_major + and $_gdb_minor will be obtained correctly. + * Thu Jan 26 2023 Bruno Larsen - Remove gdb-rhbz1398387-tab-crash-test.patch as that test didn't work anymore. From ad65e1854b65547fe77a8a000feb43ccd9154422 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 31 Jan 2023 09:38:56 +0000 Subject: [PATCH 31/84] Remove gdb-6.6-bz230000-power6-disassembly-test.patch Remove gdb-6.6-bz230000-power6-disassembly-test.patch as this is now covered by upstream tests. This patch added some tests of the Power6 disassembler. Disassembler tests are better carried in the gas tree. Upstream commit: commit 0fcf99b8ab5ccbde30fa7d36742e670cd4df48ef Date: Mon Jan 30 11:47:31 2023 +0000 gas/ppc: Additional tests for DFP instructions Added some new assembler/disassembler tests to the gas tree that covered all the instructions that were covered by our local patch. --- _gdb.spec.Patch.include | 116 +++++++++--------- _gdb.spec.patch.include | 1 - _patch_order | 1 - ...6.6-bz230000-power6-disassembly-test.patch | 94 -------------- 4 files changed, 56 insertions(+), 156 deletions(-) delete mode 100644 gdb-6.6-bz230000-power6-disassembly-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 4404807..307acdd 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -44,202 +44,198 @@ Patch010: gdb-6.3-bz140532-ppc-unwinding-test.patch #=fedoratest Patch011: gdb-6.3-bz202689-exec-from-pthread-test.patch -# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). -#=fedoratest -Patch012: gdb-6.6-bz230000-power6-disassembly-test.patch - # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch013: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch012: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch014: gdb-6.6-testsuite-timeouts.patch +Patch013: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch015: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch014: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch016: gdb-6.3-attach-see-vdso-test.patch +Patch015: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch017: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch016: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch018: gdb-6.6-buildid-locate.patch +Patch017: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch019: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch018: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch020: gdb-6.6-buildid-locate-rpm.patch +Patch019: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch021: gdb-6.7-charsign-test.patch +Patch020: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch022: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch021: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch023: gdb-6.7-testsuite-stable-results.patch +Patch022: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch024: gdb-6.5-ia64-libunwind-leak-test.patch +Patch023: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch025: gdb-6.5-missed-trap-on-step-test.patch +Patch024: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch026: gdb-6.5-gcore-buffer-limit-test.patch +Patch025: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch027: gdb-6.3-mapping-zero-inode-test.patch +Patch026: gdb-6.3-mapping-zero-inode-test.patch # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch028: gdb-6.8-bz442765-threaded-exec-test.patch +Patch027: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch029: gdb-6.5-section-num-fixup-test.patch +Patch028: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch030: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch029: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch031: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch030: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch032: gdb-core-open-vdso-warning.patch +Patch031: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch033: gdb-ccache-workaround.patch +Patch032: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch034: gdb-lineno-makeup-test.patch +Patch033: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch035: gdb-ppc-power7-test.patch +Patch034: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch036: gdb-archer-next-over-throw-cxx-exec.patch +Patch035: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch037: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch036: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch038: gdb-test-bt-cfi-without-die.patch +Patch037: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch039: gdb-bz634108-solib_address.patch +Patch038: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch040: gdb-test-pid0-core.patch +Patch039: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch041: gdb-test-dw2-aranges.patch +Patch040: gdb-test-dw2-aranges.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch042: gdb-test-ivy-bridge.patch +Patch041: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch043: gdb-glibc-strstr-workaround.patch +Patch042: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch044: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch043: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch045: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch044: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch046: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch045: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch047: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch046: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch048: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch047: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch049: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch048: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch050: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch049: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch051: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch050: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch052: gdb-rhbz1350436-type-printers-error.patch +Patch051: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch053: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch052: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch054: gdb-fedora-libncursesw.patch +Patch053: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch055: gdb-opcodes-clflushopt-test.patch +Patch054: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch056: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch055: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch057: gdb-container-rh-pkg.patch +Patch056: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch058: gdb-linux_perf-bundle.patch +Patch057: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -248,39 +244,39 @@ Patch058: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch059: gdb-libexec-add-index.patch +Patch058: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch060: gdb-rhbz1553104-s390x-arch12-test.patch +Patch059: gdb-rhbz1553104-s390x-arch12-test.patch -Patch061: gdb-backport-readline_support.patch +Patch060: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch062: gdb-backport-fix-break-main-file-remove-fail.patch +Patch061: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch063: gdb-sw22395-constify-target_desc.patch +Patch062: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch064: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch063: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch065: gdb-rhbz2152431-label-symbol-value.patch +Patch064: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch066: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch065: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch067: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch066: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch068: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch067: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f004491..9dbbe98 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -65,4 +65,3 @@ %patch065 -p1 %patch066 -p1 %patch067 -p1 -%patch068 -p1 diff --git a/_patch_order b/_patch_order index 20b172f..900dc47 100644 --- a/_patch_order +++ b/_patch_order @@ -9,7 +9,6 @@ gdb-6.5-bz218379-ppc-solib-trampoline-test.patch gdb-6.5-bz109921-DW_AT_decl_file-test.patch gdb-6.3-bz140532-ppc-unwinding-test.patch gdb-6.3-bz202689-exec-from-pthread-test.patch -gdb-6.6-bz230000-power6-disassembly-test.patch gdb-6.6-bz229517-gcore-without-terminal.patch gdb-6.6-testsuite-timeouts.patch gdb-6.6-bz237572-ppc-atomic-sequence-test.patch diff --git a/gdb-6.6-bz230000-power6-disassembly-test.patch b/gdb-6.6-bz230000-power6-disassembly-test.patch deleted file mode 100644 index 2b36147..0000000 --- a/gdb-6.6-bz230000-power6-disassembly-test.patch +++ /dev/null @@ -1,94 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.6-bz230000-power6-disassembly-test.patch - -;; Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). -;;=fedoratest - -https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=230000 - -The original testcase - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=230000#c1 -requires too recent GCC. - -diff --git a/gdb/testsuite/gdb.arch/powerpc-power6.exp b/gdb/testsuite/gdb.arch/powerpc-power6.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-power6.exp -@@ -0,0 +1,54 @@ -+# Copyright 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Test PowerPC Power6 instructions disassembly. -+ -+if {![istarget "powerpc*-*-*"]} then { -+ verbose "Skipping PowerPC Power6 instructions disassembly." -+ return -+} -+ -+set testfile "powerpc-power6" -+set srcfile ${testfile}.s -+set objfile [standard_output_file ${testfile}.o] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } { -+ untested "PowerPC prologue tests" -+ return -1 -+} -+ -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${objfile} -+ -+# Disassemble the function. -+ -+gdb_test "disass func" ":\tblr\r\n.*" "Basic disassembly" -+ -+gdb_test "disass func" ":\tdcbzl *r8,r9\r\n.*" "Power5 disassembly dcbzl" -+gdb_test "disass func" ":\tfrsqrtes *f10,f11\r\n.*" "Power5 disassembly frsqrtes" -+gdb_test "disass func" ":\tdadd *f1,f2,f1\r\n.*" "Power6 disassembly dadd" -+gdb_test "disass func" ":\tdaddq *f0,f2,f0\r\n.*" "Power6 disassembly daddq" -+gdb_test "disass func" ":\tdsub *f1,f2,f1\r\n.*" "Power6 disassembly dsub" -+gdb_test "disass func" ":\tdsubq *f0,f2,f0\r\n.*" "Power6 disassembly dsubq" -+gdb_test "disass func" ":\tdmul *f1,f2,f1\r\n.*" "Power6 disassembly dmul" -+gdb_test "disass func" ":\tdmulq *f0,f2,f0\r\n.*" "Power6 disassembly dmulq" -+gdb_test "disass func" ":\tddiv *f1,f2,f1\r\n.*" "Power6 disassembly ddiv" -+gdb_test "disass func" ":\tddivq *f0,f2,f0\r\n.*" "Power6 disassembly ddivq" -+gdb_test "disass func" ":\tdcmpu *cr1,f2,f1\r\n.*" "Power6 disassembly dcmpu" -+gdb_test "disass func" ":\tdcmpuq *cr1,f2,f0\r\n.*" "Power6 disassembly dcmpuq" -diff --git a/gdb/testsuite/gdb.arch/powerpc-power6.s b/gdb/testsuite/gdb.arch/powerpc-power6.s -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-power6.s -@@ -0,0 +1,16 @@ -+ .text -+ .globl func -+func: -+ blr -+ .long 0x7c284fec /* dcbzl r8,r9 */ -+ .long 0xed405834 /* frsqrtes f10,f11 */ -+ .long 0xec220804 /* dadd f1,f2,f1 */ -+ .long 0xfc020004 /* daddq f0,f2,f0 */ -+ .long 0xec220c04 /* dsub f1,f2,f1 */ -+ .long 0xfc020404 /* dsubq f0,f2,f0 */ -+ .long 0xec220844 /* dmul f1,f2,f1 */ -+ .long 0xfc020044 /* dmulq f0,f2,f0 */ -+ .long 0xec220c44 /* ddiv f1,f2,f1 */ -+ .long 0xfc020444 /* ddivq f0,f2,f0 */ -+ .long 0xec820d04 /* dcmpu cr1,f2,f1 */ -+ .long 0xfc820504 /* dcmpuq cr1,f2,f0 */ From 89f20beb5e56e4775bbbbcd48621498d746b6354 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 10 Feb 2023 12:33:43 +0000 Subject: [PATCH 32/84] Remove gdb-6.3-bz202689-exec-from-pthread-test.patch Remove gdb-6.3-bz202689-exec-from-pthread-test.patch. The test included in this patch is covered by the already upstream test gdb/testsuite/gdb.threads/execl.exp which was added with this commit: commit 49fd4a422bb6152043b2b41a1f734694056dbf3b Date: Thu Jun 5 21:03:59 2008 +0000 Unfortunately, the situation is not as simple as just removing this patch file. The later patch gdb-6.8-bz442765-threaded-exec-test.patch builds on the earlier test to cover additional cases. So, what I've actually done is remove the first patch, but merged the test entirely into the second patch. I think this is a better reflection of the current situation; the first patch is redundant (it's test is already covered upstream), while the second patch has not yet been reviewed, so it _might_ contain a useful test. To confirm that the upstream test quoted above actually covers this test case I did the following: - Setup a Fedora 3 virtual machine, - Built the test from the first patch and confirmed that it failed as described in bug bz202689, - Copied the upstream execl.exp sources to the virtual machine, and built the test binary, - Manually ran the test binary just as the .exp script does, and confirmed that it failed in the same way as the test from the original patch. --- _gdb.spec.Patch.include | 116 +++++++-------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-bz202689-exec-from-pthread-test.patch | 109 -------------- gdb-6.8-bz442765-threaded-exec-test.patch | 138 +++++++++++------- 5 files changed, 141 insertions(+), 224 deletions(-) delete mode 100644 gdb-6.3-bz202689-exec-from-pthread-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 307acdd..ca7465a 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -40,202 +40,198 @@ Patch009: gdb-6.5-bz109921-DW_AT_decl_file-test.patch #=fedoratest Patch010: gdb-6.3-bz140532-ppc-unwinding-test.patch -# Testcase for exec() from threaded program (BZ 202689). -#=fedoratest -Patch011: gdb-6.3-bz202689-exec-from-pthread-test.patch - # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch012: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch011: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch013: gdb-6.6-testsuite-timeouts.patch +Patch012: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch014: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch013: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch015: gdb-6.3-attach-see-vdso-test.patch +Patch014: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch016: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch015: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch017: gdb-6.6-buildid-locate.patch +Patch016: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch018: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch017: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch019: gdb-6.6-buildid-locate-rpm.patch +Patch018: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch020: gdb-6.7-charsign-test.patch +Patch019: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch021: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch020: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch022: gdb-6.7-testsuite-stable-results.patch +Patch021: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch023: gdb-6.5-ia64-libunwind-leak-test.patch +Patch022: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch024: gdb-6.5-missed-trap-on-step-test.patch +Patch023: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch025: gdb-6.5-gcore-buffer-limit-test.patch +Patch024: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch026: gdb-6.3-mapping-zero-inode-test.patch +Patch025: gdb-6.3-mapping-zero-inode-test.patch # Test various forms of threads tracking across exec() (BZ 442765). #=fedoratest -Patch027: gdb-6.8-bz442765-threaded-exec-test.patch +Patch026: gdb-6.8-bz442765-threaded-exec-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch028: gdb-6.5-section-num-fixup-test.patch +Patch027: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch029: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch028: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch030: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch029: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch031: gdb-core-open-vdso-warning.patch +Patch030: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch032: gdb-ccache-workaround.patch +Patch031: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch033: gdb-lineno-makeup-test.patch +Patch032: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch034: gdb-ppc-power7-test.patch +Patch033: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch035: gdb-archer-next-over-throw-cxx-exec.patch +Patch034: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch036: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch035: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch037: gdb-test-bt-cfi-without-die.patch +Patch036: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch038: gdb-bz634108-solib_address.patch +Patch037: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch039: gdb-test-pid0-core.patch +Patch038: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch040: gdb-test-dw2-aranges.patch +Patch039: gdb-test-dw2-aranges.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch041: gdb-test-ivy-bridge.patch +Patch040: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch042: gdb-glibc-strstr-workaround.patch +Patch041: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch043: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch042: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch044: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch043: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch045: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch044: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch046: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch045: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch047: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch046: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch048: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch047: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch049: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch048: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch050: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch049: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch051: gdb-rhbz1350436-type-printers-error.patch +Patch050: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch052: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch051: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch053: gdb-fedora-libncursesw.patch +Patch052: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch054: gdb-opcodes-clflushopt-test.patch +Patch053: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch055: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch054: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch056: gdb-container-rh-pkg.patch +Patch055: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch057: gdb-linux_perf-bundle.patch +Patch056: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -244,39 +240,39 @@ Patch057: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch058: gdb-libexec-add-index.patch +Patch057: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch059: gdb-rhbz1553104-s390x-arch12-test.patch +Patch058: gdb-rhbz1553104-s390x-arch12-test.patch -Patch060: gdb-backport-readline_support.patch +Patch059: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch061: gdb-backport-fix-break-main-file-remove-fail.patch +Patch060: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch062: gdb-sw22395-constify-target_desc.patch +Patch061: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch063: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch062: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch064: gdb-rhbz2152431-label-symbol-value.patch +Patch063: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch065: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch064: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch066: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch065: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch067: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch066: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 9dbbe98..8d1967c 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -64,4 +64,3 @@ %patch064 -p1 %patch065 -p1 %patch066 -p1 -%patch067 -p1 diff --git a/_patch_order b/_patch_order index 900dc47..d1d58ef 100644 --- a/_patch_order +++ b/_patch_order @@ -8,7 +8,6 @@ gdb-6.5-readline-long-line-crash-test.patch gdb-6.5-bz218379-ppc-solib-trampoline-test.patch gdb-6.5-bz109921-DW_AT_decl_file-test.patch gdb-6.3-bz140532-ppc-unwinding-test.patch -gdb-6.3-bz202689-exec-from-pthread-test.patch gdb-6.6-bz229517-gcore-without-terminal.patch gdb-6.6-testsuite-timeouts.patch gdb-6.6-bz237572-ppc-atomic-sequence-test.patch diff --git a/gdb-6.3-bz202689-exec-from-pthread-test.patch b/gdb-6.3-bz202689-exec-from-pthread-test.patch deleted file mode 100644 index 74684dd..0000000 --- a/gdb-6.3-bz202689-exec-from-pthread-test.patch +++ /dev/null @@ -1,109 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-bz202689-exec-from-pthread-test.patch - -;; Testcase for exec() from threaded program (BZ 202689). -;;=fedoratest - -2007-01-17 Jan Kratochvil - - * gdb.threads/threaded-exec.exp, gdb.threads/threaded-exec.c: New files. - -diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threads/threaded-exec.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/threaded-exec.c -@@ -0,0 +1,46 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+ -+static void * -+threader (void *arg) -+{ -+ return NULL; -+} -+ -+int -+main (void) -+{ -+ pthread_t t1; -+ int i; -+ -+ i = pthread_create (&t1, NULL, threader, (void *) NULL); -+ assert (i == 0); -+ i = pthread_join (t1, NULL); -+ assert (i == 0); -+ -+ execl ("/bin/true", "/bin/true", NULL); -+ abort (); -+} -diff --git a/gdb/testsuite/gdb.threads/threaded-exec.exp b/gdb/testsuite/gdb.threads/threaded-exec.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/threaded-exec.exp -@@ -0,0 +1,41 @@ -+# threaded-exec.exp -- Check reset of the tracked threads on exec*(2) -+# Copyright (C) 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@prep.ai.mit.edu -+ -+set testfile threaded-exec -+set srcfile ${testfile}.c -+set binfile [standard_output_file ${testfile}] -+ -+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable []] != "" } { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+ -+gdb_load ${binfile} -+ -+gdb_run_cmd -+ -+gdb_test_multiple {} "Program exited" { -+ -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" { -+ pass "Program exited" -+ } -+} diff --git a/gdb-6.8-bz442765-threaded-exec-test.patch b/gdb-6.8-bz442765-threaded-exec-test.patch index 90685c7..dbebe53 100644 --- a/gdb-6.8-bz442765-threaded-exec-test.patch +++ b/gdb-6.8-bz442765-threaded-exec-test.patch @@ -1,5 +1,5 @@ From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches +From: Jan Kratochvil Date: Fri, 27 Oct 2017 21:07:50 +0200 Subject: gdb-6.8-bz442765-threaded-exec-test.patch @@ -9,35 +9,50 @@ Subject: gdb-6.8-bz442765-threaded-exec-test.patch Test various forms of threads tracking across exec(2). diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threads/threaded-exec.c ---- a/gdb/testsuite/gdb.threads/threaded-exec.c +new file mode 100644 +--- /dev/null +++ b/gdb/testsuite/gdb.threads/threaded-exec.c -@@ -18,21 +18,95 @@ - Boston, MA 02111-1307, USA. */ - - #include --#include - #include - #include - #include +@@ -0,0 +1,147 @@ ++/* This testcase is part of GDB, the GNU debugger. ++ ++ Copyright 2007 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. */ ++ ++#include ++#include ++#include ++#include +#include - ++ +#ifdef THREADS + +# include - - static void * - threader (void *arg) - { -- return NULL; ++ ++static void * ++threader (void *arg) ++{ + return NULL; - } - ++} ++ +#endif + - int --main (void) ++int +main (int argc, char **argv) - { ++{ + char *exec_nothreads, *exec_threads, *cmd; + int phase; + char phase_s[8]; @@ -107,13 +122,13 @@ diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threa + case 2: + cmd = exec_threads; + { - pthread_t t1; - int i; - -@@ -40,7 +114,34 @@ main (void) - assert (i == 0); - i = pthread_join (t1, NULL); - assert (i == 0); ++ pthread_t t1; ++ int i; ++ ++ i = pthread_create (&t1, NULL, threader, (void *) NULL); ++ assert (i == 0); ++ i = pthread_join (t1, NULL); ++ assert (i == 0); + } + break; + case 3: @@ -141,41 +156,58 @@ diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threa + + phase++; + snprintf (phase_s, sizeof phase_s, "%d", phase); - -- execl ("/bin/true", "/bin/true", NULL); -- abort (); ++ + execl (cmd, cmd, exec_nothreads, exec_threads, phase_s, NULL); + assert (0); - } ++} diff --git a/gdb/testsuite/gdb.threads/threaded-exec.exp b/gdb/testsuite/gdb.threads/threaded-exec.exp ---- a/gdb/testsuite/gdb.threads/threaded-exec.exp +new file mode 100644 +--- /dev/null +++ b/gdb/testsuite/gdb.threads/threaded-exec.exp -@@ -20,9 +20,14 @@ - - set testfile threaded-exec - set srcfile ${testfile}.c --set binfile [standard_output_file ${testfile}] +@@ -0,0 +1,46 @@ ++# threaded-exec.exp -- Check reset of the tracked threads on exec*(2) ++# Copyright (C) 2007 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++# Please email any bugs, comments, and/or additions to this file to: ++# bug-gdb@prep.ai.mit.edu ++ ++set testfile threaded-exec ++set srcfile ${testfile}.c +set binfile_nothreads [standard_output_file ${testfile}N] +set binfile_threads [standard_output_file ${testfile}Y] - --if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable []] != "" } { ++ +if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_nothreads}" executable {additional_flags=-UTHREADS}] != "" } { + return -1 +} + +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile_threads}" executable {additional_flags=-DTHREADS}] != "" } { - return -1 - } - -@@ -30,9 +35,9 @@ gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - --gdb_load ${binfile} ++ return -1 ++} ++ ++gdb_exit ++gdb_start ++gdb_reinitialize_dir $srcdir/$subdir ++ +gdb_load ${binfile_nothreads} - --gdb_run_cmd ++ +gdb_run_cmd [list ${binfile_nothreads} ${binfile_threads} 0] - - gdb_test_multiple {} "Program exited" { - -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" { ++ ++gdb_test_multiple {} "Program exited" { ++ -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" { ++ pass "Program exited" ++ } ++} From 7fd1c9cb3f26648deb1726adc025850a7c6b3486 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 10 Feb 2023 15:39:01 +0000 Subject: [PATCH 33/84] Remove gdb-6.8-bz442765-threaded-exec-test.patch Following on from the previous commit, this commit remove gdb-6.8-bz442765-threaded-exec-test.patch. Like the previous commit, this patch was a testsuite only patch that extended the test originally added in the previous commit, in order to do some additional threads/exec related testing. The issue exposed by this test (Bug bz442765) was present on Fedora 9, with GDB 6.8-1.fc9. I have setup a Fedora 9 VM and recreated the failure with the test in the patch I'm deleting here. The test does a number of exec's, in each iteration the test binary runs in a different mode. However, the failure is triggered when we have a main thread that spawns a worker thread and then called exec from the main thread. Just like the previous commit, this situation already exists in the upstream test gdb.threads/execl.exp, and, if I copy this upstream test to my Fedora 9 VM, I can reproduce the failure using this upstream test. The test being deleted here does do a number of other permutations of threading and execing, for example it tests calling exec in a non-threaded inferior, but this is also tested upstream with things like gdb.base/foll-exec.exp. In summary, I don't believe there is anything new added by this test that is not already covered with existing upstream tests, as such, I think we should drop this patch. --- _gdb.spec.Patch.include | 84 ++++----- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.8-bz442765-threaded-exec-test.patch | 213 ---------------------- 4 files changed, 40 insertions(+), 259 deletions(-) delete mode 100644 gdb-6.8-bz442765-threaded-exec-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index ca7465a..1d5b9f8 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -101,137 +101,133 @@ Patch024: gdb-6.5-gcore-buffer-limit-test.patch #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. Patch025: gdb-6.3-mapping-zero-inode-test.patch -# Test various forms of threads tracking across exec() (BZ 442765). -#=fedoratest -Patch026: gdb-6.8-bz442765-threaded-exec-test.patch - # Test a crash on libraries missing the .text section. #=fedoratest -Patch027: gdb-6.5-section-num-fixup-test.patch +Patch026: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch028: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch027: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch029: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch028: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch030: gdb-core-open-vdso-warning.patch +Patch029: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch031: gdb-ccache-workaround.patch +Patch030: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch032: gdb-lineno-makeup-test.patch +Patch031: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch033: gdb-ppc-power7-test.patch +Patch032: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch034: gdb-archer-next-over-throw-cxx-exec.patch +Patch033: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch035: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch034: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch036: gdb-test-bt-cfi-without-die.patch +Patch035: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch037: gdb-bz634108-solib_address.patch +Patch036: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch038: gdb-test-pid0-core.patch +Patch037: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch039: gdb-test-dw2-aranges.patch +Patch038: gdb-test-dw2-aranges.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch040: gdb-test-ivy-bridge.patch +Patch039: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch041: gdb-glibc-strstr-workaround.patch +Patch040: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch042: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch041: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch043: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch042: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch044: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch043: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch045: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch044: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch046: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch045: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch047: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch046: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch048: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch047: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch049: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch048: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch050: gdb-rhbz1350436-type-printers-error.patch +Patch049: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch051: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch050: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch052: gdb-fedora-libncursesw.patch +Patch051: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch053: gdb-opcodes-clflushopt-test.patch +Patch052: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch054: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch053: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch055: gdb-container-rh-pkg.patch +Patch054: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch056: gdb-linux_perf-bundle.patch +Patch055: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -240,39 +236,39 @@ Patch056: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch057: gdb-libexec-add-index.patch +Patch056: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch058: gdb-rhbz1553104-s390x-arch12-test.patch +Patch057: gdb-rhbz1553104-s390x-arch12-test.patch -Patch059: gdb-backport-readline_support.patch +Patch058: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch060: gdb-backport-fix-break-main-file-remove-fail.patch +Patch059: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch061: gdb-sw22395-constify-target_desc.patch +Patch060: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch062: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch061: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch063: gdb-rhbz2152431-label-symbol-value.patch +Patch062: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch064: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch063: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch065: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch064: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch066: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch065: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8d1967c..173f4d4 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -63,4 +63,3 @@ %patch063 -p1 %patch064 -p1 %patch065 -p1 -%patch066 -p1 diff --git a/_patch_order b/_patch_order index d1d58ef..cbedb83 100644 --- a/_patch_order +++ b/_patch_order @@ -23,7 +23,6 @@ gdb-6.5-ia64-libunwind-leak-test.patch gdb-6.5-missed-trap-on-step-test.patch gdb-6.5-gcore-buffer-limit-test.patch gdb-6.3-mapping-zero-inode-test.patch -gdb-6.8-bz442765-threaded-exec-test.patch gdb-6.5-section-num-fixup-test.patch gdb-6.8-bz466901-backtrace-full-prelinked.patch gdb-simultaneous-step-resume-breakpoint-test.patch diff --git a/gdb-6.8-bz442765-threaded-exec-test.patch b/gdb-6.8-bz442765-threaded-exec-test.patch deleted file mode 100644 index dbebe53..0000000 --- a/gdb-6.8-bz442765-threaded-exec-test.patch +++ /dev/null @@ -1,213 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.8-bz442765-threaded-exec-test.patch - -;; Test various forms of threads tracking across exec() (BZ 442765). -;;=fedoratest - -Test various forms of threads tracking across exec(2). - -diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threads/threaded-exec.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/threaded-exec.c -@@ -0,0 +1,147 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef THREADS -+ -+# include -+ -+static void * -+threader (void *arg) -+{ -+ return NULL; -+} -+ -+#endif -+ -+int -+main (int argc, char **argv) -+{ -+ char *exec_nothreads, *exec_threads, *cmd; -+ int phase; -+ char phase_s[8]; -+ -+ setbuf (stdout, NULL); -+ -+ if (argc != 4) -+ { -+ fprintf (stderr, "%s \n", argv[0]); -+ return 1; -+ } -+ -+#ifdef THREADS -+ puts ("THREADS: Y"); -+#else -+ puts ("THREADS: N"); -+#endif -+ exec_nothreads = argv[1]; -+ printf ("exec_nothreads: %s\n", exec_nothreads); -+ exec_threads = argv[2]; -+ printf ("exec_threads: %s\n", exec_threads); -+ phase = atoi (argv[3]); -+ printf ("phase: %d\n", phase); -+ -+ /* Phases: threading -+ 0: N -> N -+ 1: N -> Y -+ 2: Y -> Y -+ 3: Y -> N -+ 4: N -> exit */ -+ -+ cmd = NULL; -+ -+#ifndef THREADS -+ switch (phase) -+ { -+ case 0: -+ cmd = exec_nothreads; -+ break; -+ case 1: -+ cmd = exec_threads; -+ break; -+ case 2: -+ fprintf (stderr, "%s: We should have threads for phase %d!\n", argv[0], -+ phase); -+ return 1; -+ case 3: -+ fprintf (stderr, "%s: We should have threads for phase %d!\n", argv[0], -+ phase); -+ return 1; -+ case 4: -+ return 0; -+ default: -+ assert (0); -+ } -+#else /* THREADS */ -+ switch (phase) -+ { -+ case 0: -+ fprintf (stderr, "%s: We should not have threads for phase %d!\n", -+ argv[0], phase); -+ return 1; -+ case 1: -+ fprintf (stderr, "%s: We should not have threads for phase %d!\n", -+ argv[0], phase); -+ return 1; -+ case 2: -+ cmd = exec_threads; -+ { -+ pthread_t t1; -+ int i; -+ -+ i = pthread_create (&t1, NULL, threader, (void *) NULL); -+ assert (i == 0); -+ i = pthread_join (t1, NULL); -+ assert (i == 0); -+ } -+ break; -+ case 3: -+ cmd = exec_nothreads; -+ { -+ pthread_t t1; -+ int i; -+ -+ i = pthread_create (&t1, NULL, threader, (void *) NULL); -+ assert (i == 0); -+ i = pthread_join (t1, NULL); -+ assert (i == 0); -+ } -+ break; -+ case 4: -+ fprintf (stderr, "%s: We should not have threads for phase %d!\n", -+ argv[0], phase); -+ return 1; -+ default: -+ assert (0); -+ } -+#endif /* THREADS */ -+ -+ assert (cmd != NULL); -+ -+ phase++; -+ snprintf (phase_s, sizeof phase_s, "%d", phase); -+ -+ execl (cmd, cmd, exec_nothreads, exec_threads, phase_s, NULL); -+ assert (0); -+} -diff --git a/gdb/testsuite/gdb.threads/threaded-exec.exp b/gdb/testsuite/gdb.threads/threaded-exec.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/threaded-exec.exp -@@ -0,0 +1,46 @@ -+# threaded-exec.exp -- Check reset of the tracked threads on exec*(2) -+# Copyright (C) 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@prep.ai.mit.edu -+ -+set testfile threaded-exec -+set srcfile ${testfile}.c -+set binfile_nothreads [standard_output_file ${testfile}N] -+set binfile_threads [standard_output_file ${testfile}Y] -+ -+if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_nothreads}" executable {additional_flags=-UTHREADS}] != "" } { -+ return -1 -+} -+ -+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile_threads}" executable {additional_flags=-DTHREADS}] != "" } { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+ -+gdb_load ${binfile_nothreads} -+ -+gdb_run_cmd [list ${binfile_nothreads} ${binfile_threads} 0] -+ -+gdb_test_multiple {} "Program exited" { -+ -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" { -+ pass "Program exited" -+ } -+} From d7818464ae78724c781e4e01ffc9454c5317265d Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Sat, 11 Feb 2023 17:21:20 +0000 Subject: [PATCH 34/84] Remove gdb-6.5-readline-long-line-crash-test.patch Remove gdb-6.5-readline-long-line-crash-test.patch, this test is now upstream in commit: commit bb146a79c7d65e2b578e8c3f652cb118c63741e5 Date: Thu Feb 9 10:52:47 2023 +0000 gdb: add test for readline handling very long commands As this is only a test, I don't see any point in backporting the upstream commit, we'll pick this up with a later rebase. --- _gdb.spec.Patch.include | 120 ++++++++++---------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.5-readline-long-line-crash-test.patch | 111 ------------------ 4 files changed, 58 insertions(+), 175 deletions(-) delete mode 100644 gdb-6.5-readline-long-line-crash-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 1d5b9f8..2083765 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -24,210 +24,206 @@ Patch005: gdb-6.5-BEA-testsuite.patch #=fedoratest Patch006: gdb-6.5-last-address-space-byte-test.patch -# Fix readline segfault on excessively long hand-typed lines. -#=fedoratest -Patch007: gdb-6.5-readline-long-line-crash-test.patch - # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch008: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch007: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Find symbols properly at their original (included) file (BZ 109921). #=fedoratest -Patch009: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch008: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Update PPC unwinding patches to their upstream variants (BZ 140532). #=fedoratest -Patch010: gdb-6.3-bz140532-ppc-unwinding-test.patch +Patch009: gdb-6.3-bz140532-ppc-unwinding-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch011: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch010: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch012: gdb-6.6-testsuite-timeouts.patch +Patch011: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch013: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch012: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch014: gdb-6.3-attach-see-vdso-test.patch +Patch013: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch015: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch014: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch016: gdb-6.6-buildid-locate.patch +Patch015: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch017: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch016: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch018: gdb-6.6-buildid-locate-rpm.patch +Patch017: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch019: gdb-6.7-charsign-test.patch +Patch018: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch020: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch019: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch021: gdb-6.7-testsuite-stable-results.patch +Patch020: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch022: gdb-6.5-ia64-libunwind-leak-test.patch +Patch021: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch023: gdb-6.5-missed-trap-on-step-test.patch +Patch022: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch024: gdb-6.5-gcore-buffer-limit-test.patch +Patch023: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch025: gdb-6.3-mapping-zero-inode-test.patch +Patch024: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch026: gdb-6.5-section-num-fixup-test.patch +Patch025: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch027: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch026: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch028: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch027: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch029: gdb-core-open-vdso-warning.patch +Patch028: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch030: gdb-ccache-workaround.patch +Patch029: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch031: gdb-lineno-makeup-test.patch +Patch030: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch032: gdb-ppc-power7-test.patch +Patch031: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch033: gdb-archer-next-over-throw-cxx-exec.patch +Patch032: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch034: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch033: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch035: gdb-test-bt-cfi-without-die.patch +Patch034: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch036: gdb-bz634108-solib_address.patch +Patch035: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch037: gdb-test-pid0-core.patch +Patch036: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch038: gdb-test-dw2-aranges.patch +Patch037: gdb-test-dw2-aranges.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch039: gdb-test-ivy-bridge.patch +Patch038: gdb-test-ivy-bridge.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch040: gdb-glibc-strstr-workaround.patch +Patch039: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch041: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch040: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch042: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch041: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch043: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch042: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch044: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch043: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch045: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch044: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch046: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch045: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch047: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch046: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch048: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch047: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch049: gdb-rhbz1350436-type-printers-error.patch +Patch048: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch050: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch049: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch051: gdb-fedora-libncursesw.patch +Patch050: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch052: gdb-opcodes-clflushopt-test.patch +Patch051: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch053: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch052: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch054: gdb-container-rh-pkg.patch +Patch053: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch055: gdb-linux_perf-bundle.patch +Patch054: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -236,39 +232,39 @@ Patch055: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch056: gdb-libexec-add-index.patch +Patch055: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch057: gdb-rhbz1553104-s390x-arch12-test.patch +Patch056: gdb-rhbz1553104-s390x-arch12-test.patch -Patch058: gdb-backport-readline_support.patch +Patch057: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch059: gdb-backport-fix-break-main-file-remove-fail.patch +Patch058: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch060: gdb-sw22395-constify-target_desc.patch +Patch059: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch061: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch060: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch062: gdb-rhbz2152431-label-symbol-value.patch +Patch061: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch063: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch062: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch064: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch063: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch065: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch064: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 173f4d4..a2afd6e 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -62,4 +62,3 @@ %patch062 -p1 %patch063 -p1 %patch064 -p1 -%patch065 -p1 diff --git a/_patch_order b/_patch_order index cbedb83..925fb4e 100644 --- a/_patch_order +++ b/_patch_order @@ -4,7 +4,6 @@ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch gdb-6.5-sharedlibrary-path.patch gdb-6.5-BEA-testsuite.patch gdb-6.5-last-address-space-byte-test.patch -gdb-6.5-readline-long-line-crash-test.patch gdb-6.5-bz218379-ppc-solib-trampoline-test.patch gdb-6.5-bz109921-DW_AT_decl_file-test.patch gdb-6.3-bz140532-ppc-unwinding-test.patch diff --git a/gdb-6.5-readline-long-line-crash-test.patch b/gdb-6.5-readline-long-line-crash-test.patch deleted file mode 100644 index 087f916..0000000 --- a/gdb-6.5-readline-long-line-crash-test.patch +++ /dev/null @@ -1,111 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.5-readline-long-line-crash-test.patch - -;; Fix readline segfault on excessively long hand-typed lines. -;;=fedoratest - -https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=214196 - -diff --git a/gdb/testsuite/gdb.base/readline-overflow.exp b/gdb/testsuite/gdb.base/readline-overflow.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/readline-overflow.exp -@@ -0,0 +1,96 @@ -+# Copyright 2006 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@prep.ai.mit.edu -+ -+# This file was written by Jan Kratochvil -+ -+# This file is part of the gdb testsuite. -+ -+# -+# Tests for readline buffer overflow. -+# -+ -+if $tracelevel { -+ strace $tracelevel -+} -+ -+global env -+ -+save_vars { env(GDBHISTFILE) env(HISTSIZE) TERM timeout } { -+ # The arrow key test relies on the standard VT100 bindings, so -+ # make sure that an appropriate terminal is selected. The same -+ # bug doesn't show up if we use ^P / ^N instead. -+ setenv TERM vt100 -+ -+ set timeout 600 -+ -+ set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history" -+ set env(HISTSIZE) "10" -+ -+ gdb_exit -+ gdb_start -+ gdb_reinitialize_dir $srcdir/$subdir -+ -+ -+ set width 11 -+ gdb_test "set width $width" \ -+ "" \ -+ "Setting width to $width." -+ #gdb_test "set height 1" \ -+ # "" \ -+ # "Setting height to 1." -+ send_gdb "run X" -+ set i 0 -+ # It crashes using `set width 7' on `set total 3560'. -+ # Sometimes it corrupts screen on `set width 7'. -+ # Bugreport used `set total 130001': -+ # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=214196 -+ # Check also `timeout' above. -+ set total 4200 -+ gdb_expect { -+ -re X { -+ incr i -+ if {$i <= $total} { -+ send_gdb "X" -+ exp_continue -+ } -+ } -+ -re "\[ \b\r\n\]" { -+ exp_continue -+ } -+ eof { -+ fail "gdb sending total $total characters" -+ note "Failed after sending $i characters, reason: EOF" -+ gdb_clear_suppressed -+ } -+ timeout { -+ fail "gdb sending total $total characters" -+ note "Failed after sending $i characters (timeout $timeout), reason: TIMEOUT" -+ gdb_clear_suppressed -+ } -+ default { -+ fail "gdb sending total $total characters" -+ note "Failed after sending $i characters, reason: 0=\[$expect_out(0,string)\] buffer=\[$expect_out(buffer)\]" -+ gdb_clear_suppressed -+ } -+ } -+ send_gdb "\r" -+ gdb_test "" \ -+ "No executable file specified..*" \ -+ "All the characters transferred" -+} From 17914b3d53d45cebaa781ec8774665cd18113ca2 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Sun, 12 Feb 2023 06:00:09 +0000 Subject: [PATCH 35/84] Remove gdb-test-ivy-bridge.patch The patch 'gdb-test-ivy-bridge.patch' adds some disassembly tests for various i386/x86-64 instructions. In fact, the tests added by this patch are copied directly from gas and should all be covered by gas/testsuite/gas/i386/i386.exp. I guess historically, when support for these instructions was first added, it made sense to have these tests in both GDB and binutils. But today I think that the testing in binutils is sufficient; if we really want to validate libopcodes we'd be better off building and testing gas/binutils as well as GDB. I propose that we just drop 'gdb-test-ivy-bridge.patch' from the Fedora GDB tree. --- _gdb.spec.Patch.include | 56 +++-- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-test-ivy-bridge.patch | 468 -------------------------------------- 4 files changed, 26 insertions(+), 500 deletions(-) delete mode 100644 gdb-test-ivy-bridge.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 2083765..34d2967 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -150,80 +150,76 @@ Patch036: gdb-test-pid0-core.patch #=fedoratest Patch037: gdb-test-dw2-aranges.patch -# Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). -#=fedoratest -Patch038: gdb-test-ivy-bridge.patch - # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch039: gdb-glibc-strstr-workaround.patch +Patch038: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch040: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch039: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch041: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch040: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch042: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch041: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch043: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch042: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch044: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch043: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch045: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch044: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch046: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch045: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch047: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch046: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch048: gdb-rhbz1350436-type-printers-error.patch +Patch047: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch049: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch048: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch050: gdb-fedora-libncursesw.patch +Patch049: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch051: gdb-opcodes-clflushopt-test.patch +Patch050: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch052: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch051: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch053: gdb-container-rh-pkg.patch +Patch052: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch054: gdb-linux_perf-bundle.patch +Patch053: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -232,39 +228,39 @@ Patch054: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch055: gdb-libexec-add-index.patch +Patch054: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch056: gdb-rhbz1553104-s390x-arch12-test.patch +Patch055: gdb-rhbz1553104-s390x-arch12-test.patch -Patch057: gdb-backport-readline_support.patch +Patch056: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch058: gdb-backport-fix-break-main-file-remove-fail.patch +Patch057: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch059: gdb-sw22395-constify-target_desc.patch +Patch058: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch060: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch059: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -Patch061: gdb-rhbz2152431-label-symbol-value.patch +Patch060: gdb-rhbz2152431-label-symbol-value.patch #Backport replace deprecated distutils.sysconfig in #python-config (Lancelot SIX) -Patch062: gdb-backport-python-config-replace-deprecated-distutils.patch +Patch061: gdb-backport-python-config-replace-deprecated-distutils.patch # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move # warning check -Patch063: gdb-gcc-13-backport-self-move-diagnostic-fix +Patch062: gdb-gcc-13-backport-self-move-diagnostic-fix # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" # (Simon Marchi, backtrace/29374) -Patch064: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +Patch063: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index a2afd6e..7d2cc95 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -61,4 +61,3 @@ %patch061 -p1 %patch062 -p1 %patch063 -p1 -%patch064 -p1 diff --git a/_patch_order b/_patch_order index 925fb4e..f369df2 100644 --- a/_patch_order +++ b/_patch_order @@ -35,7 +35,6 @@ gdb-test-bt-cfi-without-die.patch gdb-bz634108-solib_address.patch gdb-test-pid0-core.patch gdb-test-dw2-aranges.patch -gdb-test-ivy-bridge.patch gdb-glibc-strstr-workaround.patch gdb-rhel5.9-testcase-xlf-var-inside-mod.patch gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch diff --git a/gdb-test-ivy-bridge.patch b/gdb-test-ivy-bridge.patch deleted file mode 100644 index ed82789..0000000 --- a/gdb-test-ivy-bridge.patch +++ /dev/null @@ -1,468 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-test-ivy-bridge.patch - -;; Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.arch/amd64-ivy-bridge.S b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.S -@@ -0,0 +1,98 @@ -+/* Copyright 2011 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ This file is part of the gdb testsuite. */ -+ -+ .globl _start -+_start: .text -+ -+/* gas/i386/x86-64-rdrnd.s */ -+ .att_syntax prefix -+ rdrand %bx -+ rdrand %ebx -+ rdrand %rbx -+ rdrand %r8w -+ rdrand %r8d -+ rdrand %r8 -+ -+ .intel_syntax noprefix -+ rdrand bx -+ rdrand ebx -+ rdrand rbx -+ rdrand r8w -+ rdrand r8d -+ rdrand r8 -+ -+/* gas/i386/x86-64-f16c.s */ -+ .att_syntax prefix -+ vcvtph2ps %xmm4,%ymm4 -+ vcvtph2ps (%r8),%ymm8 -+ vcvtph2ps %xmm4,%xmm6 -+ vcvtph2ps (%rcx),%xmm4 -+ vcvtps2ph $0x2,%ymm4,%xmm4 -+ vcvtps2ph $0x2,%ymm8,(%r8) -+ vcvtps2ph $0x2,%xmm4,%xmm4 -+ vcvtps2ph $0x2,%xmm4,(%rcx) -+ -+ .intel_syntax noprefix -+ vcvtph2ps ymm4,xmm4 -+ vcvtph2ps ymm8,XMMWORD PTR [r8] -+ vcvtph2ps ymm4,[rcx] -+ vcvtph2ps xmm6,xmm4 -+ vcvtph2ps xmm4,QWORD PTR [rcx] -+ vcvtph2ps xmm4,[rcx] -+ vcvtps2ph xmm4,ymm4,0x2 -+ vcvtps2ph XMMWORD PTR [rcx],ymm4,0x2 -+ vcvtps2ph [rcx],ymm4,0x2 -+ vcvtps2ph xmm4,xmm4,0x2 -+ vcvtps2ph QWORD PTR [r8],xmm8,0x2 -+ vcvtps2ph [rcx],xmm4,0x2 -+ -+/* gas/i386/x86-64-fsgs.s */ -+ .att_syntax prefix -+ rdfsbase %ebx -+ rdfsbase %rbx -+ rdfsbase %r8d -+ rdfsbase %r8 -+ rdgsbase %ebx -+ rdgsbase %rbx -+ rdgsbase %r8d -+ rdgsbase %r8 -+ wrfsbase %ebx -+ wrfsbase %rbx -+ wrfsbase %r8d -+ wrfsbase %r8 -+ wrgsbase %ebx -+ wrgsbase %rbx -+ wrgsbase %r8d -+ wrgsbase %r8 -+ -+ .intel_syntax noprefix -+ rdfsbase ebx -+ rdfsbase rbx -+ rdfsbase r8d -+ rdfsbase r8 -+ rdgsbase ebx -+ rdgsbase rbx -+ rdgsbase r8d -+ rdgsbase r8 -+ wrfsbase ebx -+ wrfsbase rbx -+ wrfsbase r8d -+ wrfsbase r8 -+ wrgsbase ebx -+ wrgsbase rbx -+ wrgsbase r8d -+ wrgsbase r8 -diff --git a/gdb/testsuite/gdb.arch/amd64-ivy-bridge.exp b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.exp -@@ -0,0 +1,170 @@ -+# Copyright 2011 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+if {![istarget "x86_64-*-*"]} then { -+ return -+} -+ -+set testfile amd64-ivy-bridge -+set test compilation -+if [prepare_for_testing ${testfile}.exp ${testfile}.x ${testfile}.S [list debug "additional_flags=-m64 -nostdlib"]] { -+ unsupported $test -+ return -1 -+} -+pass $test -+ -+gdb_test_no_output "set disassembly-flavor att" -+# gas/i386/x86-64-rdrnd.d -+# gas/i386/x86-64-f16c.d -+# gas/i386/x86-64-fsgs.d -+gdb_test "disassemble/r _start" "\r -+Dump of assembler code for function _start:\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r -+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand %rbx\r -+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand %r8w\r -+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand %r8d\r -+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand %r8\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r -+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand %rbx\r -+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand %r8w\r -+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand %r8d\r -+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand %r8\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r -+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps \\(%r8\\),%ymm8\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r -+\[^\r\n\]+:\tc4 43 7d 1d 00 02\t\( \)?vcvtps2ph \\\$0x2,%ymm8,\\(%r8\\)\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%rcx\\)\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r -+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps \\(%r8\\),%ymm8\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%ymm4\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%xmm4\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%rcx\\)\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%rcx\\)\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r -+\[^\r\n\]+:\tc4 43 79 1d 00 02\t\( \)?vcvtps2ph \\\$0x2,%xmm8,\\(%r8\\)\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%rcx\\)\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase %r8\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r -+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase %rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase %r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase %r8\r -+End of assembler dump\\." "att" -+ -+gdb_test_no_output "set disassembly-flavor intel" -+# gas/i386/x86-64-rdrnd-intel.d -+# gas/i386/x86-64-f16c-intel.d -+# gas/i386/x86-64-fsgs-intel.d -+gdb_test "disassemble/r _start" "\r -+Dump of assembler code for function _start:\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r -+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand rbx\r -+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand r8w\r -+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand r8d\r -+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand r8\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r -+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand rbx\r -+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand r8w\r -+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand r8d\r -+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand r8\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r -+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps ymm8,XMMWORD PTR \\\[r8\\\]\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[rcx\\\]\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r -+\[^\r\n\]+:\tc4 43 7d 1d 00 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[r8\\\],ymm8,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[rcx\\\],xmm4,0x2\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r -+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps ymm8,XMMWORD PTR \\\[r8\\\]\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[rcx\\\]\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[rcx\\\]\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[rcx\\\]\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[rcx\\\],ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[rcx\\\],ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r -+\[^\r\n\]+:\tc4 43 79 1d 00 02\t\( \)?vcvtps2ph QWORD PTR \\\[r8\\\],xmm8,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[rcx\\\],xmm4,0x2\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase r8\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase r8\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase r8\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase r8\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase r8\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase r8\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase r8\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r -+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase rbx\r -+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase r8d\r -+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase r8\r -+End of assembler dump\\." "intel" -diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.S b/gdb/testsuite/gdb.arch/i386-ivy-bridge.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/i386-ivy-bridge.S -@@ -0,0 +1,66 @@ -+/* Copyright 2011 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ This file is part of the gdb testsuite. */ -+ -+ .globl _start -+_start: .text -+ -+/* gas/i386/rdrnd.s */ -+ .att_syntax prefix -+ rdrand %bx -+ rdrand %ebx -+ -+ .intel_syntax noprefix -+ rdrand bx -+ rdrand ebx -+ -+/* gas/i386/f16c.s */ -+ .att_syntax prefix -+ vcvtph2ps %xmm4,%ymm4 -+ vcvtph2ps (%ecx),%ymm4 -+ vcvtph2ps %xmm4,%xmm6 -+ vcvtph2ps (%ecx),%xmm4 -+ vcvtps2ph $0x2,%ymm4,%xmm4 -+ vcvtps2ph $0x2,%ymm4,(%ecx) -+ vcvtps2ph $0x2,%xmm4,%xmm4 -+ vcvtps2ph $0x2,%xmm4,(%ecx) -+ -+ .intel_syntax noprefix -+ vcvtph2ps ymm4,xmm4 -+ vcvtph2ps ymm4,XMMWORD PTR [ecx] -+ vcvtph2ps ymm4,[ecx] -+ vcvtph2ps xmm6,xmm4 -+ vcvtph2ps xmm4,QWORD PTR [ecx] -+ vcvtph2ps xmm4,[ecx] -+ vcvtps2ph xmm4,ymm4,0x2 -+ vcvtps2ph XMMWORD PTR [ecx],ymm4,0x2 -+ vcvtps2ph [ecx],ymm4,0x2 -+ vcvtps2ph xmm4,xmm4,0x2 -+ vcvtps2ph QWORD PTR [ecx],xmm4,0x2 -+ vcvtps2ph [ecx],xmm4,0x2 -+ -+/* gas/i386/fsgs.s */ -+ .att_syntax prefix -+ rdfsbase %ebx -+ rdgsbase %ebx -+ wrfsbase %ebx -+ wrgsbase %ebx -+ -+ .intel_syntax noprefix -+ rdfsbase ebx -+ rdgsbase ebx -+ wrfsbase ebx -+ wrgsbase ebx -diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp b/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp -@@ -0,0 +1,106 @@ -+# Copyright 2011 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+if {![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]} then { -+ return -+} -+ -+set testfile i386-ivy-bridge -+set test compilation -+if [prepare_for_testing ${testfile}.exp ${testfile}.x ${testfile}.S [list debug "additional_flags=-m32 -nostdlib"]] { -+ fail $test -+ return -1 -+} -+pass $test -+ -+gdb_test_no_output "set disassembly-flavor att" -+# gas/i386/rdrnd.d -+# gas/i386/f16c.d -+# gas/i386/fsgs.d -+gdb_test "disassemble/r _start" "\r -+Dump of assembler code for function _start:\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%ymm4\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%ecx\\)\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%ecx\\)\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%ymm4\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%ymm4\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%xmm4\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%ecx\\)\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%ecx\\)\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%ecx\\)\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%ecx\\)\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r -+End of assembler dump\\." "att" -+ -+gdb_test_no_output "set disassembly-flavor intel" -+# gas/i386/rdrnd-intel.d -+# gas/i386/f16c-intel.d -+# gas/i386/fsgs-intel.d -+gdb_test "disassemble/r _start" "\r -+Dump of assembler code for function _start:\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r -+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r -+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[ecx\\\]\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[ecx\\\]\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[ecx\\\],ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[ecx\\\],xmm4,0x2\r -+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[ecx\\\]\r -+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[ecx\\\]\r -+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[ecx\\\]\r -+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[ecx\\\]\r -+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[ecx\\\],ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[ecx\\\],ymm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[ecx\\\],xmm4,0x2\r -+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[ecx\\\],xmm4,0x2\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r -+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r -+End of assembler dump\\." "intel" From 92d162c371bc629bf1e8c24a6640520fc9e0a03f Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Wed, 8 Mar 2023 21:42:55 -0700 Subject: [PATCH 36/84] Rebase to FSF GDB 13.1 Update gdb-6.3-rh-testversion-20041202.patch. Update gdb-6.3-bz140532-ppc-unwinding-test.patch. Update gdb-6.6-buildid-locate.patch. Update gdb-6.6-buildid-locate-rpm.patch. Remove 'Recommends: ' line for gcc-gdb-plugin for BZ2149246. Add 'define _lto_cflags ' to avoid ODR violations. Add -Wno-stringop-overflow to --enable-gdb-build-warnings to work around gcc problem. --- .gitignore | 2 +- _gdb.spec.Patch.include | 30 - _gdb.spec.patch.include | 8 - _git_upstream_commit | 2 +- _patch_order | 8 - gdb-6.3-bz140532-ppc-unwinding-test.patch | 15 - gdb-6.3-gstack-20050411.patch | 6 +- gdb-6.3-rh-testversion-20041202.patch | 2 +- ...337-resolve-tls-without-debuginfo-v2.patch | 2 +- gdb-6.6-buildid-locate-rpm.patch | 66 +- ...6.6-buildid-locate-solib-missing-ids.patch | 4 +- gdb-6.6-buildid-locate.patch | 244 +- gdb-6.7-testsuite-stable-results.patch | 6 +- ...f-at-beginning-of-dwarf_expr_context.patch | 28613 ---------------- ...port-fix-break-main-file-remove-fail.patch | 101 - ...-config-replace-deprecated-distutils.patch | 88 - gdb-backport-readline_support.patch | 31 - gdb-ccache-workaround.patch | 6 +- gdb-container-rh-pkg.patch | 2 +- gdb-core-open-vdso-warning.patch | 6 +- gdb-fedora-libncursesw.patch | 12 +- gdb-linux_perf-bundle.patch | 2 +- ...2-libiberty-fix-c89isms-in-configure.patch | 109 - gdb-rhbz2152431-label-symbol-value.patch | 181 - gdb-sw22395-constify-target_desc.patch | 1153 - gdb.spec | 27 +- sources | 2 +- 27 files changed, 249 insertions(+), 30479 deletions(-) delete mode 100644 gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch delete mode 100644 gdb-backport-fix-break-main-file-remove-fail.patch delete mode 100644 gdb-backport-python-config-replace-deprecated-distutils.patch delete mode 100644 gdb-backport-readline_support.patch delete mode 100644 gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch delete mode 100644 gdb-rhbz2152431-label-symbol-value.patch delete mode 100644 gdb-sw22395-constify-target_desc.patch diff --git a/.gitignore b/.gitignore index b764e22..59fdeb1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ /new-fedora-release /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz -/gdb-12.1.tar.xz /v2.0.5.tar.gz +/gdb-13.1.tar.xz diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 34d2967..1f92711 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -234,33 +234,3 @@ Patch054: gdb-libexec-add-index.patch # =fedoratest Patch055: gdb-rhbz1553104-s390x-arch12-test.patch - -Patch056: gdb-backport-readline_support.patch - -# [gdb/testsuite] Use prototype to call libc functions -# (Tom de Vries) -Patch057: gdb-backport-fix-break-main-file-remove-fail.patch - -# Constify target_desc to fix PPC ODR violations. -# (Keith Seitz, build/22395) -Patch058: gdb-sw22395-constify-target_desc.patch - -# libiberty: Fix C89-isms in configure tests -# (Florian Weimer, RHBZ 2143992) -Patch059: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch - - -Patch060: gdb-rhbz2152431-label-symbol-value.patch - -#Backport replace deprecated distutils.sysconfig in -#python-config (Lancelot SIX) -Patch061: gdb-backport-python-config-replace-deprecated-distutils.patch - -# gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move -# warning check -Patch062: gdb-gcc-13-backport-self-move-diagnostic-fix - -# Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" -# (Simon Marchi, backtrace/29374) -Patch063: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch - diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 7d2cc95..cb3143d 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -53,11 +53,3 @@ %patch053 -p1 %patch054 -p1 %patch055 -p1 -%patch056 -p1 -%patch057 -p1 -%patch058 -p1 -%patch059 -p1 -%patch060 -p1 -%patch061 -p1 -%patch062 -p1 -%patch063 -p1 diff --git a/_git_upstream_commit b/_git_upstream_commit index da9ead1..550f43d 100644 --- a/_git_upstream_commit +++ b/_git_upstream_commit @@ -1 +1 @@ -e53a8e8685685c97588f8319d993ea6cd5635e47 +4f3e26ac6ee31f7bc4b04abd8bdb944e7f1fc5d2 diff --git a/_patch_order b/_patch_order index f369df2..2c86855 100644 --- a/_patch_order +++ b/_patch_order @@ -53,11 +53,3 @@ gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch -gdb-backport-readline_support.patch -gdb-backport-fix-break-main-file-remove-fail.patch -gdb-sw22395-constify-target_desc.patch -gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch -gdb-rhbz2152431-label-symbol-value.patch -gdb-backport-python-config-replace-deprecated-distutils.patch -gdb-gcc-13-backport-self-move-diagnostic-fix -gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch \ No newline at end of file diff --git a/gdb-6.3-bz140532-ppc-unwinding-test.patch b/gdb-6.3-bz140532-ppc-unwinding-test.patch index 2e38a26..067f456 100644 --- a/gdb-6.3-bz140532-ppc-unwinding-test.patch +++ b/gdb-6.3-bz140532-ppc-unwinding-test.patch @@ -303,18 +303,3 @@ new file mode 100644 + pass $test + } +} -diff --git a/gdb/testsuite/gdb.arch/powerpc-prologue.exp b/gdb/testsuite/gdb.arch/powerpc-prologue.exp ---- a/gdb/testsuite/gdb.arch/powerpc-prologue.exp -+++ b/gdb/testsuite/gdb.arch/powerpc-prologue.exp -@@ -16,8 +16,9 @@ - # Test PowerPC prologue analyzer. - - # Do not run on AIX (where we won't be able to build the tests without --# some surgery) or on PowerPC64 (ditto, dot symbols). --if {[istarget *-*-aix*] || ![istarget "powerpc-*-*"]} then { -+# some surgery). PowerPC64 target would break due to dot symbols but we build -+# there PowerPC32 inferior. -+if {[istarget *-*-aix*] || ![istarget "powerpc*-*-*"]} then { - verbose "Skipping PowerPC prologue tests." - return - } diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch index 6f6ecfb..ce9cd65 100644 --- a/gdb-6.3-gstack-20050411.patch +++ b/gdb-6.3-gstack-20050411.patch @@ -16,7 +16,7 @@ Subject: gdb-6.3-gstack-20050411.patch diff --git a/gdb/Makefile.in b/gdb/Makefile.in --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -1767,7 +1767,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force +@@ -2011,7 +2011,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force install: all @$(MAKE) $(FLAGS_TO_PASS) install-only @@ -25,7 +25,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e "$$t"` ; \ if test "x$$transformed_name" = x; then \ -@@ -1816,7 +1816,25 @@ install-guile: +@@ -2061,7 +2061,25 @@ install-guile: install-python: $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb @@ -52,7 +52,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e $$t` ; \ if test "x$$transformed_name" = x; then \ -@@ -1847,6 +1865,18 @@ uninstall: force $(CONFIG_UNINSTALL) +@@ -2092,6 +2110,18 @@ uninstall: force $(CONFIG_UNINSTALL) rm -f $(DESTDIR)$(bindir)/$$transformed_name @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do diff --git a/gdb-6.3-rh-testversion-20041202.patch b/gdb-6.3-rh-testversion-20041202.patch index b8c7940..718e53a 100644 --- a/gdb-6.3-rh-testversion-20041202.patch +++ b/gdb-6.3-rh-testversion-20041202.patch @@ -27,7 +27,7 @@ diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest diff --git a/gdb/top.c b/gdb/top.c --- a/gdb/top.c +++ b/gdb/top.c -@@ -2234,7 +2234,7 @@ init_gdb_version_vars (void) +@@ -2382,7 +2382,7 @@ The second argument is the terminal the UI runs on."), &cmdlist); struct internalvar *major_version_var = create_internalvar ("_gdb_major"); struct internalvar *minor_version_var = create_internalvar ("_gdb_minor"); int vmajor = 0, vminor = 0, vrevision = 0; diff --git a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch index ac3aa17..6a9fcad 100644 --- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +++ b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch @@ -44,7 +44,7 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug: diff --git a/gdb/printcmd.c b/gdb/printcmd.c --- a/gdb/printcmd.c +++ b/gdb/printcmd.c -@@ -1301,6 +1301,10 @@ process_print_command_args (const char *args, value_print_options *print_opts, +@@ -1300,6 +1300,10 @@ process_print_command_args (const char *args, value_print_options *print_opts, if (exp != nullptr && *exp) { diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch index 6481d30..051f3cb 100644 --- a/gdb-6.6-buildid-locate-rpm.patch +++ b/gdb-6.6-buildid-locate-rpm.patch @@ -1,6 +1,6 @@ From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 +From: Kevin Buettner +Date: Wed, 22 Feb 2023 22:30:40 -0700 Subject: gdb-6.6-buildid-locate-rpm.patch ;;=push+jan @@ -232,6 +232,40 @@ diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4 # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2017 Free Software Foundation, Inc. +diff --git a/gdb/build-id.c b/gdb/build-id.c +--- a/gdb/build-id.c ++++ b/gdb/build-id.c +@@ -771,10 +771,10 @@ missing_rpm_enlist_1 (const char *filename, int verify_vendor) + static rpmts (*rpmtsCreate_p) (void); + extern rpmts rpmtsFree(rpmts ts); + static rpmts (*rpmtsFree_p) (rpmts ts); +- extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, ++ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, + const void * keyp, size_t keylen); + static rpmdbMatchIterator (*rpmtsInitIterator_p) (const rpmts ts, +- rpmTag rpmtag, ++ rpmDbiTagVal rpmtag, + const void *keyp, + size_t keylen); + #else /* !DLOPEN_LIBRPM */ +@@ -829,7 +829,7 @@ missing_rpm_enlist_1 (const char *filename, int verify_vendor) + && (rpmdbNextIterator_p = (Header (*) (rpmdbMatchIterator mi)) dlsym (h, "rpmdbNextIterator")) + && (rpmtsCreate_p = (rpmts (*) (void)) dlsym (h, "rpmtsCreate")) + && (rpmtsFree_p = (rpmts (*) (rpmts ts)) dlsym (h, "rpmtsFree")) +- && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator")))) ++ && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator")))) + { + warning (_("Opened library \"%s\" is incompatible (%s), " + "missing debuginfos notifications will not be displayed"), +@@ -917,7 +917,7 @@ missing_rpm_enlist_1 (const char *filename, int verify_vendor) + + /* RPMDBI_PACKAGES requires keylen == sizeof (int). */ + /* RPMDBI_LABEL is an interface for NVR-based dbiFindByLabel(). */ +- mi_debuginfo = rpmtsInitIterator_p (ts, (rpmTag) RPMDBI_LABEL, debuginfo, 0); ++ mi_debuginfo = rpmtsInitIterator_p (ts, (rpmDbiTagVal) RPMDBI_LABEL, debuginfo, 0); + xfree (debuginfo); + if (mi_debuginfo) + { diff --git a/gdb/config.in b/gdb/config.in --- a/gdb/config.in +++ b/gdb/config.in @@ -258,7 +292,7 @@ diff --git a/gdb/config.in b/gdb/config.in diff --git a/gdb/configure b/gdb/configure --- a/gdb/configure +++ b/gdb/configure -@@ -775,6 +775,11 @@ TARGET_OBS +@@ -783,6 +783,11 @@ TARGET_OBS ENABLE_BFD_64_BIT_FALSE ENABLE_BFD_64_BIT_TRUE subdirs @@ -270,7 +304,7 @@ diff --git a/gdb/configure b/gdb/configure GDB_DATADIR DEBUGDIR MAKEINFO_EXTRA_FLAGS -@@ -880,6 +885,7 @@ with_gdb_datadir +@@ -912,6 +917,7 @@ with_gdb_datadir with_relocated_sources with_auto_load_dir with_auto_load_safe_path @@ -278,7 +312,7 @@ diff --git a/gdb/configure b/gdb/configure enable_targets enable_64_bit_bfd enable_gdbmi -@@ -959,6 +965,8 @@ PKG_CONFIG_PATH +@@ -992,6 +998,8 @@ PKG_CONFIG_PATH PKG_CONFIG_LIBDIR DEBUGINFOD_CFLAGS DEBUGINFOD_LIBS @@ -286,8 +320,8 @@ diff --git a/gdb/configure b/gdb/configure +RPM_LIBS YACC YFLAGS - XMKMF' -@@ -1635,6 +1643,8 @@ Optional Packages: + ZSTD_CFLAGS +@@ -1678,6 +1686,8 @@ Optional Packages: do not restrict auto-loaded files locations --with-debuginfod Enable debuginfo lookups with debuginfod (auto/yes/no) @@ -296,7 +330,7 @@ diff --git a/gdb/configure b/gdb/configure --with-libunwind-ia64 use libunwind frame unwinding for ia64 targets --with-curses use the curses library instead of the termcap library -@@ -1715,6 +1725,8 @@ Some influential environment variables: +@@ -1761,6 +1771,8 @@ Some influential environment variables: C compiler flags for DEBUGINFOD, overriding pkg-config DEBUGINFOD_LIBS linker flags for DEBUGINFOD, overriding pkg-config @@ -305,7 +339,7 @@ diff --git a/gdb/configure b/gdb/configure YACC The `Yet Another Compiler Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. -@@ -6634,6 +6646,495 @@ _ACEOF +@@ -17848,6 +17860,494 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5 $as_echo "$with_auto_load_safe_path" >&6; } @@ -369,7 +403,6 @@ diff --git a/gdb/configure b/gdb/configure +#include +#include +#include -+#include + +int +main () @@ -804,7 +837,7 @@ diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac -@@ -153,6 +153,200 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir, +@@ -160,6 +160,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir, [Directories safe to hold auto-loaded files.]) AC_MSG_RESULT([$with_auto_load_safe_path]) @@ -854,7 +887,6 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac +#include +#include +#include -+#include + ]], [[ + void *h; + const char *const *rpmverp; @@ -1008,15 +1040,15 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac diff --git a/gdb/event-top.c b/gdb/event-top.c --- a/gdb/event-top.c +++ b/gdb/event-top.c -@@ -42,6 +42,7 @@ - #include "gdbsupport/gdb-sigmask.h" +@@ -43,6 +43,7 @@ #include "async-event.h" #include "bt-utils.h" + #include "pager.h" +#include "symfile.h" /* readline include files. */ #include "readline/readline.h" -@@ -374,6 +375,8 @@ display_gdb_prompt (const char *new_prompt) +@@ -391,6 +392,8 @@ display_gdb_prompt (const char *new_prompt) /* Reset the nesting depth used when trace-commands is set. */ reset_command_nest_depth (); @@ -1025,7 +1057,7 @@ diff --git a/gdb/event-top.c b/gdb/event-top.c /* Do not call the python hook on an explicit prompt change as passed to this function, as this forms a secondary/local prompt, IE, displayed but not set. */ -@@ -800,7 +803,10 @@ command_line_handler (gdb::unique_xmalloc_ptr &&rl) +@@ -852,7 +855,10 @@ command_line_handler (gdb::unique_xmalloc_ptr &&rl) command_handler (cmd); if (ui->prompt_state != PROMPTED) @@ -1040,7 +1072,7 @@ diff --git a/gdb/event-top.c b/gdb/event-top.c diff --git a/gdb/symfile.h b/gdb/symfile.h --- a/gdb/symfile.h +++ b/gdb/symfile.h -@@ -342,6 +342,7 @@ extern void generic_load (const char *args, int from_tty); +@@ -352,6 +352,7 @@ extern void generic_load (const char *args, int from_tty); /* build-id support. */ extern struct bfd_build_id *build_id_addr_get (CORE_ADDR addr); extern void debug_print_missing (const char *binary, const char *debug); diff --git a/gdb-6.6-buildid-locate-solib-missing-ids.patch b/gdb-6.6-buildid-locate-solib-missing-ids.patch index df45319..3b641f8 100644 --- a/gdb-6.6-buildid-locate-solib-missing-ids.patch +++ b/gdb-6.6-buildid-locate-solib-missing-ids.patch @@ -14,7 +14,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1339862 diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c -@@ -1250,14 +1250,28 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, +@@ -1321,14 +1321,28 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, } { @@ -45,7 +45,7 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c if (build_id != NULL) { char *name, *build_id_filename; -@@ -1272,23 +1286,7 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, +@@ -1343,23 +1357,7 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, xfree (name); } else diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index 424681c..a3c6494 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -21,7 +21,7 @@ diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h diff --git a/bfd/libbfd.h b/bfd/libbfd.h --- a/bfd/libbfd.h +++ b/bfd/libbfd.h -@@ -120,7 +120,7 @@ static inline char * +@@ -121,7 +121,7 @@ static inline char * bfd_strdup (const char *str) { size_t len = strlen (str) + 1; @@ -59,8 +59,8 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c +show_build_id_verbose (struct ui_file *file, int from_tty, + struct cmd_list_element *c, const char *value) +{ -+ fprintf_filtered (file, _("Verbosity level of the build-id locator is %s.\n"), -+ value); ++ gdb_printf (file, _("Verbosity level of the build-id locator is %s.\n"), ++ value); +} +/* Locate NT_GNU_BUILD_ID and return its matching debug filename. + FIXME: NOTE decoding should be unified with the BFD core notes decoding. */ @@ -517,9 +517,9 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + if (separate_debug_file_debug) { -- fprintf_unfiltered (gdb_stdlog, _(" Trying %s..."), link.c_str ()); +- gdb_printf (gdb_stdlog, _(" Trying %s..."), link.c_str ()); - gdb_flush (gdb_stdlog); -+ fprintf_unfiltered (gdb_stdlog, _(" Trying %s..."), orig_link.c_str ()); ++ gdb_printf (gdb_stdlog, _(" Trying %s..."), orig_link.c_str ()); + gdb_flush (gdb_stdout); } @@ -539,8 +539,8 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c - if (filename == NULL) - { - if (separate_debug_file_debug) -- fprintf_unfiltered (gdb_stdlog, -- _(" no, unable to compute real path\n")); +- gdb_printf (gdb_stdlog, +- _(" no, unable to compute real path\n")); + if (seqno > 0) + { + /* There can be multiple build-id symlinks pointing to real files @@ -559,7 +559,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c - if (debug_bfd == NULL) - { - if (separate_debug_file_debug) -- fprintf_unfiltered (gdb_stdlog, _(" no, unable to open.\n")); +- gdb_printf (gdb_stdlog, _(" no, unable to open.\n")); + struct stat statbuf_trash; + + /* `access' automatically dereferences LINK. */ @@ -568,8 +568,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + /* Stop increasing SEQNO. */ + break; + } - -- return {}; ++ + /* lrealpath() is expensive even for the usually non-existent files. */ + gdb::unique_xmalloc_ptr filename_holder; + const char *filename = nullptr; @@ -584,7 +583,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + if (filename == NULL) + { + if (separate_debug_file_debug) -+ fprintf_unfiltered (gdb_stdlog, ++ gdb_printf (gdb_stdlog, + _(" no, unable to compute real path\n")); + + continue; @@ -596,16 +595,17 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + if (debug_bfd == NULL) + { + if (separate_debug_file_debug) -+ fprintf_unfiltered (gdb_stdlog, _(" no, unable to open.\n")); -+ ++ gdb_printf (gdb_stdlog, _(" no, unable to open.\n")); + +- return {}; + continue; + } + + if (!build_id_verify (debug_bfd.get(), build_id_len, build_id)) + { + if (separate_debug_file_debug) -+ fprintf_unfiltered (gdb_stdlog, -+ _(" no, build-id does not match.\n")); ++ gdb_printf (gdb_stdlog, ++ _(" no, build-id does not match.\n")); + + continue; + } @@ -620,21 +620,21 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + if (ret_bfd != NULL) { if (separate_debug_file_debug) -- fprintf_unfiltered (gdb_stdlog, _(" no, build-id does not match.\n")); -+ fprintf_unfiltered (gdb_stdlog, _(" yes!\n")); +- gdb_printf (gdb_stdlog, _(" no, build-id does not match.\n")); ++ gdb_printf (gdb_stdlog, _(" yes!\n")); + } + else + { + /* If none of the real files is found report as missing file + always the non-.%u-suffixed file. */ + std::string link0 = orig_link; -+ + +- return {}; + /* If the symlink has target request to install the target. + BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing. + https://bugzilla.redhat.com/show_bug.cgi?id=981154 */ + std::string link0_resolved (link_resolve (link0.c_str (), 0)); - -- return {}; ++ + if (link_all.empty ()) + link_all = link0_resolved; + else @@ -646,7 +646,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c } - if (separate_debug_file_debug) -- fprintf_unfiltered (gdb_stdlog, _(" yes!\n")); +- gdb_printf (gdb_stdlog, _(" yes!\n")); + if (link_return != NULL) + { + if (ret_bfd != NULL) @@ -703,7 +703,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (debug_bfd != NULL) return debug_bfd; } -@@ -183,30 +687,595 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, +@@ -183,30 +687,655 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, return {}; } @@ -765,7 +765,11 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c +/* Returns the count of newly added rpms. */ + +static int ++#ifndef GDB_INDEX_VERIFY_VENDOR +missing_rpm_enlist (const char *filename) ++#else ++missing_rpm_enlist_1 (const char *filename, int verify_vendor) ++#endif +{ + static int rpm_init_done = 0; + rpmts ts; @@ -787,10 +791,10 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + static rpmts (*rpmtsCreate_p) (void); + extern rpmts rpmtsFree(rpmts ts); + static rpmts (*rpmtsFree_p) (rpmts ts); -+ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, ++ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, + const void * keyp, size_t keylen); + static rpmdbMatchIterator (*rpmtsInitIterator_p) (const rpmts ts, -+ rpmDbiTagVal rpmtag, ++ rpmTag rpmtag, + const void *keyp, + size_t keylen); +#else /* !DLOPEN_LIBRPM */ @@ -845,7 +849,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + && (rpmdbNextIterator_p = (Header (*) (rpmdbMatchIterator mi)) dlsym (h, "rpmdbNextIterator")) + && (rpmtsCreate_p = (rpmts (*) (void)) dlsym (h, "rpmtsCreate")) + && (rpmtsFree_p = (rpmts (*) (rpmts ts)) dlsym (h, "rpmtsFree")) -+ && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator")))) ++ && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator")))) + { + warning (_("Opened library \"%s\" is incompatible (%s), " + "missing debuginfos notifications will not be displayed"), @@ -872,7 +876,11 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0); + if (mi != NULL) + { ++#ifndef GDB_INDEX_VERIFY_VENDOR + for (;;) ++#else ++ if (!verify_vendor) for (;;) ++#endif + { + Header h; + char *debuginfo, **slot, *s, *s2; @@ -990,6 +998,38 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + xfree (debuginfo); + count++; + } ++#ifdef GDB_INDEX_VERIFY_VENDOR ++ else /* verify_vendor */ ++ { ++ int vendor_pass = 0, vendor_fail = 0; ++ ++ for (;;) ++ { ++ Header h; ++ errmsg_t err; ++ char *vendor; ++ ++ h = rpmdbNextIterator_p (mi); ++ if (h == NULL) ++ break; ++ ++ vendor = headerFormat_p (h, "%{vendor}", &err); ++ if (!vendor) ++ { ++ warning (_("Error querying the rpm file `%s': %s"), filename, ++ err); ++ continue; ++ } ++ if (strcmp (vendor, "Red Hat, Inc.") == 0) ++ vendor_pass = 1; ++ else ++ vendor_fail = 1; ++ xfree (vendor); ++ } ++ count = vendor_pass != 0 && vendor_fail == 0; ++ } ++#endif ++ + rpmdbFreeIterator_p (mi); + } + @@ -998,6 +1038,20 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + return count; +} + ++#ifdef GDB_INDEX_VERIFY_VENDOR ++missing_rpm_enlist (const char *filename) ++{ ++ return missing_rpm_enlist_1 (filename, 0); ++} ++ ++extern int rpm_verify_vendor (const char *filename); ++int ++rpm_verify_vendor (const char *filename) ++{ ++ return missing_rpm_enlist_1 (filename, 1); ++} ++#endif ++ +static bool +missing_rpm_list_compar (const char *ap, const char *bp) +{ @@ -1040,20 +1094,26 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + debug_flush_missing -> missing_rpm_list_print ... + + For this reason, we make sure MISSING_RPM_LIST_ENTRIES is zero -+ *before* calling any print function. */ ++ *before* calling any print function. ++ ++ Note: kevinb/2023-02-22: The code below used to call ++ puts_unfiltered() and printf_unfiltered(), but calls to these ++ functions have been replaced by calls to gdb_printf(). The call ++ chain shown above (probably) used to be the case at one time and ++ hopefully something similar is still the case now that ++ gdb_printf() is being used instead. */ + missing_rpm_list_entries = 0; + -+ printf_unfiltered (_("Missing separate debuginfos, use: %s"), ++ gdb_printf (_("Missing separate debuginfos, use: %s"), +#ifdef DNF_DEBUGINFO_INSTALL + "dnf " +#endif + "debuginfo-install"); + for (const char *el : array) + { -+ puts_unfiltered (" "); -+ puts_unfiltered (el); ++ gdb_printf (" %s", el); + } -+ puts_unfiltered ("\n"); ++ gdb_printf ("\n"); + + while (missing_rpm_list != NULL) + { @@ -1252,10 +1312,10 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + /* We do not collect and flush these messages as each such message + already requires its own separate lines. */ + -+ fprintf_unfiltered (gdb_stdlog, -+ _("Missing separate debuginfo for %s\n"), binary); ++ gdb_printf (gdb_stdlog, ++ _("Missing separate debuginfo for %s\n"), binary); + if (debug != NULL) -+ fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"), ++ gdb_printf (gdb_stdlog, _("Try: %s %s\n"), +#ifdef DNF_DEBUGINFO_INSTALL + "dnf" +#else @@ -1297,17 +1357,17 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c { const struct bfd_build_id *build_id; -- build_id = build_id_bfd_get (objfile->obfd); +- build_id = build_id_bfd_get (objfile->obfd.get ()); + if (build_id_filename_return) + *build_id_filename_return = NULL; + -+ build_id = build_id_bfd_shdr_get (objfile->obfd); ++ build_id = build_id_bfd_shdr_get (objfile->obfd.get ()); if (build_id != NULL) { if (separate_debug_file_debug) -@@ -214,8 +1283,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) - _("\nLooking for separate debug info (build-id) for " - "%s\n"), objfile_name (objfile)); +@@ -214,8 +1343,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) + _("\nLooking for separate debug info (build-id) for " + "%s\n"), objfile_name (objfile)); + char *build_id_filename_cstr = NULL; gdb_bfd_ref_ptr abfd (build_id_to_debug_bfd (build_id->size, @@ -1328,7 +1388,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c /* Prevent looping on a stripped .debug file. */ if (abfd != NULL && filename_cmp (bfd_get_filename (abfd.get ()), -@@ -228,3 +1310,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -228,3 +1370,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) return std::string (); } @@ -1401,7 +1461,7 @@ diff --git a/gdb/build-id.h b/gdb/build-id.h diff --git a/gdb/coffread.c b/gdb/coffread.c --- a/gdb/coffread.c +++ b/gdb/coffread.c -@@ -710,7 +710,8 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) +@@ -734,7 +734,8 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) /* Try to add separate debug file if no symbols table found. */ if (!objfile->has_partial_symbols ()) { @@ -1425,7 +1485,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c #include "inferior.h" #include "infrun.h" #include "symtab.h" -@@ -356,6 +360,8 @@ add_to_thread_list (asection *asect, asection *reg_sect) +@@ -391,6 +395,8 @@ add_to_thread_list (asection *asect, asection *reg_sect) switch_to_thread (thr); /* Yes, make it current. */ } @@ -1434,7 +1494,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c /* Issue a message saying we have no core to debug, if FROM_TTY. */ static void -@@ -392,19 +398,26 @@ core_file_command (const char *filename, int from_tty) +@@ -427,12 +433,14 @@ core_file_command (const char *filename, int from_tty) static void locate_exec_from_corefile_build_id (bfd *abfd, int from_tty) { @@ -1449,8 +1509,9 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c + = build_id_to_exec_bfd (build_id->size, build_id->data, + &build_id_filename); - if (execbfd != nullptr) + if (execbfd == nullptr) { +@@ -460,7 +468,12 @@ locate_exec_from_corefile_build_id (bfd *abfd, int from_tty) exec_file_attach (bfd_get_filename (execbfd.get ()), from_tty); symbol_file_add_main (bfd_get_filename (execbfd.get ()), symfile_add_flag (from_tty ? SYMFILE_VERBOSE : 0)); @@ -1463,7 +1524,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c } /* See gdbcore.h. */ -@@ -1209,4 +1222,11 @@ _initialize_corelow () +@@ -1325,4 +1338,11 @@ _initialize_corelow () maintenance_print_core_file_backed_mappings, _("Print core file's file-backed mappings."), &maintenanceprintlist); @@ -1478,7 +1539,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo -@@ -21524,6 +21524,27 @@ information files. +@@ -22037,6 +22037,27 @@ information files. @end table @@ -1509,16 +1570,16 @@ diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo diff --git a/gdb/dwarf2/index-cache.c b/gdb/dwarf2/index-cache.c --- a/gdb/dwarf2/index-cache.c +++ b/gdb/dwarf2/index-cache.c -@@ -97,7 +97,7 @@ index_cache::store (dwarf2_per_objfile *per_objfile) +@@ -101,7 +101,7 @@ index_cache::store (dwarf2_per_objfile *per_objfile) return; /* Get build id of objfile. */ -- const bfd_build_id *build_id = build_id_bfd_get (obj->obfd); -+ const bfd_build_id *build_id = build_id_bfd_shdr_get (obj->obfd); +- const bfd_build_id *build_id = build_id_bfd_get (obj->obfd.get ()); ++ const bfd_build_id *build_id = build_id_bfd_shdr_get (obj->obfd.get ()); if (build_id == nullptr) { index_cache_debug ("objfile %s has no build id", -@@ -114,7 +114,8 @@ index_cache::store (dwarf2_per_objfile *per_objfile) +@@ -118,7 +118,8 @@ index_cache::store (dwarf2_per_objfile *per_objfile) if (dwz != nullptr) { @@ -1531,16 +1592,16 @@ diff --git a/gdb/dwarf2/index-cache.c b/gdb/dwarf2/index-cache.c diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c -@@ -5476,7 +5476,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner) +@@ -5328,7 +5328,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner) static gdb::array_view get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_bfd *dwarf2_per_bfd) { -- const bfd_build_id *build_id = build_id_bfd_get (obj->obfd); -+ const bfd_build_id *build_id = build_id_bfd_shdr_get (obj->obfd); +- const bfd_build_id *build_id = build_id_bfd_get (obj->obfd.get ()); ++ const bfd_build_id *build_id = build_id_bfd_shdr_get (obj->obfd.get ()); if (build_id == nullptr) return {}; -@@ -5489,7 +5489,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_bfd *dwarf2_per_bfd) +@@ -5341,7 +5341,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_bfd *dwarf2_per_bfd) static gdb::array_view get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz) { @@ -1552,7 +1613,7 @@ diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c diff --git a/gdb/elfread.c b/gdb/elfread.c --- a/gdb/elfread.c +++ b/gdb/elfread.c -@@ -1270,7 +1270,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) +@@ -1213,7 +1213,9 @@ elf_symfile_read_dwarf2 (struct objfile *objfile, && objfile->separate_debug_objfile == NULL && objfile->separate_debug_objfile_backlink == NULL) { @@ -1563,21 +1624,22 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c if (debugfile.empty ()) debugfile = find_separate_debug_file_by_debuglink (objfile); -@@ -1285,7 +1287,7 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) - else +@@ -1229,7 +1231,7 @@ elf_symfile_read_dwarf2 (struct objfile *objfile, { has_dwarf2 = false; -- const struct bfd_build_id *build_id = build_id_bfd_get (objfile->obfd); -+ const struct bfd_build_id *build_id = build_id_bfd_shdr_get (objfile->obfd); + const struct bfd_build_id *build_id +- = build_id_bfd_get (objfile->obfd.get ()); ++ = build_id_bfd_shdr_get (objfile->obfd.get ()); + const char *filename = bfd_get_filename (objfile->obfd.get ()); if (build_id != nullptr) - { -@@ -1310,6 +1312,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) +@@ -1256,6 +1258,11 @@ elf_symfile_read_dwarf2 (struct objfile *objfile, has_dwarf2 = true; } } + /* Check if any separate debug info has been extracted out. */ -+ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink") ++ else if (bfd_get_section_by_name (objfile->obfd.get (), ++ ".gnu_debuglink") + != NULL) + debug_print_missing (objfile_name (objfile), build_id_filename.get ()); } @@ -1586,7 +1648,7 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c diff --git a/gdb/exec.c b/gdb/exec.c --- a/gdb/exec.c +++ b/gdb/exec.c -@@ -238,7 +238,7 @@ validate_exec_file (int from_tty) +@@ -237,7 +237,7 @@ validate_exec_file (int from_tty) current_exec_file = get_exec_file (0); const bfd_build_id *exec_file_build_id @@ -1595,7 +1657,7 @@ diff --git a/gdb/exec.c b/gdb/exec.c if (exec_file_build_id != nullptr) { /* Prepend the target prefix, to force gdb_bfd_open to open the -@@ -251,7 +251,7 @@ validate_exec_file (int from_tty) +@@ -250,7 +250,7 @@ validate_exec_file (int from_tty) if (abfd != nullptr) { const bfd_build_id *target_exec_file_build_id @@ -1607,7 +1669,7 @@ diff --git a/gdb/exec.c b/gdb/exec.c diff --git a/gdb/objfiles.h b/gdb/objfiles.h --- a/gdb/objfiles.h +++ b/gdb/objfiles.h -@@ -769,6 +769,10 @@ struct objfile +@@ -786,6 +786,10 @@ struct objfile bool skip_jit_symbol_lookup = false; }; @@ -1621,24 +1683,24 @@ diff --git a/gdb/objfiles.h b/gdb/objfiles.h diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c --- a/gdb/python/py-objfile.c +++ b/gdb/python/py-objfile.c -@@ -132,7 +132,7 @@ objfpy_get_build_id (PyObject *self, void *closure) +@@ -158,7 +158,7 @@ objfpy_get_build_id (PyObject *self, void *closure) try { -- build_id = build_id_bfd_get (objfile->obfd); -+ build_id = build_id_bfd_shdr_get (objfile->obfd); +- build_id = build_id_bfd_get (objfile->obfd.get ()); ++ build_id = build_id_bfd_shdr_get (objfile->obfd.get ()); } catch (const gdb_exception &except) { -@@ -600,7 +600,7 @@ objfpy_lookup_objfile_by_build_id (const char *build_id) - /* Don't return separate debug files. */ - if (objfile->separate_debug_objfile_backlink != NULL) - continue; -- obfd_build_id = build_id_bfd_get (objfile->obfd); -+ obfd_build_id = build_id_bfd_shdr_get (objfile->obfd); - if (obfd_build_id == NULL) - continue; - if (objfpy_build_id_matches (obfd_build_id, build_id)) +@@ -629,7 +629,7 @@ gdbpy_lookup_objfile (PyObject *self, PyObject *args, PyObject *kw) + if (obfd == nullptr) + return 0; + +- const bfd_build_id *obfd_build_id = build_id_bfd_get (obfd); ++ const bfd_build_id *obfd_build_id = build_id_bfd_shdr_get (obfd); + if (obfd_build_id == nullptr) + return 0; + diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -1648,9 +1710,9 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c #include "probe.h" +#include "build-id.h" - static struct link_map_offsets *svr4_fetch_link_map_offsets (void); - static int svr4_have_link_map_offsets (void); -@@ -1248,9 +1249,51 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, + #include + +@@ -1319,9 +1320,51 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, continue; } @@ -1708,19 +1770,19 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c diff --git a/gdb/source.c b/gdb/source.c --- a/gdb/source.c +++ b/gdb/source.c -@@ -1199,7 +1199,7 @@ open_source_file (struct symtab *s) - srcpath += s->filename; +@@ -1196,7 +1196,7 @@ open_source_file (struct symtab *s) } -- const struct bfd_build_id *build_id = build_id_bfd_get (ofp->obfd); -+ const struct bfd_build_id *build_id = build_id_bfd_shdr_get (ofp->obfd); + const struct bfd_build_id *build_id +- = build_id_bfd_get (ofp->obfd.get ()); ++ = build_id_bfd_shdr_get (ofp->obfd.get ()); /* Query debuginfod for the source file. */ if (build_id != nullptr && !srcpath.empty ()) diff --git a/gdb/symfile.h b/gdb/symfile.h --- a/gdb/symfile.h +++ b/gdb/symfile.h -@@ -332,12 +332,18 @@ bool expand_symtabs_matching +@@ -342,12 +342,18 @@ bool expand_symtabs_matching void map_symbol_filenames (gdb::function_view fun, bool need_fullname); @@ -1742,7 +1804,7 @@ diff --git a/gdb/symfile.h b/gdb/symfile.h diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp --- a/gdb/testsuite/gdb.base/corefile.exp +++ b/gdb/testsuite/gdb.base/corefile.exp -@@ -343,3 +343,33 @@ gdb_test_multiple "core-file $corefile" $test { +@@ -349,3 +349,33 @@ gdb_test_multiple "core-file $corefile" $test { pass $test } } @@ -1803,17 +1865,17 @@ diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp -@@ -141,7 +141,8 @@ if ![info exists INTERNAL_GDBFLAGS] { +@@ -217,7 +217,8 @@ if ![info exists INTERNAL_GDBFLAGS] { + "-nw" \ "-nx" \ - "-data-directory $BUILD_DATA_DIRECTORY" \ {-iex "set height 0"} \ - {-iex "set width 0"}]] + {-iex "set width 0"} \ + {-iex "set build-id-verbose 0"}]] - } - # The variable gdb_prompt is a regexp which matches the gdb prompt. -@@ -2200,6 +2201,17 @@ proc default_gdb_start { } { + set INTERNAL_GDBFLAGS [append_gdb_data_directory_option $INTERNAL_GDBFLAGS] + } +@@ -2349,6 +2350,17 @@ proc default_gdb_start { } { } } @@ -1834,7 +1896,7 @@ diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp -@@ -322,6 +322,16 @@ proc default_mi_gdb_start { args } { +@@ -330,6 +330,16 @@ proc default_mi_gdb_start { { flags {} } } { warning "Couldn't set the width to 0." } } diff --git a/gdb-6.7-testsuite-stable-results.patch b/gdb-6.7-testsuite-stable-results.patch index 0eca1a7..fcb007c 100644 --- a/gdb-6.7-testsuite-stable-results.patch +++ b/gdb-6.7-testsuite-stable-results.patch @@ -72,7 +72,7 @@ diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.e } if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ -@@ -47,7 +47,8 @@ set dir2 [standard_output_file dir2.fileio.test] +@@ -40,7 +40,8 @@ set dir2 [standard_output_file dir2.fileio.test] if {[file exists $dir2] && ![file writable $dir2]} { system "chmod +w $dir2" } @@ -82,7 +82,7 @@ diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.e set oldtimeout $timeout set timeout [expr "$timeout + 60"] -@@ -89,7 +90,7 @@ gdb_test continue \ +@@ -81,7 +82,7 @@ gdb_test continue \ gdb_test "continue" ".*" "" @@ -91,7 +91,7 @@ diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.e gdb_test continue \ "Continuing\\..*open 5:.*EACCES$stop_msg" \ -@@ -276,9 +277,7 @@ gdb_test continue \ +@@ -268,9 +269,7 @@ gdb_test continue \ gdb_exit # Make dir2 writable again so rm -rf of a build tree Just Works. diff --git a/gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch b/gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch deleted file mode 100644 index 4516f25..0000000 --- a/gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch +++ /dev/null @@ -1,28613 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Simon Marchi -Date: Thu, 28 Jul 2022 01:34:22 -0400 -Subject: - gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch - -;; Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result" -;; (Simon Marchi, backtrace/29374) - -gdb: call check_typedef at beginning of dwarf_expr_context::fetch_result - -Bug 29374 shows this crash: - - $ ./gdb -nx --data-directory=data-directory -q -batch -ex "catch throw" -ex r -ex bt a.out - ... - /home/simark/src/binutils-gdb/gdb/../gdbsupport/array-view.h:217: internal-error: copy: Assertion `dest.size () == src.size ()' failed. - -The backtrace is: - - #0 internal_error (file=0x5555606504c0 "/home/simark/src/binutils-gdb/gdb/../gdbsupport/array-view.h", line=217, fmt=0x55556064b700 "%s: Assertion `%s' failed.") at /home/simark/src/binutils-gdb/gdbsupport/errors.cc:51 - #1 0x000055555d41c0bb in gdb::copy (src=..., dest=...) at /home/simark/src/binutils-gdb/gdb/../gdbsupport/array-view.h:217 - #2 0x000055555deef28c in dwarf_expr_context::fetch_result (this=0x7fffffffb830, type=0x621007a86830, subobj_type=0x621007a86830, subobj_offset=0, as_lval=false) at /home/simark/src/binutils-gdb/gdb/dwarf2/expr.c:1040 - #3 0x000055555def0015 in dwarf_expr_context::evaluate (this=0x7fffffffb830, addr=0x62f00004313e "0", len=1, as_lval=false, per_cu=0x60b000069550, frame=0x621007c9e910, addr_info=0x0, type=0x621007a86830, subobj_type=0x621007a86830, subobj_offset=0) at /home/simark/src/binutils-gdb/gdb/dwarf2/expr.c:1091 - #4 0x000055555e084327 in dwarf2_evaluate_loc_desc_full (type=0x621007a86830, frame=0x621007c9e910, data=0x62f00004313e "0", size=1, per_cu=0x60b000069550, per_objfile=0x613000006080, subobj_type=0x621007a86830, subobj_byte_offset=0, as_lval=false) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1485 - #5 0x000055555e0849e2 in dwarf2_evaluate_loc_desc (type=0x621007a86830, frame=0x621007c9e910, data=0x62f00004313e "0", size=1, per_cu=0x60b000069550, per_objfile=0x613000006080, as_lval=false) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1529 - #6 0x000055555e0828c6 in dwarf_entry_parameter_to_value (parameter=0x621007a96e58, deref_size=0x0, type=0x621007a86830, caller_frame=0x621007c9e910, per_cu=0x60b000069550, per_objfile=0x613000006080) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1235 - #7 0x000055555e082f55 in value_of_dwarf_reg_entry (type=0x621007a86890, frame=0x621007acc510, kind=CALL_SITE_PARAMETER_DWARF_REG, kind_u=...) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1332 - #8 0x000055555e083449 in value_of_dwarf_block_entry (type=0x621007a86890, frame=0x621007acc510, block=0x61e000033568 "T\004\205\001\240\004\004\243\001T\237\004\240\004\261\004\001T\004\261\004\304\005\004\243\001T\237\004\304\005\310\005\001T\004\310\005\311\005\004\243\001T\237", block_len=1) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:1365 - #9 0x000055555e094d40 in loclist_read_variable_at_entry (symbol=0x621007a99bd0, frame=0x621007acc510) at /home/simark/src/binutils-gdb/gdb/dwarf2/loc.c:3889 - #10 0x000055555f5192e0 in read_frame_arg (fp_opts=..., sym=0x621007a99bd0, frame=0x621007acc510, argp=0x7fffffffbf20, entryargp=0x7fffffffbf60) at /home/simark/src/binutils-gdb/gdb/stack.c:559 - #11 0x000055555f51c352 in print_frame_args (fp_opts=..., func=0x621007a99ad0, frame=0x621007acc510, num=-1, stream=0x6030000bad90) at /home/simark/src/binutils-gdb/gdb/stack.c:887 - #12 0x000055555f521919 in print_frame (fp_opts=..., frame=0x621007acc510, print_level=1, print_what=LOCATION, print_args=1, sal=...) at /home/simark/src/binutils-gdb/gdb/stack.c:1390 - #13 0x000055555f51f22e in print_frame_info (fp_opts=..., frame=0x621007acc510, print_level=1, print_what=LOCATION, print_args=1, set_current_sal=0) at /home/simark/src/binutils-gdb/gdb/stack.c:1116 - #14 0x000055555f526c6d in backtrace_command_1 (fp_opts=..., bt_opts=..., count_exp=0x0, from_tty=0) at /home/simark/src/binutils-gdb/gdb/stack.c:2079 - #15 0x000055555f527ae5 in backtrace_command (arg=0x0, from_tty=0) at /home/simark/src/binutils-gdb/gdb/stack.c:2198 - -The problem is that the type that gets passed down to -dwarf_expr_context::fetch_result (the type of a variable of which we're -trying to read the entry value) is a typedef whose size has never been -computed yet (check_typedef has never been called on it). As we get in -the DWARF_VALUE_STACK case (line 1028 of dwarf2/expr.c), the `len` -variable is therefore set to 0, instead of the actual type length. We -then call allocate_value on subobj_type, which does call check_typedef, -so the length of the typedef gets filled in at that point. We end up -passing to the copy function a source array view of length 0 and a -target array view of length 4, and the assertion fails. - -Fix this by calling check_typedef on both type and subobj_type at the -beginning of fetch_result. - -I tried writing a test for this using the DWARF assembler, but I haven't -succeeded. It's possible that we need to get into this specific code -path (value_of_dwarf_reg_entry and all) to manage to get to -dwarf_expr_context::fetch_result with a typedef type that has never been -resolved. In all my attempts, the typedef would always be resolved -already, so the bug wouldn't show up. - -As a fallback, I made a gdb.dwarf2 test with compiler-generated .S -files. I don't particularly like those, but I think it's better than no -test. The .cpp source code is the smallest reproducer I am able to make -from the reproducer given in the bug (thanks to Pedro for suggestions on -how to minimize it further than I had). Since I tested on both amd64 -and aarch64, I added versions of the test for these two architectures. - -Change-Id: I182733ad08e34df40d8bcc47af72c482fabf4900 -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29374 - -diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c ---- a/gdb/dwarf2/expr.c -+++ b/gdb/dwarf2/expr.c -@@ -929,6 +929,11 @@ dwarf_expr_context::fetch_result (struct type *type, struct type *subobj_type, - if (subobj_type == nullptr) - subobj_type = type; - -+ /* Ensure that, if TYPE or SUBOBJ_TYPE are typedefs, their length is filled -+ in instead of being zero. */ -+ check_typedef (type); -+ check_typedef (subobj_type); -+ - if (this->m_pieces.size () > 0) - { - ULONGEST bit_size = 0; -diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef-aarch64.S b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-aarch64.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-aarch64.S -@@ -0,0 +1,12885 @@ -+/* -+ Copyright 2022 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* This file was generated from entry-value-typedef.cpp on an aarch64 Ubuntu -+ 14.04 using: -+ -+ $ g++ --version -+ g++ (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.4) 4.8.4 -+ $ g++ entry-value-typedef.cpp -O1 -S -g -o entry-value-typedef-aarch64.S -std=c++11 -+*/ -+ -+ .cpu cortex-a53+fp+simd -+ .file "entry-value-typedef.cpp" -+ .text -+.Ltext0: -+ .align 2 -+ .type _ZL4funcRKi, %function -+_ZL4funcRKi: -+.LFB1299: -+ .file 1 "entry-value-typedef.cpp" -+ .loc 1 27 0 -+ .cfi_startproc -+ .cfi_personality 0x9b,DW.ref.__gxx_personality_v0 -+ .cfi_lsda 0x1b,.LLSDA1299 -+.LVL0: -+ stp x29, x30, [sp, -384]! -+ .cfi_def_cfa_offset 384 -+ .cfi_offset 29, -384 -+ .cfi_offset 30, -376 -+ add x29, sp, 0 -+ .cfi_def_cfa_register 29 -+ stp x19, x20, [sp,16] -+ .cfi_offset 19, -368 -+ .cfi_offset 20, -360 -+.LBB293: -+ .loc 1 28 0 -+ add x0, x29, 32 -+.LVL1: -+ mov w1, 16 -+.LEHB0: -+ bl _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode -+.LEHE0: -+.LVL2: -+ .loc 1 29 0 -+ mov x0, 8 -+ bl __cxa_allocate_exception -+.LVL3: -+ mov x19, x0 -+.LVL4: -+.LBB294: -+.LBB295: -+ .file 2 "/usr/include/c++/4.8/sstream" -+ .loc 2 472 0 -+ mov x8, x0 -+ add x0, x29, 40 -+.LEHB1: -+ bl _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv -+.LEHE1: -+.LVL5: -+.LBE295: -+.LBE294: -+ .loc 1 29 0 discriminator 1 -+ mov x0, x19 -+ ldr x1, .LC0 -+ adrp x2, _ZNSsD1Ev -+ add x2, x2, :lo12:_ZNSsD1Ev -+.LEHB2: -+ bl __cxa_throw -+.LEHE2: -+.LVL6: -+.L4: -+ mov x20, x0 -+ .loc 1 29 0 is_stmt 0 -+ mov x0, x19 -+ bl __cxa_free_exception -+.LVL7: -+ mov x19, x20 -+ b .L3 -+.L5: -+ mov x19, x0 -+.L3: -+ add x0, x29, 32 -+.LVL8: -+ bl _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev -+.LVL9: -+ mov x0, x19 -+.LEHB3: -+ bl _Unwind_Resume -+.LEHE3: -+.LVL10: -+.LBE293: -+ .cfi_endproc -+.LFE1299: -+ .global __gxx_personality_v0 -+ .section .gcc_except_table,"a",%progbits -+.LLSDA1299: -+ .byte 0xff -+ .byte 0xff -+ .byte 0x1 -+ .uleb128 .LLSDACSE1299-.LLSDACSB1299 -+.LLSDACSB1299: -+ .uleb128 .LEHB0-.LFB1299 -+ .uleb128 .LEHE0-.LEHB0 -+ .uleb128 0 -+ .uleb128 0 -+ .uleb128 .LEHB1-.LFB1299 -+ .uleb128 .LEHE1-.LEHB1 -+ .uleb128 .L4-.LFB1299 -+ .uleb128 0 -+ .uleb128 .LEHB2-.LFB1299 -+ .uleb128 .LEHE2-.LEHB2 -+ .uleb128 .L5-.LFB1299 -+ .uleb128 0 -+ .uleb128 .LEHB3-.LFB1299 -+ .uleb128 .LEHE3-.LEHB3 -+ .uleb128 0 -+ .uleb128 0 -+.LLSDACSE1299: -+ .text -+ .size _ZL4funcRKi, .-_ZL4funcRKi -+ .align 3 -+.LC0: -+ .xword _ZTISs -+ .align 2 -+ .global main -+ .type main, %function -+main: -+.LFB1300: -+ .loc 1 34 0 is_stmt 1 -+ .cfi_startproc -+ stp x29, x30, [sp, -32]! -+ .cfi_def_cfa_offset 32 -+ .cfi_offset 29, -32 -+ .cfi_offset 30, -24 -+ add x29, sp, 0 -+ .cfi_def_cfa_register 29 -+ .loc 1 35 0 -+ add x0, x29, 32 -+ mov w1, 1234 -+ str w1, [x0,-4]! -+ bl _ZL4funcRKi -+.LVL11: -+ .cfi_endproc -+.LFE1300: -+ .size main, .-main -+ .weak _ZTISs -+ .section .rodata._ZTISs,"aG",%progbits,_ZTISs,comdat -+ .align 3 -+ .type _ZTISs, %object -+ .size _ZTISs, 16 -+_ZTISs: -+ .xword _ZTVN10__cxxabiv117__class_type_infoE+16 -+ .xword _ZTSSs -+ .weak _ZTSSs -+ .section .rodata._ZTSSs,"aG",%progbits,_ZTSSs,comdat -+ .align 3 -+ .type _ZTSSs, %object -+ .size _ZTSSs, 3 -+_ZTSSs: -+ .string "Ss" -+ .text -+.Letext0: -+ .file 3 "/usr/include/libio.h" -+ .file 4 "/usr/include/stdio.h" -+ .file 5 "/usr/lib/gcc/aarch64-linux-gnu/4.8/include/stdarg.h" -+ .file 6 "" -+ .file 7 "/usr/lib/gcc/aarch64-linux-gnu/4.8/include/stddef.h" -+ .file 8 "/usr/include/wchar.h" -+ .file 9 "/usr/include/c++/4.8/cwchar" -+ .file 10 "/usr/include/c++/4.8/bits/exception_ptr.h" -+ .file 11 "/usr/include/aarch64-linux-gnu/c++/4.8/bits/c++config.h" -+ .file 12 "/usr/include/c++/4.8/bits/cpp_type_traits.h" -+ .file 13 "/usr/include/c++/4.8/bits/stl_pair.h" -+ .file 14 "/usr/include/c++/4.8/bits/stl_iterator_base_types.h" -+ .file 15 "/usr/include/c++/4.8/bits/char_traits.h" -+ .file 16 "/usr/include/c++/4.8/cstdint" -+ .file 17 "/usr/include/c++/4.8/clocale" -+ .file 18 "/usr/include/c++/4.8/bits/allocator.h" -+ .file 19 "/usr/include/c++/4.8/cstdlib" -+ .file 20 "/usr/include/c++/4.8/cstdio" -+ .file 21 "/usr/include/c++/4.8/bits/basic_string.h" -+ .file 22 "/usr/include/c++/4.8/bits/basic_string.tcc" -+ .file 23 "/usr/include/c++/4.8/initializer_list" -+ .file 24 "/usr/include/c++/4.8/bits/ios_base.h" -+ .file 25 "/usr/include/c++/4.8/cwctype" -+ .file 26 "/usr/include/c++/4.8/ostream" -+ .file 27 "/usr/include/c++/4.8/streambuf" -+ .file 28 "/usr/include/c++/4.8/bits/basic_ios.h" -+ .file 29 "/usr/include/c++/4.8/bits/stl_iterator_base_funcs.h" -+ .file 30 "/usr/include/c++/4.8/iosfwd" -+ .file 31 "/usr/include/aarch64-linux-gnu/bits/wchar2.h" -+ .file 32 "/usr/include/time.h" -+ .file 33 "/usr/include/c++/4.8/ext/new_allocator.h" -+ .file 34 "/usr/include/c++/4.8/ext/numeric_traits.h" -+ .file 35 "/usr/include/c++/4.8/bits/stl_iterator.h" -+ .file 36 "/usr/include/c++/4.8/ext/atomicity.h" -+ .file 37 "/usr/include/c++/4.8/debug/debug.h" -+ .file 38 "/usr/include/stdint.h" -+ .file 39 "/usr/include/locale.h" -+ .file 40 "/usr/include/aarch64-linux-gnu/bits/types.h" -+ .file 41 "/usr/include/aarch64-linux-gnu/c++/4.8/bits/atomic_word.h" -+ .file 42 "/usr/include/stdlib.h" -+ .file 43 "/usr/include/aarch64-linux-gnu/bits/stdlib-float.h" -+ .file 44 "/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h" -+ .file 45 "/usr/include/aarch64-linux-gnu/bits/stdlib.h" -+ .file 46 "/usr/include/c++/4.8/ext/type_traits.h" -+ .file 47 "/usr/include/_G_config.h" -+ .file 48 "/usr/include/aarch64-linux-gnu/bits/stdio2.h" -+ .file 49 "/usr/include/aarch64-linux-gnu/bits/stdio.h" -+ .file 50 "/usr/include/wctype.h" -+ .file 51 "/usr/include/aarch64-linux-gnu/c++/4.8/bits/gthr-default.h" -+ .section .debug_info,"",%progbits -+.Ldebug_info0: -+ .4byte 0x51c9 -+ .2byte 0x4 -+ .4byte .Ldebug_abbrev0 -+ .byte 0x8 -+ .uleb128 0x1 -+ .4byte .LASF804 -+ .byte 0x4 -+ .4byte .LASF805 -+ .4byte .LASF806 -+ .8byte .Ltext0 -+ .8byte .Letext0-.Ltext0 -+ .4byte .Ldebug_line0 -+ .uleb128 0x2 -+ .4byte .LASF29 -+ .byte 0x4 -+ .byte 0x30 -+ .4byte 0x38 -+ .uleb128 0x3 -+ .4byte .LASF32 -+ .byte 0xd8 -+ .byte 0x3 -+ .byte 0xf5 -+ .4byte 0x1b8 -+ .uleb128 0x4 -+ .4byte .LASF0 -+ .byte 0x3 -+ .byte 0xf6 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF1 -+ .byte 0x3 -+ .byte 0xfb -+ .4byte 0x300d -+ .byte 0x8 -+ .uleb128 0x4 -+ .4byte .LASF2 -+ .byte 0x3 -+ .byte 0xfc -+ .4byte 0x300d -+ .byte 0x10 -+ .uleb128 0x4 -+ .4byte .LASF3 -+ .byte 0x3 -+ .byte 0xfd -+ .4byte 0x300d -+ .byte 0x18 -+ .uleb128 0x4 -+ .4byte .LASF4 -+ .byte 0x3 -+ .byte 0xfe -+ .4byte 0x300d -+ .byte 0x20 -+ .uleb128 0x4 -+ .4byte .LASF5 -+ .byte 0x3 -+ .byte 0xff -+ .4byte 0x300d -+ .byte 0x28 -+ .uleb128 0x5 -+ .4byte .LASF6 -+ .byte 0x3 -+ .2byte 0x100 -+ .4byte 0x300d -+ .byte 0x30 -+ .uleb128 0x5 -+ .4byte .LASF7 -+ .byte 0x3 -+ .2byte 0x101 -+ .4byte 0x300d -+ .byte 0x38 -+ .uleb128 0x5 -+ .4byte .LASF8 -+ .byte 0x3 -+ .2byte 0x102 -+ .4byte 0x300d -+ .byte 0x40 -+ .uleb128 0x5 -+ .4byte .LASF9 -+ .byte 0x3 -+ .2byte 0x104 -+ .4byte 0x300d -+ .byte 0x48 -+ .uleb128 0x5 -+ .4byte .LASF10 -+ .byte 0x3 -+ .2byte 0x105 -+ .4byte 0x300d -+ .byte 0x50 -+ .uleb128 0x5 -+ .4byte .LASF11 -+ .byte 0x3 -+ .2byte 0x106 -+ .4byte 0x300d -+ .byte 0x58 -+ .uleb128 0x5 -+ .4byte .LASF12 -+ .byte 0x3 -+ .2byte 0x108 -+ .4byte 0x44d9 -+ .byte 0x60 -+ .uleb128 0x5 -+ .4byte .LASF13 -+ .byte 0x3 -+ .2byte 0x10a -+ .4byte 0x44df -+ .byte 0x68 -+ .uleb128 0x5 -+ .4byte .LASF14 -+ .byte 0x3 -+ .2byte 0x10c -+ .4byte 0x20f -+ .byte 0x70 -+ .uleb128 0x5 -+ .4byte .LASF15 -+ .byte 0x3 -+ .2byte 0x110 -+ .4byte 0x20f -+ .byte 0x74 -+ .uleb128 0x5 -+ .4byte .LASF16 -+ .byte 0x3 -+ .2byte 0x112 -+ .4byte 0x4070 -+ .byte 0x78 -+ .uleb128 0x5 -+ .4byte .LASF17 -+ .byte 0x3 -+ .2byte 0x116 -+ .4byte 0x2b3 -+ .byte 0x80 -+ .uleb128 0x5 -+ .4byte .LASF18 -+ .byte 0x3 -+ .2byte 0x117 -+ .4byte 0x3d82 -+ .byte 0x82 -+ .uleb128 0x5 -+ .4byte .LASF19 -+ .byte 0x3 -+ .2byte 0x118 -+ .4byte 0x44e5 -+ .byte 0x83 -+ .uleb128 0x5 -+ .4byte .LASF20 -+ .byte 0x3 -+ .2byte 0x11c -+ .4byte 0x44f5 -+ .byte 0x88 -+ .uleb128 0x5 -+ .4byte .LASF21 -+ .byte 0x3 -+ .2byte 0x125 -+ .4byte 0x407b -+ .byte 0x90 -+ .uleb128 0x5 -+ .4byte .LASF22 -+ .byte 0x3 -+ .2byte 0x12e -+ .4byte 0x20d -+ .byte 0x98 -+ .uleb128 0x5 -+ .4byte .LASF23 -+ .byte 0x3 -+ .2byte 0x12f -+ .4byte 0x20d -+ .byte 0xa0 -+ .uleb128 0x5 -+ .4byte .LASF24 -+ .byte 0x3 -+ .2byte 0x130 -+ .4byte 0x20d -+ .byte 0xa8 -+ .uleb128 0x5 -+ .4byte .LASF25 -+ .byte 0x3 -+ .2byte 0x131 -+ .4byte 0x20d -+ .byte 0xb0 -+ .uleb128 0x5 -+ .4byte .LASF26 -+ .byte 0x3 -+ .2byte 0x132 -+ .4byte 0x216 -+ .byte 0xb8 -+ .uleb128 0x5 -+ .4byte .LASF27 -+ .byte 0x3 -+ .2byte 0x134 -+ .4byte 0x20f -+ .byte 0xc0 -+ .uleb128 0x5 -+ .4byte .LASF28 -+ .byte 0x3 -+ .2byte 0x136 -+ .4byte 0x44fb -+ .byte 0xc4 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF30 -+ .byte 0x4 -+ .byte 0x40 -+ .4byte 0x38 -+ .uleb128 0x2 -+ .4byte .LASF31 -+ .byte 0x5 -+ .byte 0x28 -+ .4byte 0x1ce -+ .uleb128 0x3 -+ .4byte .LASF33 -+ .byte 0x20 -+ .byte 0x6 -+ .byte 0 -+ .4byte 0x20d -+ .uleb128 0x6 -+ .4byte .LASF34 -+ .4byte 0x20d -+ .byte 0 -+ .uleb128 0x6 -+ .4byte .LASF35 -+ .4byte 0x20d -+ .byte 0x8 -+ .uleb128 0x6 -+ .4byte .LASF36 -+ .4byte 0x20d -+ .byte 0x10 -+ .uleb128 0x6 -+ .4byte .LASF37 -+ .4byte 0x20f -+ .byte 0x18 -+ .uleb128 0x6 -+ .4byte .LASF38 -+ .4byte 0x20f -+ .byte 0x1c -+ .byte 0 -+ .uleb128 0x7 -+ .byte 0x8 -+ .uleb128 0x8 -+ .byte 0x4 -+ .byte 0x5 -+ .string "int" -+ .uleb128 0x2 -+ .4byte .LASF39 -+ .byte 0x7 -+ .byte 0xd4 -+ .4byte 0x221 -+ .uleb128 0x9 -+ .byte 0x8 -+ .byte 0x7 -+ .4byte .LASF40 -+ .uleb128 0xa -+ .4byte .LASF41 -+ .byte 0x7 -+ .2byte 0x161 -+ .4byte 0x234 -+ .uleb128 0x9 -+ .byte 0x4 -+ .byte 0x7 -+ .4byte .LASF42 -+ .uleb128 0xb -+ .byte 0x8 -+ .byte 0x8 -+ .byte 0x53 -+ .4byte .LASF683 -+ .4byte 0x27f -+ .uleb128 0xc -+ .byte 0x4 -+ .byte 0x8 -+ .byte 0x56 -+ .4byte 0x266 -+ .uleb128 0xd -+ .4byte .LASF43 -+ .byte 0x8 -+ .byte 0x58 -+ .4byte 0x234 -+ .uleb128 0xd -+ .4byte .LASF44 -+ .byte 0x8 -+ .byte 0x5c -+ .4byte 0x27f -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF45 -+ .byte 0x8 -+ .byte 0x54 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF46 -+ .byte 0x8 -+ .byte 0x5d -+ .4byte 0x247 -+ .byte 0x4 -+ .byte 0 -+ .uleb128 0xe -+ .4byte 0x296 -+ .4byte 0x28f -+ .uleb128 0xf -+ .4byte 0x28f -+ .byte 0x3 -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x8 -+ .byte 0x7 -+ .4byte .LASF47 -+ .uleb128 0x9 -+ .byte 0x1 -+ .byte 0x8 -+ .4byte .LASF48 -+ .uleb128 0x2 -+ .4byte .LASF49 -+ .byte 0x8 -+ .byte 0x5e -+ .4byte 0x23b -+ .uleb128 0x2 -+ .4byte .LASF50 -+ .byte 0x8 -+ .byte 0x6a -+ .4byte 0x29d -+ .uleb128 0x9 -+ .byte 0x2 -+ .byte 0x7 -+ .4byte .LASF51 -+ .uleb128 0x10 -+ .4byte 0x20f -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2c5 -+ .uleb128 0x10 -+ .4byte 0x296 -+ .uleb128 0x12 -+ .string "std" -+ .byte 0x6 -+ .byte 0 -+ .4byte 0x2cfd -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x40 -+ .4byte 0x2a8 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x8b -+ .4byte 0x228 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x8d -+ .4byte 0x2cfd -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x8e -+ .4byte 0x2d13 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x8f -+ .4byte 0x2d2f -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x90 -+ .4byte 0x2d5c -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x91 -+ .4byte 0x2d77 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x92 -+ .4byte 0x2d9d -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x93 -+ .4byte 0x2db8 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x94 -+ .4byte 0x2dd4 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x95 -+ .4byte 0x2df0 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x96 -+ .4byte 0x2e06 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x97 -+ .4byte 0x2e12 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x98 -+ .4byte 0x2e38 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x99 -+ .4byte 0x2e5d -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x9a -+ .4byte 0x2e7e -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x9b -+ .4byte 0x2ea9 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x9c -+ .4byte 0x2ec4 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0x9e -+ .4byte 0x2eda -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xa0 -+ .4byte 0x2efb -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xa1 -+ .4byte 0x2f17 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xa2 -+ .4byte 0x2f32 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xa4 -+ .4byte 0x2f52 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xa7 -+ .4byte 0x2f72 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xaa -+ .4byte 0x2f97 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xac -+ .4byte 0x2fb7 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xae -+ .4byte 0x2fd2 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb0 -+ .4byte 0x2fed -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb1 -+ .4byte 0x3013 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb2 -+ .4byte 0x302d -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb3 -+ .4byte 0x3047 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb4 -+ .4byte 0x3061 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb5 -+ .4byte 0x307b -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb6 -+ .4byte 0x3095 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb7 -+ .4byte 0x3155 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb8 -+ .4byte 0x316b -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xb9 -+ .4byte 0x318b -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xba -+ .4byte 0x31aa -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xbb -+ .4byte 0x31c9 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xbc -+ .4byte 0x31f4 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xbd -+ .4byte 0x320f -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xbf -+ .4byte 0x3237 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc1 -+ .4byte 0x3259 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc2 -+ .4byte 0x3279 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc3 -+ .4byte 0x32a0 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc4 -+ .4byte 0x32c0 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc5 -+ .4byte 0x32df -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc6 -+ .4byte 0x32f5 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc7 -+ .4byte 0x3315 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc8 -+ .4byte 0x3334 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xc9 -+ .4byte 0x3353 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xca -+ .4byte 0x3372 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xcb -+ .4byte 0x3389 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xcc -+ .4byte 0x33a0 -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xcd -+ .4byte 0x33be -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xce -+ .4byte 0x33dd -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xcf -+ .4byte 0x33fb -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xd0 -+ .4byte 0x341a -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x108 -+ .4byte 0x3cdb -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x109 -+ .4byte 0x3cfd -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x10a -+ .4byte 0x3d24 -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x118 -+ .4byte 0x3237 -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x11b -+ .4byte 0x2f52 -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x11e -+ .4byte 0x2f97 -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x121 -+ .4byte 0x2fd2 -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x125 -+ .4byte 0x3cdb -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x126 -+ .4byte 0x3cfd -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x127 -+ .4byte 0x3d24 -+ .uleb128 0x15 -+ .4byte .LASF52 -+ .byte 0xa -+ .byte 0x36 -+ .4byte 0x66d -+ .uleb128 0x16 -+ .4byte .LASF54 -+ .byte 0x8 -+ .byte 0xa -+ .byte 0x4b -+ .4byte 0x667 -+ .uleb128 0x4 -+ .4byte .LASF53 -+ .byte 0xa -+ .byte 0x4d -+ .4byte 0x20d -+ .byte 0 -+ .uleb128 0x17 -+ .4byte .LASF54 -+ .byte 0xa -+ .byte 0x4f -+ .4byte 0x4ed -+ .4byte 0x4f8 -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x20d -+ .byte 0 -+ .uleb128 0x1a -+ .4byte .LASF55 -+ .byte 0xa -+ .byte 0x51 -+ .4byte .LASF57 -+ .4byte 0x50b -+ .4byte 0x511 -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .byte 0 -+ .uleb128 0x1a -+ .4byte .LASF56 -+ .byte 0xa -+ .byte 0x52 -+ .4byte .LASF58 -+ .4byte 0x524 -+ .4byte 0x52a -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .byte 0 -+ .uleb128 0x1b -+ .4byte .LASF63 -+ .byte 0xa -+ .byte 0x54 -+ .4byte .LASF65 -+ .4byte 0x20d -+ .4byte 0x541 -+ .4byte 0x547 -+ .uleb128 0x18 -+ .4byte 0x3d51 -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF54 -+ .byte 0xa -+ .byte 0x5a -+ .byte 0x1 -+ .4byte 0x557 -+ .4byte 0x55d -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF54 -+ .byte 0xa -+ .byte 0x5c -+ .byte 0x1 -+ .4byte 0x56d -+ .4byte 0x578 -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x3d57 -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF54 -+ .byte 0xa -+ .byte 0x5f -+ .byte 0x1 -+ .4byte 0x588 -+ .4byte 0x593 -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x674 -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF54 -+ .byte 0xa -+ .byte 0x63 -+ .byte 0x1 -+ .4byte 0x5a3 -+ .4byte 0x5ae -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x3d62 -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF59 -+ .byte 0xa -+ .byte 0x70 -+ .4byte .LASF60 -+ .4byte 0x3d68 -+ .byte 0x1 -+ .4byte 0x5c6 -+ .4byte 0x5d1 -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x3d57 -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF59 -+ .byte 0xa -+ .byte 0x74 -+ .4byte .LASF61 -+ .4byte 0x3d68 -+ .byte 0x1 -+ .4byte 0x5e9 -+ .4byte 0x5f4 -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x3d62 -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF62 -+ .byte 0xa -+ .byte 0x7b -+ .byte 0x1 -+ .4byte 0x604 -+ .4byte 0x60f -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x1e -+ .4byte .LASF64 -+ .byte 0xa -+ .byte 0x7e -+ .4byte .LASF66 -+ .byte 0x1 -+ .4byte 0x623 -+ .4byte 0x62e -+ .uleb128 0x18 -+ .4byte 0x3d4b -+ .uleb128 0x19 -+ .4byte 0x3d68 -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF67 -+ .byte 0xa -+ .byte 0x8a -+ .4byte .LASF68 -+ .4byte 0x3d6e -+ .byte 0x1 -+ .4byte 0x646 -+ .4byte 0x64c -+ .uleb128 0x18 -+ .4byte 0x3d51 -+ .byte 0 -+ .uleb128 0x1f -+ .4byte .LASF69 -+ .byte 0xa -+ .byte 0x93 -+ .4byte .LASF70 -+ .4byte 0x3d75 -+ .byte 0x1 -+ .4byte 0x660 -+ .uleb128 0x18 -+ .4byte 0x3d51 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x4c6 -+ .byte 0 -+ .uleb128 0x13 -+ .byte 0xa -+ .byte 0x3a -+ .4byte 0x4c6 -+ .uleb128 0x2 -+ .4byte .LASF71 -+ .byte 0xb -+ .byte 0xbe -+ .4byte 0x3d5d -+ .uleb128 0x20 -+ .4byte .LASF355 -+ .uleb128 0x10 -+ .4byte 0x67f -+ .uleb128 0x21 -+ .4byte .LASF72 -+ .byte 0x1 -+ .byte 0xc -+ .byte 0x53 -+ .uleb128 0x21 -+ .4byte .LASF73 -+ .byte 0x1 -+ .byte 0xd -+ .byte 0x4c -+ .uleb128 0x21 -+ .4byte .LASF74 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0x59 -+ .uleb128 0x3 -+ .4byte .LASF75 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0x5f -+ .4byte 0x6b4 -+ .uleb128 0x22 -+ .4byte 0x699 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF76 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0x63 -+ .4byte 0x6c7 -+ .uleb128 0x22 -+ .4byte 0x6a1 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF77 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0x67 -+ .4byte 0x6da -+ .uleb128 0x22 -+ .4byte 0x6b4 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x23 -+ .4byte .LASF807 -+ .byte 0x25 -+ .byte 0x30 -+ .uleb128 0x3 -+ .4byte .LASF78 -+ .byte 0x1 -+ .byte 0xf -+ .byte 0xe9 -+ .4byte 0x8a8 -+ .uleb128 0x2 -+ .4byte .LASF79 -+ .byte 0xf -+ .byte 0xeb -+ .4byte 0x296 -+ .uleb128 0x2 -+ .4byte .LASF80 -+ .byte 0xf -+ .byte 0xec -+ .4byte 0x20f -+ .uleb128 0x24 -+ .4byte .LASF93 -+ .byte 0xf -+ .byte 0xf2 -+ .4byte .LASF808 -+ .4byte 0x71d -+ .uleb128 0x19 -+ .4byte 0x3dad -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x6ed -+ .uleb128 0x25 -+ .string "eq" -+ .byte 0xf -+ .byte 0xf6 -+ .4byte .LASF81 -+ .4byte 0x3d6e -+ .4byte 0x73f -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .byte 0 -+ .uleb128 0x25 -+ .string "lt" -+ .byte 0xf -+ .byte 0xfa -+ .4byte .LASF82 -+ .4byte 0x3d6e -+ .4byte 0x75c -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .byte 0 -+ .uleb128 0x26 -+ .4byte .LASF83 -+ .byte 0xf -+ .byte 0xfe -+ .4byte .LASF84 -+ .4byte 0x20f -+ .4byte 0x77f -+ .uleb128 0x19 -+ .4byte 0x3db9 -+ .uleb128 0x19 -+ .4byte 0x3db9 -+ .uleb128 0x19 -+ .4byte 0x8a8 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF85 -+ .byte 0xf -+ .2byte 0x102 -+ .4byte .LASF87 -+ .4byte 0x8a8 -+ .4byte 0x799 -+ .uleb128 0x19 -+ .4byte 0x3db9 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF86 -+ .byte 0xf -+ .2byte 0x106 -+ .4byte .LASF88 -+ .4byte 0x3db9 -+ .4byte 0x7bd -+ .uleb128 0x19 -+ .4byte 0x3db9 -+ .uleb128 0x19 -+ .4byte 0x8a8 -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF89 -+ .byte 0xf -+ .2byte 0x10a -+ .4byte .LASF90 -+ .4byte 0x3dbf -+ .4byte 0x7e1 -+ .uleb128 0x19 -+ .4byte 0x3dbf -+ .uleb128 0x19 -+ .4byte 0x3db9 -+ .uleb128 0x19 -+ .4byte 0x8a8 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF91 -+ .byte 0xf -+ .2byte 0x10e -+ .4byte .LASF92 -+ .4byte 0x3dbf -+ .4byte 0x805 -+ .uleb128 0x19 -+ .4byte 0x3dbf -+ .uleb128 0x19 -+ .4byte 0x3db9 -+ .uleb128 0x19 -+ .4byte 0x8a8 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF93 -+ .byte 0xf -+ .2byte 0x112 -+ .4byte .LASF94 -+ .4byte 0x3dbf -+ .4byte 0x829 -+ .uleb128 0x19 -+ .4byte 0x3dbf -+ .uleb128 0x19 -+ .4byte 0x8a8 -+ .uleb128 0x19 -+ .4byte 0x6ed -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF95 -+ .byte 0xf -+ .2byte 0x116 -+ .4byte .LASF96 -+ .4byte 0x6ed -+ .4byte 0x843 -+ .uleb128 0x19 -+ .4byte 0x3dc5 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x6f8 -+ .uleb128 0x27 -+ .4byte .LASF97 -+ .byte 0xf -+ .2byte 0x11c -+ .4byte .LASF98 -+ .4byte 0x6f8 -+ .4byte 0x862 -+ .uleb128 0x19 -+ .4byte 0x3db3 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF99 -+ .byte 0xf -+ .2byte 0x120 -+ .4byte .LASF100 -+ .4byte 0x3d6e -+ .4byte 0x881 -+ .uleb128 0x19 -+ .4byte 0x3dc5 -+ .uleb128 0x19 -+ .4byte 0x3dc5 -+ .byte 0 -+ .uleb128 0x28 -+ .string "eof" -+ .byte 0xf -+ .2byte 0x124 -+ .4byte .LASF809 -+ .4byte 0x6f8 -+ .uleb128 0x29 -+ .4byte .LASF101 -+ .byte 0xf -+ .2byte 0x128 -+ .4byte .LASF171 -+ .4byte 0x6f8 -+ .uleb128 0x19 -+ .4byte 0x3dc5 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF39 -+ .byte 0xb -+ .byte 0xba -+ .4byte 0x221 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x30 -+ .4byte 0x3dcb -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x31 -+ .4byte 0x3dd6 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x32 -+ .4byte 0x3de1 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x33 -+ .4byte 0x3dec -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x35 -+ .4byte 0x3e7b -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x36 -+ .4byte 0x3e86 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x37 -+ .4byte 0x3e91 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x38 -+ .4byte 0x3e9c -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x3a -+ .4byte 0x3e23 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x3b -+ .4byte 0x3e2e -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x3c -+ .4byte 0x3e39 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x3d -+ .4byte 0x3e44 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x3f -+ .4byte 0x3ee9 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x40 -+ .4byte 0x3ed3 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x42 -+ .4byte 0x3df7 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x43 -+ .4byte 0x3e02 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x44 -+ .4byte 0x3e0d -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x45 -+ .4byte 0x3e18 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x47 -+ .4byte 0x3ea7 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x48 -+ .4byte 0x3eb2 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x49 -+ .4byte 0x3ebd -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x4a -+ .4byte 0x3ec8 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x4c -+ .4byte 0x3e4f -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x4d -+ .4byte 0x3e5a -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x4e -+ .4byte 0x3e65 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x4f -+ .4byte 0x3e70 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x51 -+ .4byte 0x3ef4 -+ .uleb128 0x13 -+ .byte 0x10 -+ .byte 0x52 -+ .4byte 0x3ede -+ .uleb128 0x13 -+ .byte 0x11 -+ .byte 0x35 -+ .4byte 0x3f0d -+ .uleb128 0x13 -+ .byte 0x11 -+ .byte 0x36 -+ .4byte 0x403a -+ .uleb128 0x13 -+ .byte 0x11 -+ .byte 0x37 -+ .4byte 0x4054 -+ .uleb128 0x2 -+ .4byte .LASF102 -+ .byte 0xb -+ .byte 0xbb -+ .4byte 0x3299 -+ .uleb128 0x16 -+ .4byte .LASF103 -+ .byte 0x1 -+ .byte 0x12 -+ .byte 0x5c -+ .4byte 0xa17 -+ .uleb128 0x2a -+ .4byte 0x346e -+ .byte 0 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF104 -+ .byte 0x12 -+ .byte 0x5f -+ .4byte 0x8a8 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF105 -+ .byte 0x12 -+ .byte 0x63 -+ .4byte 0x40a9 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF106 -+ .byte 0x12 -+ .byte 0x64 -+ .4byte 0x40af -+ .byte 0x1 -+ .uleb128 0x1c -+ .4byte .LASF107 -+ .byte 0x12 -+ .byte 0x71 -+ .byte 0x1 -+ .4byte 0x9de -+ .4byte 0x9e4 -+ .uleb128 0x18 -+ .4byte 0x40c7 -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF107 -+ .byte 0x12 -+ .byte 0x73 -+ .byte 0x1 -+ .4byte 0x9f4 -+ .4byte 0x9ff -+ .uleb128 0x18 -+ .4byte 0x40c7 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x2c -+ .4byte .LASF108 -+ .byte 0x12 -+ .byte 0x79 -+ .byte 0x1 -+ .4byte 0xa0b -+ .uleb128 0x18 -+ .4byte 0x40c7 -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x997 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x76 -+ .4byte 0x40f8 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x77 -+ .4byte 0x4128 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x7b -+ .4byte 0x4189 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x7e -+ .4byte 0x41a6 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x81 -+ .4byte 0x41c0 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x82 -+ .4byte 0x41d5 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x83 -+ .4byte 0x41eb -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x84 -+ .4byte 0x4201 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x86 -+ .4byte 0x422a -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x89 -+ .4byte 0x4245 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x8b -+ .4byte 0x425b -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x8e -+ .4byte 0x4276 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x8f -+ .4byte 0x4291 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x90 -+ .4byte 0x42b0 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x92 -+ .4byte 0x42d0 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x95 -+ .4byte 0x42f1 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x98 -+ .4byte 0x4303 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x9a -+ .4byte 0x430f -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x9b -+ .4byte 0x4321 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x9c -+ .4byte 0x4341 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x9d -+ .4byte 0x4360 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0x9e -+ .4byte 0x437f -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xa0 -+ .4byte 0x4395 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xa1 -+ .4byte 0x43b4 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xf1 -+ .4byte 0x4158 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xf6 -+ .4byte 0x3634 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xf7 -+ .4byte 0x43ce -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xf9 -+ .4byte 0x43e9 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xfa -+ .4byte 0x443d -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xfb -+ .4byte 0x43ff -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xfc -+ .4byte 0x441e -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xfd -+ .4byte 0x4457 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x60 -+ .4byte 0x2d -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x61 -+ .4byte 0x450b -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x63 -+ .4byte 0x4516 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x64 -+ .4byte 0x452e -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x65 -+ .4byte 0x4543 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x66 -+ .4byte 0x4559 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x67 -+ .4byte 0x456f -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x68 -+ .4byte 0x4584 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x69 -+ .4byte 0x459a -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x6a -+ .4byte 0x45bb -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x6b -+ .4byte 0x45da -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x6f -+ .4byte 0x45f5 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x70 -+ .4byte 0x461a -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x72 -+ .4byte 0x463a -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x73 -+ .4byte 0x465a -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x74 -+ .4byte 0x4680 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x76 -+ .4byte 0x4696 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x77 -+ .4byte 0x46ac -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x78 -+ .4byte 0x46b7 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x79 -+ .4byte 0x46cd -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x7e -+ .4byte 0x46df -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x7f -+ .4byte 0x46f4 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x80 -+ .4byte 0x470e -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x82 -+ .4byte 0x4720 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x83 -+ .4byte 0x4737 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x86 -+ .4byte 0x475c -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x87 -+ .4byte 0x4767 -+ .uleb128 0x13 -+ .byte 0x14 -+ .byte 0x88 -+ .4byte 0x477c -+ .uleb128 0x16 -+ .4byte .LASF109 -+ .byte 0x8 -+ .byte 0x15 -+ .byte 0x70 -+ .4byte 0x2547 -+ .uleb128 0x2d -+ .4byte .LASF110 -+ .byte 0x8 -+ .byte 0x15 -+ .2byte 0x110 -+ .4byte 0xc21 -+ .uleb128 0x22 -+ .4byte 0x997 -+ .byte 0 -+ .uleb128 0x5 -+ .4byte .LASF111 -+ .byte 0x15 -+ .2byte 0x115 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x2e -+ .4byte .LASF110 -+ .byte 0x15 -+ .2byte 0x112 -+ .4byte 0xbfc -+ .4byte 0xc0c -+ .uleb128 0x18 -+ .4byte 0x4797 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x2f -+ .4byte .LASF800 -+ .4byte 0xc15 -+ .uleb128 0x18 -+ .4byte 0x4797 -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2b -+ .4byte .LASF104 -+ .byte 0x15 -+ .byte 0x79 -+ .4byte 0x9aa -+ .byte 0x1 -+ .uleb128 0x30 -+ .4byte .LASF810 -+ .byte 0x15 -+ .2byte 0x11d -+ .4byte 0xc3a -+ .byte 0x1 -+ .uleb128 0x10 -+ .4byte 0xc21 -+ .uleb128 0x5 -+ .4byte .LASF112 -+ .byte 0x15 -+ .2byte 0x121 -+ .4byte 0xbcc -+ .byte 0 -+ .uleb128 0x2b -+ .4byte .LASF113 -+ .byte 0x15 -+ .byte 0x78 -+ .4byte 0x997 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF105 -+ .byte 0x15 -+ .byte 0x7b -+ .4byte 0x9b6 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF106 -+ .byte 0x15 -+ .byte 0x7c -+ .4byte 0x9c2 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF114 -+ .byte 0x15 -+ .byte 0x7f -+ .4byte 0x3652 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF115 -+ .byte 0x15 -+ .byte 0x81 -+ .4byte 0x3876 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF116 -+ .byte 0x15 -+ .byte 0x82 -+ .4byte 0x2547 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF117 -+ .byte 0x15 -+ .byte 0x83 -+ .4byte 0x254c -+ .byte 0x1 -+ .uleb128 0x3 -+ .4byte .LASF118 -+ .byte 0x18 -+ .byte 0x15 -+ .byte 0x94 -+ .4byte 0xcd1 -+ .uleb128 0x4 -+ .4byte .LASF119 -+ .byte 0x15 -+ .byte 0x96 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF120 -+ .byte 0x15 -+ .byte 0x97 -+ .4byte 0xc21 -+ .byte 0x8 -+ .uleb128 0x4 -+ .4byte .LASF121 -+ .byte 0x15 -+ .byte 0x98 -+ .4byte 0x4097 -+ .byte 0x10 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF122 -+ .byte 0x18 -+ .byte 0x15 -+ .byte 0x9b -+ .4byte 0xe85 -+ .uleb128 0x22 -+ .4byte 0xca0 -+ .byte 0 -+ .uleb128 0x31 -+ .4byte .LASF123 -+ .byte 0x16 -+ .byte 0x32 -+ .4byte 0xc3a -+ .uleb128 0x31 -+ .4byte .LASF124 -+ .byte 0x16 -+ .byte 0x37 -+ .4byte 0x2c5 -+ .uleb128 0x31 -+ .4byte .LASF125 -+ .byte 0x16 -+ .byte 0x42 -+ .4byte 0x47d3 -+ .uleb128 0x32 -+ .4byte .LASF126 -+ .byte 0x15 -+ .byte 0xb5 -+ .4byte .LASF811 -+ .4byte 0x47af -+ .uleb128 0x1b -+ .4byte .LASF127 -+ .byte 0x15 -+ .byte 0xbf -+ .4byte .LASF128 -+ .4byte 0x3d6e -+ .4byte 0xd2a -+ .4byte 0xd30 -+ .uleb128 0x18 -+ .4byte 0x47de -+ .byte 0 -+ .uleb128 0x1b -+ .4byte .LASF129 -+ .byte 0x15 -+ .byte 0xc3 -+ .4byte .LASF130 -+ .4byte 0x3d6e -+ .4byte 0xd47 -+ .4byte 0xd4d -+ .uleb128 0x18 -+ .4byte 0x47de -+ .byte 0 -+ .uleb128 0x1a -+ .4byte .LASF131 -+ .byte 0x15 -+ .byte 0xc7 -+ .4byte .LASF132 -+ .4byte 0xd60 -+ .4byte 0xd66 -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .byte 0 -+ .uleb128 0x1a -+ .4byte .LASF133 -+ .byte 0x15 -+ .byte 0xcb -+ .4byte .LASF134 -+ .4byte 0xd79 -+ .4byte 0xd7f -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .byte 0 -+ .uleb128 0x1a -+ .4byte .LASF135 -+ .byte 0x15 -+ .byte 0xcf -+ .4byte .LASF136 -+ .4byte 0xd92 -+ .4byte 0xd9d -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x1b -+ .4byte .LASF137 -+ .byte 0x15 -+ .byte 0xde -+ .4byte .LASF138 -+ .4byte 0x300d -+ .4byte 0xdb4 -+ .4byte 0xdba -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .byte 0 -+ .uleb128 0x1b -+ .4byte .LASF139 -+ .byte 0x15 -+ .byte 0xe2 -+ .4byte .LASF140 -+ .4byte 0x300d -+ .4byte 0xdd1 -+ .4byte 0xde1 -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF141 -+ .byte 0x16 -+ .2byte 0x221 -+ .4byte .LASF142 -+ .4byte 0x47a9 -+ .4byte 0xe05 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x1a -+ .4byte .LASF143 -+ .byte 0x15 -+ .byte 0xed -+ .4byte .LASF144 -+ .4byte 0xe18 -+ .4byte 0xe23 -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x33 -+ .4byte .LASF145 -+ .byte 0x16 -+ .2byte 0x1bc -+ .4byte .LASF146 -+ .4byte 0xe37 -+ .4byte 0xe42 -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF147 -+ .byte 0x15 -+ .2byte 0x102 -+ .4byte .LASF151 -+ .4byte 0x300d -+ .4byte 0xe5a -+ .4byte 0xe60 -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .byte 0 -+ .uleb128 0x35 -+ .4byte .LASF148 -+ .byte 0x16 -+ .2byte 0x26f -+ .4byte .LASF149 -+ .4byte 0x300d -+ .4byte 0xe74 -+ .uleb128 0x18 -+ .4byte 0x47a9 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF150 -+ .byte 0x15 -+ .2byte 0x124 -+ .4byte .LASF152 -+ .4byte 0x300d -+ .4byte 0xe9d -+ .4byte 0xea3 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF150 -+ .byte 0x15 -+ .2byte 0x128 -+ .4byte .LASF153 -+ .4byte 0x300d -+ .4byte 0xebb -+ .4byte 0xec6 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF154 -+ .byte 0x15 -+ .2byte 0x12c -+ .4byte .LASF155 -+ .4byte 0x47a9 -+ .4byte 0xede -+ .4byte 0xee4 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF156 -+ .byte 0x15 -+ .2byte 0x132 -+ .4byte .LASF157 -+ .4byte 0xc70 -+ .4byte 0xefc -+ .4byte 0xf02 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF158 -+ .byte 0x15 -+ .2byte 0x136 -+ .4byte .LASF159 -+ .4byte 0xc70 -+ .4byte 0xf1a -+ .4byte 0xf20 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x33 -+ .4byte .LASF160 -+ .byte 0x15 -+ .2byte 0x13a -+ .4byte .LASF161 -+ .4byte 0xf34 -+ .4byte 0xf3a -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF162 -+ .byte 0x15 -+ .2byte 0x141 -+ .4byte .LASF163 -+ .4byte 0xc21 -+ .4byte 0xf52 -+ .4byte 0xf62 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x33 -+ .4byte .LASF164 -+ .byte 0x15 -+ .2byte 0x149 -+ .4byte .LASF165 -+ .4byte 0xf76 -+ .4byte 0xf8b -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF166 -+ .byte 0x15 -+ .2byte 0x151 -+ .4byte .LASF167 -+ .4byte 0xc21 -+ .4byte 0xfa3 -+ .4byte 0xfb3 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF168 -+ .byte 0x15 -+ .2byte 0x159 -+ .4byte .LASF169 -+ .4byte 0x3d6e -+ .4byte 0xfcb -+ .4byte 0xfd6 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF170 -+ .byte 0x15 -+ .2byte 0x162 -+ .4byte .LASF172 -+ .4byte 0xff6 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF173 -+ .byte 0x15 -+ .2byte 0x16b -+ .4byte .LASF174 -+ .4byte 0x1016 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF175 -+ .byte 0x15 -+ .2byte 0x174 -+ .4byte .LASF176 -+ .4byte 0x1036 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF177 -+ .byte 0x15 -+ .2byte 0x187 -+ .4byte .LASF178 -+ .4byte 0x1056 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF177 -+ .byte 0x15 -+ .2byte 0x18b -+ .4byte .LASF179 -+ .4byte 0x1076 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0xc7c -+ .uleb128 0x19 -+ .4byte 0xc7c -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF177 -+ .byte 0x15 -+ .2byte 0x18f -+ .4byte .LASF180 -+ .4byte 0x1096 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x36 -+ .4byte .LASF177 -+ .byte 0x15 -+ .2byte 0x193 -+ .4byte .LASF181 -+ .4byte 0x10b6 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF182 -+ .byte 0x15 -+ .2byte 0x197 -+ .4byte .LASF183 -+ .4byte 0x20f -+ .4byte 0x10d5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x33 -+ .4byte .LASF184 -+ .byte 0x15 -+ .2byte 0x1a4 -+ .4byte .LASF185 -+ .4byte 0x10e9 -+ .4byte 0x10fe -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x33 -+ .4byte .LASF186 -+ .byte 0x15 -+ .2byte 0x1a7 -+ .4byte .LASF187 -+ .4byte 0x1112 -+ .4byte 0x1118 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x37 -+ .4byte .LASF126 -+ .byte 0x15 -+ .2byte 0x1aa -+ .4byte .LASF812 -+ .4byte 0x47af -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1b5 -+ .byte 0x1 -+ .4byte 0x1139 -+ .4byte 0x113f -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x39 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1c0 -+ .byte 0x1 -+ .4byte 0x1150 -+ .4byte 0x115b -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1c7 -+ .byte 0x1 -+ .4byte 0x116c -+ .4byte 0x1177 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1ce -+ .byte 0x1 -+ .4byte 0x1188 -+ .4byte 0x119d -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1d7 -+ .byte 0x1 -+ .4byte 0x11ae -+ .4byte 0x11c8 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1e3 -+ .byte 0x1 -+ .4byte 0x11d9 -+ .4byte 0x11ee -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1ea -+ .byte 0x1 -+ .4byte 0x11ff -+ .4byte 0x120f -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1f1 -+ .byte 0x1 -+ .4byte 0x1220 -+ .4byte 0x1235 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x1fb -+ .byte 0x1 -+ .4byte 0x1246 -+ .4byte 0x1251 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47bb -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF188 -+ .byte 0x15 -+ .2byte 0x20a -+ .byte 0x1 -+ .4byte 0x1262 -+ .4byte 0x1272 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF189 -+ .byte 0x15 -+ .2byte 0x21a -+ .byte 0x1 -+ .4byte 0x1283 -+ .4byte 0x128e -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF59 -+ .byte 0x15 -+ .2byte 0x222 -+ .4byte .LASF190 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x12a7 -+ .4byte 0x12b2 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF59 -+ .byte 0x15 -+ .2byte 0x22a -+ .4byte .LASF191 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x12cb -+ .4byte 0x12d6 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF59 -+ .byte 0x15 -+ .2byte 0x235 -+ .4byte .LASF192 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x12ef -+ .4byte 0x12fa -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF59 -+ .byte 0x15 -+ .2byte 0x244 -+ .4byte .LASF193 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1313 -+ .4byte 0x131e -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47bb -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF59 -+ .byte 0x15 -+ .2byte 0x250 -+ .4byte .LASF194 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1337 -+ .4byte 0x1342 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF195 -+ .byte 0x15 -+ .2byte 0x25d -+ .4byte .LASF196 -+ .4byte 0xc70 -+ .byte 0x1 -+ .4byte 0x135b -+ .4byte 0x1361 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF195 -+ .byte 0x15 -+ .2byte 0x268 -+ .4byte .LASF197 -+ .4byte 0xc7c -+ .byte 0x1 -+ .4byte 0x137a -+ .4byte 0x1380 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3b -+ .string "end" -+ .byte 0x15 -+ .2byte 0x270 -+ .4byte .LASF198 -+ .4byte 0xc70 -+ .byte 0x1 -+ .4byte 0x1399 -+ .4byte 0x139f -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3b -+ .string "end" -+ .byte 0x15 -+ .2byte 0x27b -+ .4byte .LASF199 -+ .4byte 0xc7c -+ .byte 0x1 -+ .4byte 0x13b8 -+ .4byte 0x13be -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF200 -+ .byte 0x15 -+ .2byte 0x284 -+ .4byte .LASF201 -+ .4byte 0xc94 -+ .byte 0x1 -+ .4byte 0x13d7 -+ .4byte 0x13dd -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF200 -+ .byte 0x15 -+ .2byte 0x28d -+ .4byte .LASF202 -+ .4byte 0xc88 -+ .byte 0x1 -+ .4byte 0x13f6 -+ .4byte 0x13fc -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF203 -+ .byte 0x15 -+ .2byte 0x296 -+ .4byte .LASF204 -+ .4byte 0xc94 -+ .byte 0x1 -+ .4byte 0x1415 -+ .4byte 0x141b -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF203 -+ .byte 0x15 -+ .2byte 0x29f -+ .4byte .LASF205 -+ .4byte 0xc88 -+ .byte 0x1 -+ .4byte 0x1434 -+ .4byte 0x143a -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF206 -+ .byte 0x15 -+ .2byte 0x2a8 -+ .4byte .LASF207 -+ .4byte 0xc7c -+ .byte 0x1 -+ .4byte 0x1453 -+ .4byte 0x1459 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF208 -+ .byte 0x15 -+ .2byte 0x2b0 -+ .4byte .LASF209 -+ .4byte 0xc7c -+ .byte 0x1 -+ .4byte 0x1472 -+ .4byte 0x1478 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF210 -+ .byte 0x15 -+ .2byte 0x2b9 -+ .4byte .LASF211 -+ .4byte 0xc88 -+ .byte 0x1 -+ .4byte 0x1491 -+ .4byte 0x1497 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF212 -+ .byte 0x15 -+ .2byte 0x2c2 -+ .4byte .LASF213 -+ .4byte 0xc88 -+ .byte 0x1 -+ .4byte 0x14b0 -+ .4byte 0x14b6 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF214 -+ .byte 0x15 -+ .2byte 0x2cb -+ .4byte .LASF215 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x14cf -+ .4byte 0x14d5 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF85 -+ .byte 0x15 -+ .2byte 0x2d1 -+ .4byte .LASF216 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x14ee -+ .4byte 0x14f4 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF217 -+ .byte 0x15 -+ .2byte 0x2d6 -+ .4byte .LASF218 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x150d -+ .4byte 0x1513 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF219 -+ .byte 0x15 -+ .2byte 0x2e4 -+ .4byte .LASF220 -+ .byte 0x1 -+ .4byte 0x1528 -+ .4byte 0x1538 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF219 -+ .byte 0x15 -+ .2byte 0x2f1 -+ .4byte .LASF221 -+ .byte 0x1 -+ .4byte 0x154d -+ .4byte 0x1558 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF222 -+ .byte 0x15 -+ .2byte 0x2f7 -+ .4byte .LASF223 -+ .byte 0x1 -+ .4byte 0x156d -+ .4byte 0x1573 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF224 -+ .byte 0x15 -+ .2byte 0x308 -+ .4byte .LASF225 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x158c -+ .4byte 0x1592 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF226 -+ .byte 0x15 -+ .2byte 0x31d -+ .4byte .LASF227 -+ .byte 0x1 -+ .4byte 0x15a7 -+ .4byte 0x15b2 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF228 -+ .byte 0x15 -+ .2byte 0x323 -+ .4byte .LASF229 -+ .byte 0x1 -+ .4byte 0x15c7 -+ .4byte 0x15cd -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF230 -+ .byte 0x15 -+ .2byte 0x32b -+ .4byte .LASF231 -+ .4byte 0x3d6e -+ .byte 0x1 -+ .4byte 0x15e6 -+ .4byte 0x15ec -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF232 -+ .byte 0x15 -+ .2byte 0x33a -+ .4byte .LASF233 -+ .4byte 0xc64 -+ .byte 0x1 -+ .4byte 0x1605 -+ .4byte 0x1610 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF232 -+ .byte 0x15 -+ .2byte 0x34b -+ .4byte .LASF234 -+ .4byte 0xc58 -+ .byte 0x1 -+ .4byte 0x1629 -+ .4byte 0x1634 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3b -+ .string "at" -+ .byte 0x15 -+ .2byte 0x360 -+ .4byte .LASF235 -+ .4byte 0xc64 -+ .byte 0x1 -+ .4byte 0x164c -+ .4byte 0x1657 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3b -+ .string "at" -+ .byte 0x15 -+ .2byte 0x373 -+ .4byte .LASF236 -+ .4byte 0xc58 -+ .byte 0x1 -+ .4byte 0x166f -+ .4byte 0x167a -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF237 -+ .byte 0x15 -+ .2byte 0x381 -+ .4byte .LASF238 -+ .4byte 0xc58 -+ .byte 0x1 -+ .4byte 0x1693 -+ .4byte 0x1699 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF237 -+ .byte 0x15 -+ .2byte 0x389 -+ .4byte .LASF239 -+ .4byte 0xc64 -+ .byte 0x1 -+ .4byte 0x16b2 -+ .4byte 0x16b8 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF240 -+ .byte 0x15 -+ .2byte 0x391 -+ .4byte .LASF241 -+ .4byte 0xc58 -+ .byte 0x1 -+ .4byte 0x16d1 -+ .4byte 0x16d7 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF240 -+ .byte 0x15 -+ .2byte 0x399 -+ .4byte .LASF242 -+ .4byte 0xc64 -+ .byte 0x1 -+ .4byte 0x16f0 -+ .4byte 0x16f6 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF243 -+ .byte 0x15 -+ .2byte 0x3a4 -+ .4byte .LASF244 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x170f -+ .4byte 0x171a -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF243 -+ .byte 0x15 -+ .2byte 0x3ad -+ .4byte .LASF245 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1733 -+ .4byte 0x173e -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF243 -+ .byte 0x15 -+ .2byte 0x3b6 -+ .4byte .LASF246 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1757 -+ .4byte 0x1762 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF243 -+ .byte 0x15 -+ .2byte 0x3c3 -+ .4byte .LASF247 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x177b -+ .4byte 0x1786 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF248 -+ .byte 0x15 -+ .2byte 0x3cd -+ .4byte .LASF249 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x179f -+ .4byte 0x17aa -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF248 -+ .byte 0x15 -+ .2byte 0x3dd -+ .4byte .LASF250 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x17c3 -+ .4byte 0x17d8 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF248 -+ .byte 0x15 -+ .2byte 0x3e6 -+ .4byte .LASF251 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x17f1 -+ .4byte 0x1801 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF248 -+ .byte 0x15 -+ .2byte 0x3ee -+ .4byte .LASF252 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x181a -+ .4byte 0x1825 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF248 -+ .byte 0x15 -+ .2byte 0x3fd -+ .4byte .LASF253 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x183e -+ .4byte 0x184e -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF248 -+ .byte 0x15 -+ .2byte 0x406 -+ .4byte .LASF254 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1867 -+ .4byte 0x1872 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF255 -+ .byte 0x15 -+ .2byte 0x41c -+ .4byte .LASF256 -+ .byte 0x1 -+ .4byte 0x1887 -+ .4byte 0x1892 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x42b -+ .4byte .LASF257 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x18ab -+ .4byte 0x18b6 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x437 -+ .4byte .LASF258 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x18cf -+ .4byte 0x18da -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47bb -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x44c -+ .4byte .LASF259 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x18f3 -+ .4byte 0x1908 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x45c -+ .4byte .LASF260 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1921 -+ .4byte 0x1931 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x468 -+ .4byte .LASF261 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x194a -+ .4byte 0x1955 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x478 -+ .4byte .LASF262 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x196e -+ .4byte 0x197e -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF93 -+ .byte 0x15 -+ .2byte 0x48f -+ .4byte .LASF263 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1997 -+ .4byte 0x19a2 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x4a1 -+ .4byte .LASF265 -+ .byte 0x1 -+ .4byte 0x19b7 -+ .4byte 0x19cc -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x4bd -+ .4byte .LASF266 -+ .byte 0x1 -+ .4byte 0x19e1 -+ .4byte 0x19f1 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x4d1 -+ .4byte .LASF267 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1a0a -+ .4byte 0x1a1a -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x4e7 -+ .4byte .LASF268 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1a33 -+ .4byte 0x1a4d -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x4fe -+ .4byte .LASF269 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1a66 -+ .4byte 0x1a7b -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x510 -+ .4byte .LASF270 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1a94 -+ .4byte 0x1aa4 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x527 -+ .4byte .LASF271 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1abd -+ .4byte 0x1ad2 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF264 -+ .byte 0x15 -+ .2byte 0x539 -+ .4byte .LASF272 -+ .4byte 0xc70 -+ .byte 0x1 -+ .4byte 0x1aeb -+ .4byte 0x1afb -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF273 -+ .byte 0x15 -+ .2byte 0x552 -+ .4byte .LASF274 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1b14 -+ .4byte 0x1b24 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF273 -+ .byte 0x15 -+ .2byte 0x562 -+ .4byte .LASF275 -+ .4byte 0xc70 -+ .byte 0x1 -+ .4byte 0x1b3d -+ .4byte 0x1b48 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF273 -+ .byte 0x15 -+ .2byte 0x576 -+ .4byte .LASF276 -+ .4byte 0xc70 -+ .byte 0x1 -+ .4byte 0x1b61 -+ .4byte 0x1b71 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF277 -+ .byte 0x15 -+ .2byte 0x57f -+ .4byte .LASF278 -+ .byte 0x1 -+ .4byte 0x1b86 -+ .4byte 0x1b8c -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x595 -+ .4byte .LASF280 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1ba5 -+ .4byte 0x1bba -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x5ab -+ .4byte .LASF281 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1bd3 -+ .4byte 0x1bf2 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x5c4 -+ .4byte .LASF282 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1c0b -+ .4byte 0x1c25 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x5d8 -+ .4byte .LASF283 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1c3e -+ .4byte 0x1c53 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x5f0 -+ .4byte .LASF284 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1c6c -+ .4byte 0x1c86 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x602 -+ .4byte .LASF285 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1c9f -+ .4byte 0x1cb4 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x615 -+ .4byte .LASF286 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1ccd -+ .4byte 0x1ce7 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x62a -+ .4byte .LASF287 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1d00 -+ .4byte 0x1d15 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x63f -+ .4byte .LASF288 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1d2e -+ .4byte 0x1d48 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x664 -+ .4byte .LASF289 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1d61 -+ .4byte 0x1d7b -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x66e -+ .4byte .LASF290 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1d94 -+ .4byte 0x1dae -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x679 -+ .4byte .LASF291 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1dc7 -+ .4byte 0x1de1 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x683 -+ .4byte .LASF292 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1dfa -+ .4byte 0x1e14 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc7c -+ .uleb128 0x19 -+ .4byte 0xc7c -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF279 -+ .byte 0x15 -+ .2byte 0x69c -+ .4byte .LASF293 -+ .4byte 0x47c1 -+ .byte 0x1 -+ .4byte 0x1e2d -+ .4byte 0x1e42 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0xc70 -+ .uleb128 0x19 -+ .4byte 0x2556 -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF294 -+ .byte 0x15 -+ .2byte 0x6ae -+ .4byte .LASF295 -+ .4byte 0x47c1 -+ .4byte 0x1e5a -+ .4byte 0x1e74 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x34 -+ .4byte .LASF296 -+ .byte 0x15 -+ .2byte 0x6b2 -+ .4byte .LASF297 -+ .4byte 0x47c1 -+ .4byte 0x1e8c -+ .4byte 0x1ea6 -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF298 -+ .byte 0x15 -+ .2byte 0x6ca -+ .4byte .LASF299 -+ .4byte 0x300d -+ .4byte 0x1eca -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF300 -+ .byte 0x15 -+ .2byte 0x6e3 -+ .4byte .LASF301 -+ .4byte 0x300d -+ .4byte 0x1eee -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF91 -+ .byte 0x15 -+ .2byte 0x6f4 -+ .4byte .LASF302 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x1f07 -+ .4byte 0x1f1c -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3c -+ .4byte .LASF64 -+ .byte 0x15 -+ .2byte 0x6fe -+ .4byte .LASF303 -+ .byte 0x1 -+ .4byte 0x1f31 -+ .4byte 0x1f3c -+ .uleb128 0x18 -+ .4byte 0x47a3 -+ .uleb128 0x19 -+ .4byte 0x47c1 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF304 -+ .byte 0x15 -+ .2byte 0x708 -+ .4byte .LASF305 -+ .4byte 0x2bf -+ .byte 0x1 -+ .4byte 0x1f55 -+ .4byte 0x1f5b -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF306 -+ .byte 0x15 -+ .2byte 0x712 -+ .4byte .LASF307 -+ .4byte 0x2bf -+ .byte 0x1 -+ .4byte 0x1f74 -+ .4byte 0x1f7a -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF308 -+ .byte 0x15 -+ .2byte 0x719 -+ .4byte .LASF309 -+ .4byte 0xc4c -+ .byte 0x1 -+ .4byte 0x1f93 -+ .4byte 0x1f99 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF86 -+ .byte 0x15 -+ .2byte 0x729 -+ .4byte .LASF310 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x1fb2 -+ .4byte 0x1fc7 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF86 -+ .byte 0x15 -+ .2byte 0x736 -+ .4byte .LASF311 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x1fe0 -+ .4byte 0x1ff0 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF86 -+ .byte 0x15 -+ .2byte 0x745 -+ .4byte .LASF312 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2009 -+ .4byte 0x2019 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF86 -+ .byte 0x15 -+ .2byte 0x756 -+ .4byte .LASF313 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2032 -+ .4byte 0x2042 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF314 -+ .byte 0x15 -+ .2byte 0x763 -+ .4byte .LASF315 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x205b -+ .4byte 0x206b -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF314 -+ .byte 0x15 -+ .2byte 0x774 -+ .4byte .LASF316 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2084 -+ .4byte 0x2099 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF314 -+ .byte 0x15 -+ .2byte 0x781 -+ .4byte .LASF317 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x20b2 -+ .4byte 0x20c2 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF314 -+ .byte 0x15 -+ .2byte 0x792 -+ .4byte .LASF318 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x20db -+ .4byte 0x20eb -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF319 -+ .byte 0x15 -+ .2byte 0x7a0 -+ .4byte .LASF320 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2104 -+ .4byte 0x2114 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF319 -+ .byte 0x15 -+ .2byte 0x7b1 -+ .4byte .LASF321 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x212d -+ .4byte 0x2142 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF319 -+ .byte 0x15 -+ .2byte 0x7be -+ .4byte .LASF322 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x215b -+ .4byte 0x216b -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF319 -+ .byte 0x15 -+ .2byte 0x7d1 -+ .4byte .LASF323 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2184 -+ .4byte 0x2194 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF324 -+ .byte 0x15 -+ .2byte 0x7e0 -+ .4byte .LASF325 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x21ad -+ .4byte 0x21bd -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF324 -+ .byte 0x15 -+ .2byte 0x7f1 -+ .4byte .LASF326 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x21d6 -+ .4byte 0x21eb -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF324 -+ .byte 0x15 -+ .2byte 0x7fe -+ .4byte .LASF327 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2204 -+ .4byte 0x2214 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF324 -+ .byte 0x15 -+ .2byte 0x811 -+ .4byte .LASF328 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x222d -+ .4byte 0x223d -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF329 -+ .byte 0x15 -+ .2byte 0x81f -+ .4byte .LASF330 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2256 -+ .4byte 0x2266 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF329 -+ .byte 0x15 -+ .2byte 0x830 -+ .4byte .LASF331 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x227f -+ .4byte 0x2294 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF329 -+ .byte 0x15 -+ .2byte 0x83e -+ .4byte .LASF332 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x22ad -+ .4byte 0x22bd -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF329 -+ .byte 0x15 -+ .2byte 0x84f -+ .4byte .LASF333 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x22d6 -+ .4byte 0x22e6 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF334 -+ .byte 0x15 -+ .2byte 0x85e -+ .4byte .LASF335 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x22ff -+ .4byte 0x230f -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF334 -+ .byte 0x15 -+ .2byte 0x86f -+ .4byte .LASF336 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2328 -+ .4byte 0x233d -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF334 -+ .byte 0x15 -+ .2byte 0x87d -+ .4byte .LASF337 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x2356 -+ .4byte 0x2366 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF334 -+ .byte 0x15 -+ .2byte 0x88e -+ .4byte .LASF338 -+ .4byte 0xc21 -+ .byte 0x1 -+ .4byte 0x237f -+ .4byte 0x238f -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF339 -+ .byte 0x15 -+ .2byte 0x89e -+ .4byte .LASF340 -+ .4byte 0xbc0 -+ .byte 0x1 -+ .4byte 0x23a8 -+ .4byte 0x23b8 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF83 -+ .byte 0x15 -+ .2byte 0x8b1 -+ .4byte .LASF341 -+ .4byte 0x20f -+ .byte 0x1 -+ .4byte 0x23d1 -+ .4byte 0x23dc -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF83 -+ .byte 0x15 -+ .2byte 0x8d1 -+ .4byte .LASF342 -+ .4byte 0x20f -+ .byte 0x1 -+ .4byte 0x23f5 -+ .4byte 0x240a -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF83 -+ .byte 0x15 -+ .2byte 0x8eb -+ .4byte .LASF343 -+ .4byte 0x20f -+ .byte 0x1 -+ .4byte 0x2423 -+ .4byte 0x2442 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x47b5 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF83 -+ .byte 0x15 -+ .2byte 0x8fd -+ .4byte .LASF344 -+ .4byte 0x20f -+ .byte 0x1 -+ .4byte 0x245b -+ .4byte 0x2466 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF83 -+ .byte 0x15 -+ .2byte 0x915 -+ .4byte .LASF345 -+ .4byte 0x20f -+ .byte 0x1 -+ .4byte 0x247f -+ .4byte 0x2494 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF83 -+ .byte 0x15 -+ .2byte 0x930 -+ .4byte .LASF346 -+ .4byte 0x20f -+ .byte 0x1 -+ .4byte 0x24ad -+ .4byte 0x24c7 -+ .uleb128 0x18 -+ .4byte 0x479d -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0xcd1 -+ .uleb128 0x27 -+ .4byte .LASF347 -+ .byte 0x15 -+ .2byte 0x6b9 -+ .4byte .LASF348 -+ .4byte 0x300d -+ .4byte 0x24fe -+ .uleb128 0x3d -+ .4byte .LASF351 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .uleb128 0x19 -+ .4byte 0x689 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF349 -+ .byte 0x15 -+ .2byte 0x6cf -+ .4byte .LASF350 -+ .4byte 0x300d -+ .4byte 0x252b -+ .uleb128 0x3d -+ .4byte .LASF351 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF352 -+ .4byte 0x296 -+ .uleb128 0x3d -+ .4byte .LASF353 -+ .4byte 0x6e1 -+ .uleb128 0x3d -+ .4byte .LASF354 -+ .4byte 0x997 -+ .byte 0 -+ .uleb128 0x20 -+ .4byte .LASF356 -+ .uleb128 0x20 -+ .4byte .LASF357 -+ .uleb128 0x10 -+ .4byte 0xbc0 -+ .uleb128 0x16 -+ .4byte .LASF358 -+ .byte 0x10 -+ .byte 0x17 -+ .byte 0x2f -+ .4byte 0x2636 -+ .uleb128 0x2b -+ .4byte .LASF114 -+ .byte 0x17 -+ .byte 0x36 -+ .4byte 0x2bf -+ .byte 0x1 -+ .uleb128 0x4 -+ .4byte .LASF359 -+ .byte 0x17 -+ .byte 0x3a -+ .4byte 0x2562 -+ .byte 0 -+ .uleb128 0x2b -+ .4byte .LASF104 -+ .byte 0x17 -+ .byte 0x35 -+ .4byte 0x8a8 -+ .byte 0x1 -+ .uleb128 0x4 -+ .4byte .LASF360 -+ .byte 0x17 -+ .byte 0x3b -+ .4byte 0x257a -+ .byte 0x8 -+ .uleb128 0x2b -+ .4byte .LASF115 -+ .byte 0x17 -+ .byte 0x37 -+ .4byte 0x2bf -+ .byte 0x1 -+ .uleb128 0x3e -+ .4byte .LASF361 -+ .byte 0x17 -+ .byte 0x3e -+ .4byte 0x25ad -+ .4byte 0x25bd -+ .uleb128 0x18 -+ .4byte 0x47c7 -+ .uleb128 0x19 -+ .4byte 0x2592 -+ .uleb128 0x19 -+ .4byte 0x257a -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF361 -+ .byte 0x17 -+ .byte 0x42 -+ .byte 0x1 -+ .4byte 0x25cd -+ .4byte 0x25d3 -+ .uleb128 0x18 -+ .4byte 0x47c7 -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF214 -+ .byte 0x17 -+ .byte 0x47 -+ .4byte .LASF362 -+ .4byte 0x257a -+ .byte 0x1 -+ .4byte 0x25eb -+ .4byte 0x25f1 -+ .uleb128 0x18 -+ .4byte 0x47cd -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF195 -+ .byte 0x17 -+ .byte 0x4b -+ .4byte .LASF363 -+ .4byte 0x2592 -+ .byte 0x1 -+ .4byte 0x2609 -+ .4byte 0x260f -+ .uleb128 0x18 -+ .4byte 0x47cd -+ .byte 0 -+ .uleb128 0x3f -+ .string "end" -+ .byte 0x17 -+ .byte 0x4f -+ .4byte .LASF456 -+ .4byte 0x2592 -+ .byte 0x1 -+ .4byte 0x2627 -+ .4byte 0x262d -+ .uleb128 0x18 -+ .4byte 0x47cd -+ .byte 0 -+ .uleb128 0x40 -+ .string "_E" -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x2556 -+ .uleb128 0x41 -+ .4byte .LASF385 -+ .byte 0x4 -+ .byte 0x18 -+ .byte 0x33 -+ .4byte 0x26de -+ .uleb128 0x42 -+ .4byte .LASF364 -+ .sleb128 1 -+ .uleb128 0x42 -+ .4byte .LASF365 -+ .sleb128 2 -+ .uleb128 0x42 -+ .4byte .LASF366 -+ .sleb128 4 -+ .uleb128 0x42 -+ .4byte .LASF367 -+ .sleb128 8 -+ .uleb128 0x42 -+ .4byte .LASF368 -+ .sleb128 16 -+ .uleb128 0x42 -+ .4byte .LASF369 -+ .sleb128 32 -+ .uleb128 0x42 -+ .4byte .LASF370 -+ .sleb128 64 -+ .uleb128 0x42 -+ .4byte .LASF371 -+ .sleb128 128 -+ .uleb128 0x42 -+ .4byte .LASF372 -+ .sleb128 256 -+ .uleb128 0x42 -+ .4byte .LASF373 -+ .sleb128 512 -+ .uleb128 0x42 -+ .4byte .LASF374 -+ .sleb128 1024 -+ .uleb128 0x42 -+ .4byte .LASF375 -+ .sleb128 2048 -+ .uleb128 0x42 -+ .4byte .LASF376 -+ .sleb128 4096 -+ .uleb128 0x42 -+ .4byte .LASF377 -+ .sleb128 8192 -+ .uleb128 0x42 -+ .4byte .LASF378 -+ .sleb128 16384 -+ .uleb128 0x42 -+ .4byte .LASF379 -+ .sleb128 176 -+ .uleb128 0x42 -+ .4byte .LASF380 -+ .sleb128 74 -+ .uleb128 0x42 -+ .4byte .LASF381 -+ .sleb128 260 -+ .uleb128 0x42 -+ .4byte .LASF382 -+ .sleb128 65536 -+ .uleb128 0x42 -+ .4byte .LASF383 -+ .sleb128 2147483647 -+ .uleb128 0x42 -+ .4byte .LASF384 -+ .sleb128 -2147483648 -+ .byte 0 -+ .uleb128 0x41 -+ .4byte .LASF386 -+ .byte 0x4 -+ .byte 0x18 -+ .byte 0x69 -+ .4byte 0x272b -+ .uleb128 0x42 -+ .4byte .LASF387 -+ .sleb128 1 -+ .uleb128 0x42 -+ .4byte .LASF388 -+ .sleb128 2 -+ .uleb128 0x42 -+ .4byte .LASF389 -+ .sleb128 4 -+ .uleb128 0x42 -+ .4byte .LASF390 -+ .sleb128 8 -+ .uleb128 0x42 -+ .4byte .LASF391 -+ .sleb128 16 -+ .uleb128 0x42 -+ .4byte .LASF392 -+ .sleb128 32 -+ .uleb128 0x42 -+ .4byte .LASF393 -+ .sleb128 65536 -+ .uleb128 0x42 -+ .4byte .LASF394 -+ .sleb128 2147483647 -+ .uleb128 0x42 -+ .4byte .LASF395 -+ .sleb128 -2147483648 -+ .byte 0 -+ .uleb128 0x41 -+ .4byte .LASF396 -+ .byte 0x4 -+ .byte 0x18 -+ .byte 0x93 -+ .4byte 0x276c -+ .uleb128 0x42 -+ .4byte .LASF397 -+ .sleb128 0 -+ .uleb128 0x42 -+ .4byte .LASF398 -+ .sleb128 1 -+ .uleb128 0x42 -+ .4byte .LASF399 -+ .sleb128 2 -+ .uleb128 0x42 -+ .4byte .LASF400 -+ .sleb128 4 -+ .uleb128 0x42 -+ .4byte .LASF401 -+ .sleb128 65536 -+ .uleb128 0x42 -+ .4byte .LASF402 -+ .sleb128 2147483647 -+ .uleb128 0x42 -+ .4byte .LASF403 -+ .sleb128 -2147483648 -+ .byte 0 -+ .uleb128 0x41 -+ .4byte .LASF404 -+ .byte 0x4 -+ .byte 0x18 -+ .byte 0xbb -+ .4byte 0x2793 -+ .uleb128 0x42 -+ .4byte .LASF405 -+ .sleb128 0 -+ .uleb128 0x42 -+ .4byte .LASF406 -+ .sleb128 1 -+ .uleb128 0x42 -+ .4byte .LASF407 -+ .sleb128 2 -+ .uleb128 0x42 -+ .4byte .LASF408 -+ .sleb128 65536 -+ .byte 0 -+ .uleb128 0x43 -+ .4byte .LASF432 -+ .4byte 0x2974 -+ .uleb128 0x44 -+ .4byte .LASF409 -+ .byte 0x18 -+ .2byte 0x16f -+ .4byte 0x26de -+ .byte 0x1 -+ .uleb128 0x44 -+ .4byte .LASF410 -+ .byte 0x18 -+ .2byte 0x105 -+ .4byte 0x263b -+ .byte 0x1 -+ .uleb128 0x45 -+ .4byte .LASF411 -+ .byte 0x18 -+ .2byte 0x108 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x1 -+ .uleb128 0x10 -+ .4byte 0x27a9 -+ .uleb128 0x46 -+ .string "dec" -+ .byte 0x18 -+ .2byte 0x10b -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x2 -+ .uleb128 0x45 -+ .4byte .LASF412 -+ .byte 0x18 -+ .2byte 0x10e -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x4 -+ .uleb128 0x46 -+ .string "hex" -+ .byte 0x18 -+ .2byte 0x111 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x8 -+ .uleb128 0x45 -+ .4byte .LASF413 -+ .byte 0x18 -+ .2byte 0x116 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x10 -+ .uleb128 0x45 -+ .4byte .LASF414 -+ .byte 0x18 -+ .2byte 0x11a -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x20 -+ .uleb128 0x46 -+ .string "oct" -+ .byte 0x18 -+ .2byte 0x11d -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x40 -+ .uleb128 0x45 -+ .4byte .LASF415 -+ .byte 0x18 -+ .2byte 0x121 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x80 -+ .uleb128 0x47 -+ .4byte .LASF416 -+ .byte 0x18 -+ .2byte 0x124 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x100 -+ .uleb128 0x47 -+ .4byte .LASF417 -+ .byte 0x18 -+ .2byte 0x128 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x200 -+ .uleb128 0x47 -+ .4byte .LASF418 -+ .byte 0x18 -+ .2byte 0x12c -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x400 -+ .uleb128 0x47 -+ .4byte .LASF419 -+ .byte 0x18 -+ .2byte 0x12f -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x800 -+ .uleb128 0x47 -+ .4byte .LASF420 -+ .byte 0x18 -+ .2byte 0x132 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x1000 -+ .uleb128 0x47 -+ .4byte .LASF421 -+ .byte 0x18 -+ .2byte 0x135 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x2000 -+ .uleb128 0x47 -+ .4byte .LASF422 -+ .byte 0x18 -+ .2byte 0x139 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x4000 -+ .uleb128 0x45 -+ .4byte .LASF423 -+ .byte 0x18 -+ .2byte 0x13c -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0xb0 -+ .uleb128 0x45 -+ .4byte .LASF424 -+ .byte 0x18 -+ .2byte 0x13f -+ .4byte 0x27c4 -+ .byte 0x1 -+ .byte 0x4a -+ .uleb128 0x47 -+ .4byte .LASF425 -+ .byte 0x18 -+ .2byte 0x142 -+ .4byte 0x27c4 -+ .byte 0x1 -+ .2byte 0x104 -+ .uleb128 0x44 -+ .4byte .LASF426 -+ .byte 0x18 -+ .2byte 0x150 -+ .4byte 0x272b -+ .byte 0x1 -+ .uleb128 0x45 -+ .4byte .LASF427 -+ .byte 0x18 -+ .2byte 0x154 -+ .4byte 0x28da -+ .byte 0x1 -+ .byte 0x1 -+ .uleb128 0x10 -+ .4byte 0x28bf -+ .uleb128 0x45 -+ .4byte .LASF428 -+ .byte 0x18 -+ .2byte 0x157 -+ .4byte 0x28da -+ .byte 0x1 -+ .byte 0x2 -+ .uleb128 0x45 -+ .4byte .LASF429 -+ .byte 0x18 -+ .2byte 0x15c -+ .4byte 0x28da -+ .byte 0x1 -+ .byte 0x4 -+ .uleb128 0x45 -+ .4byte .LASF430 -+ .byte 0x18 -+ .2byte 0x15f -+ .4byte 0x28da -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0x46 -+ .string "app" -+ .byte 0x18 -+ .2byte 0x172 -+ .4byte 0x2917 -+ .byte 0x1 -+ .byte 0x1 -+ .uleb128 0x10 -+ .4byte 0x279c -+ .uleb128 0x46 -+ .string "ate" -+ .byte 0x18 -+ .2byte 0x175 -+ .4byte 0x2917 -+ .byte 0x1 -+ .byte 0x2 -+ .uleb128 0x46 -+ .string "in" -+ .byte 0x18 -+ .2byte 0x17d -+ .4byte 0x2917 -+ .byte 0x1 -+ .byte 0x8 -+ .uleb128 0x46 -+ .string "out" -+ .byte 0x18 -+ .2byte 0x180 -+ .4byte 0x2917 -+ .byte 0x1 -+ .byte 0x10 -+ .uleb128 0x44 -+ .4byte .LASF431 -+ .byte 0x18 -+ .2byte 0x18f -+ .4byte 0x276c -+ .byte 0x1 -+ .uleb128 0x46 -+ .string "cur" -+ .byte 0x18 -+ .2byte 0x195 -+ .4byte 0x2960 -+ .byte 0x1 -+ .byte 0x1 -+ .uleb128 0x10 -+ .4byte 0x2945 -+ .uleb128 0x46 -+ .string "end" -+ .byte 0x18 -+ .2byte 0x198 -+ .4byte 0x2960 -+ .byte 0x1 -+ .byte 0x2 -+ .byte 0 -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x52 -+ .4byte 0x47f4 -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x53 -+ .4byte 0x47e9 -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x54 -+ .4byte 0x228 -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x5c -+ .4byte 0x480a -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x65 -+ .4byte 0x4824 -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x68 -+ .4byte 0x483e -+ .uleb128 0x13 -+ .byte 0x19 -+ .byte 0x69 -+ .4byte 0x4853 -+ .uleb128 0x43 -+ .4byte .LASF433 -+ .4byte 0x29e6 -+ .uleb128 0x48 -+ .4byte .LASF434 -+ .byte 0x1a -+ .byte 0x5d -+ .byte 0x1 -+ .4byte 0x29a5 -+ .byte 0x1 -+ .4byte 0x29c3 -+ .4byte 0x29d3 -+ .uleb128 0x18 -+ .4byte 0x49ef -+ .uleb128 0x18 -+ .4byte 0x20f -+ .uleb128 0x18 -+ .4byte 0x49f5 -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF352 -+ .4byte 0x296 -+ .uleb128 0x3d -+ .4byte .LASF353 -+ .4byte 0x6e1 -+ .byte 0 -+ .uleb128 0x43 -+ .4byte .LASF435 -+ .4byte 0x2aa2 -+ .uleb128 0x48 -+ .4byte .LASF436 -+ .byte 0x1b -+ .byte 0xc5 -+ .byte 0x1 -+ .4byte 0x29e6 -+ .byte 0x1 -+ .4byte 0x2a04 -+ .4byte 0x2a0f -+ .uleb128 0x18 -+ .4byte 0x4997 -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF437 -+ .byte 0x1b -+ .2byte 0x1cf -+ .byte 0x2 -+ .4byte 0x2a20 -+ .4byte 0x2a26 -+ .uleb128 0x18 -+ .4byte 0x4997 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF438 -+ .byte 0x1b -+ .2byte 0x214 -+ .4byte .LASF439 -+ .4byte 0x4e95 -+ .byte 0x2 -+ .4byte 0x2a3f -+ .4byte 0x2a45 -+ .uleb128 0x18 -+ .4byte 0x4e9b -+ .byte 0 -+ .uleb128 0x2b -+ .4byte .LASF79 -+ .byte 0x1b -+ .byte 0x81 -+ .4byte 0x296 -+ .byte 0x1 -+ .uleb128 0x3a -+ .4byte .LASF440 -+ .byte 0x1b -+ .2byte 0x1e8 -+ .4byte .LASF441 -+ .4byte 0x4e95 -+ .byte 0x2 -+ .4byte 0x2a6a -+ .4byte 0x2a70 -+ .uleb128 0x18 -+ .4byte 0x4e9b -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF442 -+ .byte 0x1b -+ .2byte 0x211 -+ .4byte .LASF443 -+ .4byte 0x4e95 -+ .byte 0x2 -+ .4byte 0x2a89 -+ .4byte 0x2a8f -+ .uleb128 0x18 -+ .4byte 0x4e9b -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF352 -+ .4byte 0x296 -+ .uleb128 0x3d -+ .4byte .LASF353 -+ .4byte 0x6e1 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF444 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0xaf -+ .4byte 0x2ae4 -+ .uleb128 0x2 -+ .4byte .LASF445 -+ .byte 0xe -+ .byte 0xb1 -+ .4byte 0x6c7 -+ .uleb128 0x2 -+ .4byte .LASF446 -+ .byte 0xe -+ .byte 0xb3 -+ .4byte 0x98c -+ .uleb128 0x2 -+ .4byte .LASF447 -+ .byte 0xe -+ .byte 0xb4 -+ .4byte 0x300d -+ .uleb128 0x2 -+ .4byte .LASF105 -+ .byte 0xe -+ .byte 0xb5 -+ .4byte 0x40a9 -+ .uleb128 0x3d -+ .4byte .LASF448 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF449 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0xba -+ .4byte 0x2b1b -+ .uleb128 0x2 -+ .4byte .LASF446 -+ .byte 0xe -+ .byte 0xbe -+ .4byte 0x98c -+ .uleb128 0x2 -+ .4byte .LASF447 -+ .byte 0xe -+ .byte 0xbf -+ .4byte 0x2bf -+ .uleb128 0x2 -+ .4byte .LASF105 -+ .byte 0xe -+ .byte 0xc0 -+ .4byte 0x40af -+ .uleb128 0x3d -+ .4byte .LASF448 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x43 -+ .4byte .LASF450 -+ .4byte 0x2b6f -+ .uleb128 0x49 -+ .4byte .LASF451 -+ .byte 0x1c -+ .2byte 0x114 -+ .byte 0x1 -+ .4byte 0x2b1b -+ .byte 0x1 -+ .4byte 0x2b3a -+ .4byte 0x2b45 -+ .uleb128 0x18 -+ .4byte 0x49c3 -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x38 -+ .4byte .LASF452 -+ .byte 0x1c -+ .2byte 0x1c6 -+ .byte 0x2 -+ .4byte 0x2b56 -+ .4byte 0x2b5c -+ .uleb128 0x18 -+ .4byte 0x49c3 -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF352 -+ .4byte 0x296 -+ .uleb128 0x3d -+ .4byte .LASF353 -+ .4byte 0x6e1 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF453 -+ .byte 0x18 -+ .byte 0x7b -+ .4byte 0x26de -+ .4byte 0x2b89 -+ .uleb128 0x19 -+ .4byte 0x26de -+ .uleb128 0x19 -+ .4byte 0x26de -+ .byte 0 -+ .uleb128 0x43 -+ .4byte .LASF454 -+ .4byte 0x2bf3 -+ .uleb128 0x4b -+ .4byte .LASF455 -+ .byte 0x2 -+ .byte 0x62 -+ .byte 0x1 -+ .4byte 0x2ba2 -+ .4byte 0x2bad -+ .uleb128 0x18 -+ .4byte 0x4cd6 -+ .uleb128 0x19 -+ .4byte 0x279c -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF352 -+ .4byte 0x296 -+ .uleb128 0x3d -+ .4byte .LASF353 -+ .4byte 0x6e1 -+ .uleb128 0x3d -+ .4byte .LASF354 -+ .4byte 0x997 -+ .uleb128 0x3f -+ .string "str" -+ .byte 0x2 -+ .byte 0x7e -+ .4byte .LASF457 -+ .4byte 0x2be6 -+ .byte 0x1 -+ .4byte 0x2be0 -+ .4byte 0x2be6 -+ .uleb128 0x18 -+ .4byte 0x5178 -+ .byte 0 -+ .uleb128 0x2b -+ .4byte .LASF458 -+ .byte 0x2 -+ .byte 0x4e -+ .4byte 0xbc0 -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF459 -+ .byte 0xe -+ .byte 0xc9 -+ .4byte 0x2aae -+ .4byte 0x2c11 -+ .uleb128 0x3d -+ .4byte .LASF460 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x48a1 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF461 -+ .byte 0x1d -+ .byte 0x5a -+ .4byte 0x2ab9 -+ .4byte 0x2c39 -+ .uleb128 0x3d -+ .4byte .LASF462 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x6c7 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF463 -+ .byte 0x12 -+ .byte 0x85 -+ .4byte 0x3d6e -+ .4byte 0x2c5c -+ .uleb128 0x40 -+ .string "_Tp" -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .uleb128 0x19 -+ .4byte 0x40cd -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF464 -+ .byte 0x1d -+ .byte 0x72 -+ .4byte 0x2ab9 -+ .4byte 0x2c7f -+ .uleb128 0x3d -+ .4byte .LASF465 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x29e6 -+ .uleb128 0x43 -+ .4byte .LASF466 -+ .4byte 0x2cd5 -+ .uleb128 0x3b -+ .string "str" -+ .byte 0x2 -+ .2byte 0x1d7 -+ .4byte .LASF467 -+ .4byte 0x2cac -+ .byte 0x1 -+ .4byte 0x2ca6 -+ .4byte 0x2cac -+ .uleb128 0x18 -+ .4byte 0x4f40 -+ .byte 0 -+ .uleb128 0x44 -+ .4byte .LASF458 -+ .byte 0x2 -+ .2byte 0x191 -+ .4byte 0xbc0 -+ .byte 0x1 -+ .uleb128 0x3d -+ .4byte .LASF352 -+ .4byte 0x296 -+ .uleb128 0x3d -+ .4byte .LASF353 -+ .4byte 0x6e1 -+ .uleb128 0x3d -+ .4byte .LASF354 -+ .4byte 0x997 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x2c84 -+ .uleb128 0x2 -+ .4byte .LASF468 -+ .byte 0x1e -+ .byte 0x94 -+ .4byte 0x2c84 -+ .uleb128 0x4c -+ .4byte .LASF785 -+ .byte 0xd -+ .byte 0x4f -+ .4byte 0x2cf2 -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x691 -+ .uleb128 0x10 -+ .4byte 0x2b89 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF469 -+ .byte 0x8 -+ .2byte 0x184 -+ .4byte 0x228 -+ .4byte 0x2d13 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF470 -+ .byte 0x8 -+ .2byte 0x2e9 -+ .4byte 0x228 -+ .4byte 0x2d29 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x1b8 -+ .uleb128 0x4d -+ .4byte .LASF471 -+ .byte 0x1f -+ .2byte 0x180 -+ .4byte 0x2d4f -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x20f -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2d55 -+ .uleb128 0x9 -+ .byte 0x4 -+ .byte 0x7 -+ .4byte .LASF472 -+ .uleb128 0x4d -+ .4byte .LASF473 -+ .byte 0x8 -+ .2byte 0x2f7 -+ .4byte 0x228 -+ .4byte 0x2d77 -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF474 -+ .byte 0x8 -+ .2byte 0x30d -+ .4byte 0x20f -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2d98 -+ .uleb128 0x10 -+ .4byte 0x2d55 -+ .uleb128 0x4d -+ .4byte .LASF475 -+ .byte 0x8 -+ .2byte 0x24b -+ .4byte 0x20f -+ .4byte 0x2db8 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF476 -+ .byte 0x1f -+ .2byte 0x159 -+ .4byte 0x20f -+ .4byte 0x2dd4 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x4e -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF477 -+ .byte 0x8 -+ .2byte 0x27b -+ .4byte 0x20f -+ .4byte 0x2df0 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x4e -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF478 -+ .byte 0x8 -+ .2byte 0x2ea -+ .4byte 0x228 -+ .4byte 0x2e06 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x4f -+ .4byte .LASF677 -+ .byte 0x8 -+ .2byte 0x2f0 -+ .4byte 0x228 -+ .uleb128 0x4d -+ .4byte .LASF479 -+ .byte 0x8 -+ .2byte 0x18f -+ .4byte 0x216 -+ .4byte 0x2e32 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2e32 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2a8 -+ .uleb128 0x4d -+ .4byte .LASF480 -+ .byte 0x8 -+ .2byte 0x16d -+ .4byte 0x216 -+ .4byte 0x2e5d -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2e32 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF481 -+ .byte 0x8 -+ .2byte 0x169 -+ .4byte 0x20f -+ .4byte 0x2e73 -+ .uleb128 0x19 -+ .4byte 0x2e73 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2e79 -+ .uleb128 0x10 -+ .4byte 0x2a8 -+ .uleb128 0x4d -+ .4byte .LASF482 -+ .byte 0x1f -+ .2byte 0x1da -+ .4byte 0x216 -+ .4byte 0x2ea3 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2ea3 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2e32 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2bf -+ .uleb128 0x4d -+ .4byte .LASF483 -+ .byte 0x8 -+ .2byte 0x2f8 -+ .4byte 0x228 -+ .4byte 0x2ec4 -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF484 -+ .byte 0x8 -+ .2byte 0x2fe -+ .4byte 0x228 -+ .4byte 0x2eda -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF485 -+ .byte 0x1f -+ .2byte 0x11d -+ .4byte 0x20f -+ .4byte 0x2efb -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x4e -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF486 -+ .byte 0x8 -+ .2byte 0x285 -+ .4byte 0x20f -+ .4byte 0x2f17 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x4e -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF487 -+ .byte 0x8 -+ .2byte 0x315 -+ .4byte 0x228 -+ .4byte 0x2f32 -+ .uleb128 0x19 -+ .4byte 0x228 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF488 -+ .byte 0x1f -+ .2byte 0x16c -+ .4byte 0x20f -+ .4byte 0x2f52 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x1c3 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF489 -+ .byte 0x8 -+ .2byte 0x2b1 -+ .4byte 0x20f -+ .4byte 0x2f72 -+ .uleb128 0x19 -+ .4byte 0x2d29 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x1c3 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF490 -+ .byte 0x1f -+ .2byte 0x13b -+ .4byte 0x20f -+ .4byte 0x2f97 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x1c3 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF491 -+ .byte 0x8 -+ .2byte 0x2bd -+ .4byte 0x20f -+ .4byte 0x2fb7 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x1c3 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF492 -+ .byte 0x1f -+ .2byte 0x166 -+ .4byte 0x20f -+ .4byte 0x2fd2 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x1c3 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF493 -+ .byte 0x8 -+ .2byte 0x2b9 -+ .4byte 0x20f -+ .4byte 0x2fed -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x1c3 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF494 -+ .byte 0x1f -+ .2byte 0x1b8 -+ .4byte 0x216 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .uleb128 0x19 -+ .4byte 0x2e32 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x296 -+ .uleb128 0x4a -+ .4byte .LASF495 -+ .byte 0x1f -+ .byte 0xf6 -+ .4byte 0x2d4f -+ .4byte 0x302d -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF496 -+ .byte 0x8 -+ .byte 0xa3 -+ .4byte 0x20f -+ .4byte 0x3047 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF497 -+ .byte 0x8 -+ .byte 0xc0 -+ .4byte 0x20f -+ .4byte 0x3061 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF498 -+ .byte 0x1f -+ .byte 0x98 -+ .4byte 0x2d4f -+ .4byte 0x307b -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF499 -+ .byte 0x8 -+ .byte 0xfc -+ .4byte 0x216 -+ .4byte 0x3095 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF500 -+ .byte 0x8 -+ .2byte 0x357 -+ .4byte 0x216 -+ .4byte 0x30ba -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x30ba -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x30c0 -+ .uleb128 0x10 -+ .4byte 0x30c5 -+ .uleb128 0x50 -+ .string "tm" -+ .byte 0x38 -+ .byte 0x20 -+ .byte 0x85 -+ .4byte 0x3155 -+ .uleb128 0x4 -+ .4byte .LASF501 -+ .byte 0x20 -+ .byte 0x87 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF502 -+ .byte 0x20 -+ .byte 0x88 -+ .4byte 0x20f -+ .byte 0x4 -+ .uleb128 0x4 -+ .4byte .LASF503 -+ .byte 0x20 -+ .byte 0x89 -+ .4byte 0x20f -+ .byte 0x8 -+ .uleb128 0x4 -+ .4byte .LASF504 -+ .byte 0x20 -+ .byte 0x8a -+ .4byte 0x20f -+ .byte 0xc -+ .uleb128 0x4 -+ .4byte .LASF505 -+ .byte 0x20 -+ .byte 0x8b -+ .4byte 0x20f -+ .byte 0x10 -+ .uleb128 0x4 -+ .4byte .LASF506 -+ .byte 0x20 -+ .byte 0x8c -+ .4byte 0x20f -+ .byte 0x14 -+ .uleb128 0x4 -+ .4byte .LASF507 -+ .byte 0x20 -+ .byte 0x8d -+ .4byte 0x20f -+ .byte 0x18 -+ .uleb128 0x4 -+ .4byte .LASF508 -+ .byte 0x20 -+ .byte 0x8e -+ .4byte 0x20f -+ .byte 0x1c -+ .uleb128 0x4 -+ .4byte .LASF509 -+ .byte 0x20 -+ .byte 0x8f -+ .4byte 0x20f -+ .byte 0x20 -+ .uleb128 0x4 -+ .4byte .LASF510 -+ .byte 0x20 -+ .byte 0x92 -+ .4byte 0x3299 -+ .byte 0x28 -+ .uleb128 0x4 -+ .4byte .LASF511 -+ .byte 0x20 -+ .byte 0x93 -+ .4byte 0x2bf -+ .byte 0x30 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF512 -+ .byte 0x8 -+ .2byte 0x11f -+ .4byte 0x216 -+ .4byte 0x316b -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF513 -+ .byte 0x1f -+ .2byte 0x107 -+ .4byte 0x2d4f -+ .4byte 0x318b -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF514 -+ .byte 0x8 -+ .byte 0xa6 -+ .4byte 0x20f -+ .4byte 0x31aa -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF515 -+ .byte 0x1f -+ .byte 0xbf -+ .4byte 0x2d4f -+ .4byte 0x31c9 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF516 -+ .byte 0x1f -+ .2byte 0x1fc -+ .4byte 0x216 -+ .4byte 0x31ee -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x31ee -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x2e32 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2d92 -+ .uleb128 0x4d -+ .4byte .LASF517 -+ .byte 0x8 -+ .2byte 0x100 -+ .4byte 0x216 -+ .4byte 0x320f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF518 -+ .byte 0x8 -+ .2byte 0x1c2 -+ .4byte 0x322a -+ .4byte 0x322a -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x8 -+ .byte 0x4 -+ .4byte .LASF519 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2d4f -+ .uleb128 0x4d -+ .4byte .LASF520 -+ .byte 0x8 -+ .2byte 0x1c9 -+ .4byte 0x3252 -+ .4byte 0x3252 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x4 -+ .byte 0x4 -+ .4byte .LASF521 -+ .uleb128 0x4d -+ .4byte .LASF522 -+ .byte 0x8 -+ .2byte 0x11a -+ .4byte 0x2d4f -+ .4byte 0x3279 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF523 -+ .byte 0x8 -+ .2byte 0x1d4 -+ .4byte 0x3299 -+ .4byte 0x3299 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x8 -+ .byte 0x5 -+ .4byte .LASF524 -+ .uleb128 0x4d -+ .4byte .LASF525 -+ .byte 0x8 -+ .2byte 0x1d9 -+ .4byte 0x221 -+ .4byte 0x32c0 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF526 -+ .byte 0x8 -+ .byte 0xc4 -+ .4byte 0x216 -+ .4byte 0x32df -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF527 -+ .byte 0x8 -+ .2byte 0x18a -+ .4byte 0x20f -+ .4byte 0x32f5 -+ .uleb128 0x19 -+ .4byte 0x228 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF528 -+ .byte 0x8 -+ .2byte 0x145 -+ .4byte 0x20f -+ .4byte 0x3315 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF529 -+ .byte 0x1f -+ .byte 0x27 -+ .4byte 0x2d4f -+ .4byte 0x3334 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF530 -+ .byte 0x1f -+ .byte 0x44 -+ .4byte 0x2d4f -+ .4byte 0x3353 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF531 -+ .byte 0x1f -+ .byte 0x81 -+ .4byte 0x2d4f -+ .4byte 0x3372 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF532 -+ .byte 0x1f -+ .2byte 0x153 -+ .4byte 0x20f -+ .4byte 0x3389 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x4e -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF533 -+ .byte 0x8 -+ .2byte 0x282 -+ .4byte 0x20f -+ .4byte 0x33a0 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x4e -+ .byte 0 -+ .uleb128 0x26 -+ .4byte .LASF534 -+ .byte 0x8 -+ .byte 0xe0 -+ .4byte .LASF534 -+ .4byte 0x2d92 -+ .4byte 0x33be -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF535 -+ .byte 0x8 -+ .2byte 0x106 -+ .4byte .LASF535 -+ .4byte 0x2d92 -+ .4byte 0x33dd -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x26 -+ .4byte .LASF536 -+ .byte 0x8 -+ .byte 0xea -+ .4byte .LASF536 -+ .4byte 0x2d92 -+ .4byte 0x33fb -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF537 -+ .byte 0x8 -+ .2byte 0x111 -+ .4byte .LASF537 -+ .4byte 0x2d92 -+ .4byte 0x341a -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .byte 0 -+ .uleb128 0x27 -+ .4byte .LASF538 -+ .byte 0x8 -+ .2byte 0x13c -+ .4byte .LASF538 -+ .4byte 0x2d92 -+ .4byte 0x343e -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x15 -+ .4byte .LASF539 -+ .byte 0x9 -+ .byte 0xf2 -+ .4byte 0x3cdb -+ .uleb128 0x13 -+ .byte 0x9 -+ .byte 0xf8 -+ .4byte 0x3cdb -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x101 -+ .4byte 0x3cfd -+ .uleb128 0x14 -+ .byte 0x9 -+ .2byte 0x102 -+ .4byte 0x3d24 -+ .uleb128 0x13 -+ .byte 0x21 -+ .byte 0x2c -+ .4byte 0x8a8 -+ .uleb128 0x13 -+ .byte 0x21 -+ .byte 0x2d -+ .4byte 0x98c -+ .uleb128 0x16 -+ .4byte .LASF540 -+ .byte 0x1 -+ .byte 0x21 -+ .byte 0x3a -+ .4byte 0x35bc -+ .uleb128 0x2b -+ .4byte .LASF104 -+ .byte 0x21 -+ .byte 0x3d -+ .4byte 0x8a8 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF447 -+ .byte 0x21 -+ .byte 0x3f -+ .4byte 0x300d -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF541 -+ .byte 0x21 -+ .byte 0x40 -+ .4byte 0x2bf -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF105 -+ .byte 0x21 -+ .byte 0x41 -+ .4byte 0x40a9 -+ .byte 0x1 -+ .uleb128 0x2b -+ .4byte .LASF106 -+ .byte 0x21 -+ .byte 0x42 -+ .4byte 0x40af -+ .byte 0x1 -+ .uleb128 0x1c -+ .4byte .LASF542 -+ .byte 0x21 -+ .byte 0x4f -+ .byte 0x1 -+ .4byte 0x34c6 -+ .4byte 0x34cc -+ .uleb128 0x18 -+ .4byte 0x40b5 -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF542 -+ .byte 0x21 -+ .byte 0x51 -+ .byte 0x1 -+ .4byte 0x34dc -+ .4byte 0x34e7 -+ .uleb128 0x18 -+ .4byte 0x40b5 -+ .uleb128 0x19 -+ .4byte 0x40bb -+ .byte 0 -+ .uleb128 0x1c -+ .4byte .LASF543 -+ .byte 0x21 -+ .byte 0x56 -+ .byte 0x1 -+ .4byte 0x34f7 -+ .4byte 0x3502 -+ .uleb128 0x18 -+ .4byte 0x40b5 -+ .uleb128 0x18 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF544 -+ .byte 0x21 -+ .byte 0x59 -+ .4byte .LASF545 -+ .4byte 0x3486 -+ .byte 0x1 -+ .4byte 0x351a -+ .4byte 0x3525 -+ .uleb128 0x18 -+ .4byte 0x40c1 -+ .uleb128 0x19 -+ .4byte 0x349e -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF544 -+ .byte 0x21 -+ .byte 0x5d -+ .4byte .LASF546 -+ .4byte 0x3492 -+ .byte 0x1 -+ .4byte 0x353d -+ .4byte 0x3548 -+ .uleb128 0x18 -+ .4byte 0x40c1 -+ .uleb128 0x19 -+ .4byte 0x34aa -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF547 -+ .byte 0x21 -+ .byte 0x63 -+ .4byte .LASF548 -+ .4byte 0x3486 -+ .byte 0x1 -+ .4byte 0x3560 -+ .4byte 0x3570 -+ .uleb128 0x18 -+ .4byte 0x40b5 -+ .uleb128 0x19 -+ .4byte 0x347a -+ .uleb128 0x19 -+ .4byte 0x40a2 -+ .byte 0 -+ .uleb128 0x1e -+ .4byte .LASF549 -+ .byte 0x21 -+ .byte 0x6d -+ .4byte .LASF550 -+ .byte 0x1 -+ .4byte 0x3584 -+ .4byte 0x3594 -+ .uleb128 0x18 -+ .4byte 0x40b5 -+ .uleb128 0x19 -+ .4byte 0x3486 -+ .uleb128 0x19 -+ .4byte 0x347a -+ .byte 0 -+ .uleb128 0x1d -+ .4byte .LASF217 -+ .byte 0x21 -+ .byte 0x71 -+ .4byte .LASF551 -+ .4byte 0x347a -+ .byte 0x1 -+ .4byte 0x35ac -+ .4byte 0x35b2 -+ .uleb128 0x18 -+ .4byte 0x40c1 -+ .byte 0 -+ .uleb128 0x40 -+ .string "_Tp" -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x346e -+ .uleb128 0x3 -+ .4byte .LASF552 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x37 -+ .4byte 0x3603 -+ .uleb128 0x31 -+ .4byte .LASF553 -+ .byte 0x22 -+ .byte 0x3a -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF554 -+ .byte 0x22 -+ .byte 0x3b -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x3f -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF556 -+ .byte 0x22 -+ .byte 0x40 -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xc9 -+ .4byte 0x4158 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xd9 -+ .4byte 0x43ce -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xe4 -+ .4byte 0x43e9 -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xe5 -+ .4byte 0x43ff -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xe6 -+ .4byte 0x441e -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xe8 -+ .4byte 0x443d -+ .uleb128 0x13 -+ .byte 0x13 -+ .byte 0xe9 -+ .4byte 0x4457 -+ .uleb128 0x25 -+ .string "div" -+ .byte 0x13 -+ .byte 0xd6 -+ .4byte .LASF558 -+ .4byte 0x4158 -+ .4byte 0x3652 -+ .uleb128 0x19 -+ .4byte 0x3d1d -+ .uleb128 0x19 -+ .4byte 0x3d1d -+ .byte 0 -+ .uleb128 0x51 -+ .4byte .LASF559 -+ .byte 0x8 -+ .byte 0x23 -+ .2byte 0x2c4 -+ .4byte 0x3876 -+ .uleb128 0x52 -+ .4byte .LASF560 -+ .byte 0x23 -+ .2byte 0x2c7 -+ .4byte 0x300d -+ .byte 0 -+ .byte 0x2 -+ .uleb128 0x44 -+ .4byte .LASF446 -+ .byte 0x23 -+ .2byte 0x2cf -+ .4byte 0x2ab9 -+ .byte 0x1 -+ .uleb128 0x44 -+ .4byte .LASF105 -+ .byte 0x23 -+ .2byte 0x2d0 -+ .4byte 0x2acf -+ .byte 0x1 -+ .uleb128 0x44 -+ .4byte .LASF447 -+ .byte 0x23 -+ .2byte 0x2d1 -+ .4byte 0x2ac4 -+ .byte 0x1 -+ .uleb128 0x38 -+ .4byte .LASF561 -+ .byte 0x23 -+ .2byte 0x2d3 -+ .byte 0x1 -+ .4byte 0x36a5 -+ .4byte 0x36ab -+ .uleb128 0x18 -+ .4byte 0x489b -+ .byte 0 -+ .uleb128 0x39 -+ .4byte .LASF561 -+ .byte 0x23 -+ .2byte 0x2d6 -+ .byte 0x1 -+ .4byte 0x36bc -+ .4byte 0x36c7 -+ .uleb128 0x18 -+ .4byte 0x489b -+ .uleb128 0x19 -+ .4byte 0x48a1 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF562 -+ .byte 0x23 -+ .2byte 0x2e2 -+ .4byte .LASF563 -+ .4byte 0x367a -+ .byte 0x1 -+ .4byte 0x36e0 -+ .4byte 0x36e6 -+ .uleb128 0x18 -+ .4byte 0x48ac -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF564 -+ .byte 0x23 -+ .2byte 0x2e6 -+ .4byte .LASF565 -+ .4byte 0x3687 -+ .byte 0x1 -+ .4byte 0x36ff -+ .4byte 0x3705 -+ .uleb128 0x18 -+ .4byte 0x48ac -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF566 -+ .byte 0x23 -+ .2byte 0x2ea -+ .4byte .LASF567 -+ .4byte 0x48b2 -+ .byte 0x1 -+ .4byte 0x371e -+ .4byte 0x3724 -+ .uleb128 0x18 -+ .4byte 0x489b -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF566 -+ .byte 0x23 -+ .2byte 0x2f1 -+ .4byte .LASF568 -+ .4byte 0x3652 -+ .byte 0x1 -+ .4byte 0x373d -+ .4byte 0x3748 -+ .uleb128 0x18 -+ .4byte 0x489b -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF569 -+ .byte 0x23 -+ .2byte 0x2f6 -+ .4byte .LASF570 -+ .4byte 0x48b2 -+ .byte 0x1 -+ .4byte 0x3761 -+ .4byte 0x3767 -+ .uleb128 0x18 -+ .4byte 0x489b -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF569 -+ .byte 0x23 -+ .2byte 0x2fd -+ .4byte .LASF571 -+ .4byte 0x3652 -+ .byte 0x1 -+ .4byte 0x3780 -+ .4byte 0x378b -+ .uleb128 0x18 -+ .4byte 0x489b -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF232 -+ .byte 0x23 -+ .2byte 0x302 -+ .4byte .LASF572 -+ .4byte 0x367a -+ .byte 0x1 -+ .4byte 0x37a4 -+ .4byte 0x37af -+ .uleb128 0x18 -+ .4byte 0x48ac -+ .uleb128 0x19 -+ .4byte 0x48b8 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x366d -+ .uleb128 0x3a -+ .4byte .LASF243 -+ .byte 0x23 -+ .2byte 0x306 -+ .4byte .LASF573 -+ .4byte 0x48b2 -+ .byte 0x1 -+ .4byte 0x37cd -+ .4byte 0x37d8 -+ .uleb128 0x18 -+ .4byte 0x489b -+ .uleb128 0x19 -+ .4byte 0x48b8 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF574 -+ .byte 0x23 -+ .2byte 0x30a -+ .4byte .LASF575 -+ .4byte 0x3652 -+ .byte 0x1 -+ .4byte 0x37f1 -+ .4byte 0x37fc -+ .uleb128 0x18 -+ .4byte 0x48ac -+ .uleb128 0x19 -+ .4byte 0x48b8 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF576 -+ .byte 0x23 -+ .2byte 0x30e -+ .4byte .LASF577 -+ .4byte 0x48b2 -+ .byte 0x1 -+ .4byte 0x3815 -+ .4byte 0x3820 -+ .uleb128 0x18 -+ .4byte 0x489b -+ .uleb128 0x19 -+ .4byte 0x48b8 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF578 -+ .byte 0x23 -+ .2byte 0x312 -+ .4byte .LASF579 -+ .4byte 0x3652 -+ .byte 0x1 -+ .4byte 0x3839 -+ .4byte 0x3844 -+ .uleb128 0x18 -+ .4byte 0x48ac -+ .uleb128 0x19 -+ .4byte 0x48b8 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF580 -+ .byte 0x23 -+ .2byte 0x316 -+ .4byte .LASF581 -+ .4byte 0x48a1 -+ .byte 0x1 -+ .4byte 0x385d -+ .4byte 0x3863 -+ .uleb128 0x18 -+ .4byte 0x48ac -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF448 -+ .4byte 0x300d -+ .uleb128 0x3d -+ .4byte .LASF582 -+ .4byte 0xbc0 -+ .byte 0 -+ .uleb128 0x51 -+ .4byte .LASF583 -+ .byte 0x8 -+ .byte 0x23 -+ .2byte 0x2c4 -+ .4byte 0x3a9a -+ .uleb128 0x52 -+ .4byte .LASF560 -+ .byte 0x23 -+ .2byte 0x2c7 -+ .4byte 0x2bf -+ .byte 0 -+ .byte 0x2 -+ .uleb128 0x44 -+ .4byte .LASF446 -+ .byte 0x23 -+ .2byte 0x2cf -+ .4byte 0x2af0 -+ .byte 0x1 -+ .uleb128 0x44 -+ .4byte .LASF105 -+ .byte 0x23 -+ .2byte 0x2d0 -+ .4byte 0x2b06 -+ .byte 0x1 -+ .uleb128 0x44 -+ .4byte .LASF447 -+ .byte 0x23 -+ .2byte 0x2d1 -+ .4byte 0x2afb -+ .byte 0x1 -+ .uleb128 0x38 -+ .4byte .LASF561 -+ .byte 0x23 -+ .2byte 0x2d3 -+ .byte 0x1 -+ .4byte 0x38c9 -+ .4byte 0x38cf -+ .uleb128 0x18 -+ .4byte 0x487d -+ .byte 0 -+ .uleb128 0x39 -+ .4byte .LASF561 -+ .byte 0x23 -+ .2byte 0x2d6 -+ .byte 0x1 -+ .4byte 0x38e0 -+ .4byte 0x38eb -+ .uleb128 0x18 -+ .4byte 0x487d -+ .uleb128 0x19 -+ .4byte 0x4883 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF562 -+ .byte 0x23 -+ .2byte 0x2e2 -+ .4byte .LASF584 -+ .4byte 0x389e -+ .byte 0x1 -+ .4byte 0x3904 -+ .4byte 0x390a -+ .uleb128 0x18 -+ .4byte 0x4889 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF564 -+ .byte 0x23 -+ .2byte 0x2e6 -+ .4byte .LASF585 -+ .4byte 0x38ab -+ .byte 0x1 -+ .4byte 0x3923 -+ .4byte 0x3929 -+ .uleb128 0x18 -+ .4byte 0x4889 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF566 -+ .byte 0x23 -+ .2byte 0x2ea -+ .4byte .LASF586 -+ .4byte 0x488f -+ .byte 0x1 -+ .4byte 0x3942 -+ .4byte 0x3948 -+ .uleb128 0x18 -+ .4byte 0x487d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF566 -+ .byte 0x23 -+ .2byte 0x2f1 -+ .4byte .LASF587 -+ .4byte 0x3876 -+ .byte 0x1 -+ .4byte 0x3961 -+ .4byte 0x396c -+ .uleb128 0x18 -+ .4byte 0x487d -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF569 -+ .byte 0x23 -+ .2byte 0x2f6 -+ .4byte .LASF588 -+ .4byte 0x488f -+ .byte 0x1 -+ .4byte 0x3985 -+ .4byte 0x398b -+ .uleb128 0x18 -+ .4byte 0x487d -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF569 -+ .byte 0x23 -+ .2byte 0x2fd -+ .4byte .LASF589 -+ .4byte 0x3876 -+ .byte 0x1 -+ .4byte 0x39a4 -+ .4byte 0x39af -+ .uleb128 0x18 -+ .4byte 0x487d -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF232 -+ .byte 0x23 -+ .2byte 0x302 -+ .4byte .LASF590 -+ .4byte 0x389e -+ .byte 0x1 -+ .4byte 0x39c8 -+ .4byte 0x39d3 -+ .uleb128 0x18 -+ .4byte 0x4889 -+ .uleb128 0x19 -+ .4byte 0x4895 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x3891 -+ .uleb128 0x3a -+ .4byte .LASF243 -+ .byte 0x23 -+ .2byte 0x306 -+ .4byte .LASF591 -+ .4byte 0x488f -+ .byte 0x1 -+ .4byte 0x39f1 -+ .4byte 0x39fc -+ .uleb128 0x18 -+ .4byte 0x487d -+ .uleb128 0x19 -+ .4byte 0x4895 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF574 -+ .byte 0x23 -+ .2byte 0x30a -+ .4byte .LASF592 -+ .4byte 0x3876 -+ .byte 0x1 -+ .4byte 0x3a15 -+ .4byte 0x3a20 -+ .uleb128 0x18 -+ .4byte 0x4889 -+ .uleb128 0x19 -+ .4byte 0x4895 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF576 -+ .byte 0x23 -+ .2byte 0x30e -+ .4byte .LASF593 -+ .4byte 0x488f -+ .byte 0x1 -+ .4byte 0x3a39 -+ .4byte 0x3a44 -+ .uleb128 0x18 -+ .4byte 0x487d -+ .uleb128 0x19 -+ .4byte 0x4895 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF578 -+ .byte 0x23 -+ .2byte 0x312 -+ .4byte .LASF594 -+ .4byte 0x3876 -+ .byte 0x1 -+ .4byte 0x3a5d -+ .4byte 0x3a68 -+ .uleb128 0x18 -+ .4byte 0x4889 -+ .uleb128 0x19 -+ .4byte 0x4895 -+ .byte 0 -+ .uleb128 0x3a -+ .4byte .LASF580 -+ .byte 0x23 -+ .2byte 0x316 -+ .4byte .LASF595 -+ .4byte 0x4883 -+ .byte 0x1 -+ .4byte 0x3a81 -+ .4byte 0x3a87 -+ .uleb128 0x18 -+ .4byte 0x4889 -+ .byte 0 -+ .uleb128 0x3d -+ .4byte .LASF448 -+ .4byte 0x2bf -+ .uleb128 0x3d -+ .4byte .LASF582 -+ .4byte 0xbc0 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF596 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x64 -+ .4byte 0x3adc -+ .uleb128 0x31 -+ .4byte .LASF597 -+ .byte 0x22 -+ .byte 0x67 -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x6a -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF598 -+ .byte 0x22 -+ .byte 0x6b -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF599 -+ .byte 0x22 -+ .byte 0x6c -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x3252 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF600 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x64 -+ .4byte 0x3b1e -+ .uleb128 0x31 -+ .4byte .LASF597 -+ .byte 0x22 -+ .byte 0x67 -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x6a -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF598 -+ .byte 0x22 -+ .byte 0x6b -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF599 -+ .byte 0x22 -+ .byte 0x6c -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x322a -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF601 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x64 -+ .4byte 0x3b60 -+ .uleb128 0x31 -+ .4byte .LASF597 -+ .byte 0x22 -+ .byte 0x67 -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x6a -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF598 -+ .byte 0x22 -+ .byte 0x6b -+ .4byte 0x2ba -+ .uleb128 0x31 -+ .4byte .LASF599 -+ .byte 0x22 -+ .byte 0x6c -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x3cf6 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF602 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x37 -+ .4byte 0x3ba2 -+ .uleb128 0x31 -+ .4byte .LASF553 -+ .byte 0x22 -+ .byte 0x3a -+ .4byte 0x3d95 -+ .uleb128 0x31 -+ .4byte .LASF554 -+ .byte 0x22 -+ .byte 0x3b -+ .4byte 0x3d95 -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x3f -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF556 -+ .byte 0x22 -+ .byte 0x40 -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x221 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF603 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x37 -+ .4byte 0x3be4 -+ .uleb128 0x31 -+ .4byte .LASF553 -+ .byte 0x22 -+ .byte 0x3a -+ .4byte 0x2c5 -+ .uleb128 0x31 -+ .4byte .LASF554 -+ .byte 0x22 -+ .byte 0x3b -+ .4byte 0x2c5 -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x3f -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF556 -+ .byte 0x22 -+ .byte 0x40 -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x296 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF604 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x37 -+ .4byte 0x3c26 -+ .uleb128 0x31 -+ .4byte .LASF553 -+ .byte 0x22 -+ .byte 0x3a -+ .4byte 0x4868 -+ .uleb128 0x31 -+ .4byte .LASF554 -+ .byte 0x22 -+ .byte 0x3b -+ .4byte 0x4868 -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x3f -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF556 -+ .byte 0x22 -+ .byte 0x40 -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x3d89 -+ .byte 0 -+ .uleb128 0x3 -+ .4byte .LASF605 -+ .byte 0x1 -+ .byte 0x22 -+ .byte 0x37 -+ .4byte 0x3c68 -+ .uleb128 0x31 -+ .4byte .LASF553 -+ .byte 0x22 -+ .byte 0x3a -+ .4byte 0x486d -+ .uleb128 0x31 -+ .4byte .LASF554 -+ .byte 0x22 -+ .byte 0x3b -+ .4byte 0x486d -+ .uleb128 0x31 -+ .4byte .LASF555 -+ .byte 0x22 -+ .byte 0x3f -+ .4byte 0x3d90 -+ .uleb128 0x31 -+ .4byte .LASF556 -+ .byte 0x22 -+ .byte 0x40 -+ .4byte 0x2ba -+ .uleb128 0x3d -+ .4byte .LASF557 -+ .4byte 0x3299 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x3876 -+ .uleb128 0x10 -+ .4byte 0x3652 -+ .uleb128 0x53 -+ .4byte .LASF606 -+ .byte 0x24 -+ .byte 0x30 -+ .4byte 0x4097 -+ .4byte 0x3c8c -+ .uleb128 0x19 -+ .4byte 0x4916 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x53 -+ .4byte .LASF607 -+ .byte 0x24 -+ .byte 0x41 -+ .4byte 0x4097 -+ .4byte 0x3ca6 -+ .uleb128 0x19 -+ .4byte 0x4942 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x53 -+ .4byte .LASF608 -+ .byte 0x24 -+ .byte 0x4e -+ .4byte 0x4097 -+ .4byte 0x3cc0 -+ .uleb128 0x19 -+ .4byte 0x4942 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x54 -+ .4byte .LASF703 -+ .byte 0x2e -+ .byte 0x96 -+ .4byte 0x3d6e -+ .uleb128 0x3d -+ .4byte .LASF609 -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF610 -+ .byte 0x8 -+ .2byte 0x1cb -+ .4byte 0x3cf6 -+ .4byte 0x3cf6 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x10 -+ .byte 0x4 -+ .4byte .LASF611 -+ .uleb128 0x4d -+ .4byte .LASF612 -+ .byte 0x8 -+ .2byte 0x1e3 -+ .4byte 0x3d1d -+ .4byte 0x3d1d -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x8 -+ .byte 0x5 -+ .4byte .LASF613 -+ .uleb128 0x4d -+ .4byte .LASF614 -+ .byte 0x8 -+ .2byte 0x1ea -+ .4byte 0x3d44 -+ .4byte 0x3d44 -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x3231 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x9 -+ .byte 0x8 -+ .byte 0x7 -+ .4byte .LASF615 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x4c6 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x667 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x667 -+ .uleb128 0x56 -+ .4byte .LASF813 -+ .uleb128 0x57 -+ .byte 0x8 -+ .4byte 0x4c6 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x4c6 -+ .uleb128 0x9 -+ .byte 0x1 -+ .byte 0x2 -+ .4byte .LASF616 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x684 -+ .uleb128 0x9 -+ .byte 0x1 -+ .byte 0x8 -+ .4byte .LASF617 -+ .uleb128 0x9 -+ .byte 0x1 -+ .byte 0x6 -+ .4byte .LASF618 -+ .uleb128 0x9 -+ .byte 0x2 -+ .byte 0x5 -+ .4byte .LASF619 -+ .uleb128 0x10 -+ .4byte 0x3d6e -+ .uleb128 0x10 -+ .4byte 0x221 -+ .uleb128 0x15 -+ .4byte .LASF620 -+ .byte 0x25 -+ .byte 0x37 -+ .4byte 0x3dad -+ .uleb128 0x58 -+ .byte 0x25 -+ .byte 0x38 -+ .4byte 0x6da -+ .byte 0 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x6ed -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x71d -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x71d -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x6ed -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x843 -+ .uleb128 0x2 -+ .4byte .LASF621 -+ .byte 0x26 -+ .byte 0x24 -+ .4byte 0x3d82 -+ .uleb128 0x2 -+ .4byte .LASF622 -+ .byte 0x26 -+ .byte 0x25 -+ .4byte 0x3d89 -+ .uleb128 0x2 -+ .4byte .LASF623 -+ .byte 0x26 -+ .byte 0x26 -+ .4byte 0x20f -+ .uleb128 0x2 -+ .4byte .LASF624 -+ .byte 0x26 -+ .byte 0x28 -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF625 -+ .byte 0x26 -+ .byte 0x30 -+ .4byte 0x3d7b -+ .uleb128 0x2 -+ .4byte .LASF626 -+ .byte 0x26 -+ .byte 0x31 -+ .4byte 0x2b3 -+ .uleb128 0x2 -+ .4byte .LASF627 -+ .byte 0x26 -+ .byte 0x33 -+ .4byte 0x234 -+ .uleb128 0x2 -+ .4byte .LASF628 -+ .byte 0x26 -+ .byte 0x37 -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF629 -+ .byte 0x26 -+ .byte 0x41 -+ .4byte 0x3d82 -+ .uleb128 0x2 -+ .4byte .LASF630 -+ .byte 0x26 -+ .byte 0x42 -+ .4byte 0x3d89 -+ .uleb128 0x2 -+ .4byte .LASF631 -+ .byte 0x26 -+ .byte 0x43 -+ .4byte 0x20f -+ .uleb128 0x2 -+ .4byte .LASF632 -+ .byte 0x26 -+ .byte 0x45 -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF633 -+ .byte 0x26 -+ .byte 0x4c -+ .4byte 0x3d7b -+ .uleb128 0x2 -+ .4byte .LASF634 -+ .byte 0x26 -+ .byte 0x4d -+ .4byte 0x2b3 -+ .uleb128 0x2 -+ .4byte .LASF635 -+ .byte 0x26 -+ .byte 0x4e -+ .4byte 0x234 -+ .uleb128 0x2 -+ .4byte .LASF636 -+ .byte 0x26 -+ .byte 0x50 -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF637 -+ .byte 0x26 -+ .byte 0x5a -+ .4byte 0x3d82 -+ .uleb128 0x2 -+ .4byte .LASF638 -+ .byte 0x26 -+ .byte 0x5c -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF639 -+ .byte 0x26 -+ .byte 0x5d -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF640 -+ .byte 0x26 -+ .byte 0x5e -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF641 -+ .byte 0x26 -+ .byte 0x67 -+ .4byte 0x3d7b -+ .uleb128 0x2 -+ .4byte .LASF642 -+ .byte 0x26 -+ .byte 0x69 -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF643 -+ .byte 0x26 -+ .byte 0x6a -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF644 -+ .byte 0x26 -+ .byte 0x6b -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF645 -+ .byte 0x26 -+ .byte 0x77 -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF646 -+ .byte 0x26 -+ .byte 0x7a -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF647 -+ .byte 0x26 -+ .byte 0x86 -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF648 -+ .byte 0x26 -+ .byte 0x87 -+ .4byte 0x221 -+ .uleb128 0x9 -+ .byte 0x2 -+ .byte 0x10 -+ .4byte .LASF649 -+ .uleb128 0x9 -+ .byte 0x4 -+ .byte 0x10 -+ .4byte .LASF650 -+ .uleb128 0x3 -+ .4byte .LASF651 -+ .byte 0x60 -+ .byte 0x27 -+ .byte 0x35 -+ .4byte 0x403a -+ .uleb128 0x4 -+ .4byte .LASF652 -+ .byte 0x27 -+ .byte 0x39 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF653 -+ .byte 0x27 -+ .byte 0x3a -+ .4byte 0x300d -+ .byte 0x8 -+ .uleb128 0x4 -+ .4byte .LASF654 -+ .byte 0x27 -+ .byte 0x40 -+ .4byte 0x300d -+ .byte 0x10 -+ .uleb128 0x4 -+ .4byte .LASF655 -+ .byte 0x27 -+ .byte 0x46 -+ .4byte 0x300d -+ .byte 0x18 -+ .uleb128 0x4 -+ .4byte .LASF656 -+ .byte 0x27 -+ .byte 0x47 -+ .4byte 0x300d -+ .byte 0x20 -+ .uleb128 0x4 -+ .4byte .LASF657 -+ .byte 0x27 -+ .byte 0x48 -+ .4byte 0x300d -+ .byte 0x28 -+ .uleb128 0x4 -+ .4byte .LASF658 -+ .byte 0x27 -+ .byte 0x49 -+ .4byte 0x300d -+ .byte 0x30 -+ .uleb128 0x4 -+ .4byte .LASF659 -+ .byte 0x27 -+ .byte 0x4a -+ .4byte 0x300d -+ .byte 0x38 -+ .uleb128 0x4 -+ .4byte .LASF660 -+ .byte 0x27 -+ .byte 0x4b -+ .4byte 0x300d -+ .byte 0x40 -+ .uleb128 0x4 -+ .4byte .LASF661 -+ .byte 0x27 -+ .byte 0x4c -+ .4byte 0x300d -+ .byte 0x48 -+ .uleb128 0x4 -+ .4byte .LASF662 -+ .byte 0x27 -+ .byte 0x4d -+ .4byte 0x296 -+ .byte 0x50 -+ .uleb128 0x4 -+ .4byte .LASF663 -+ .byte 0x27 -+ .byte 0x4e -+ .4byte 0x296 -+ .byte 0x51 -+ .uleb128 0x4 -+ .4byte .LASF664 -+ .byte 0x27 -+ .byte 0x50 -+ .4byte 0x296 -+ .byte 0x52 -+ .uleb128 0x4 -+ .4byte .LASF665 -+ .byte 0x27 -+ .byte 0x52 -+ .4byte 0x296 -+ .byte 0x53 -+ .uleb128 0x4 -+ .4byte .LASF666 -+ .byte 0x27 -+ .byte 0x54 -+ .4byte 0x296 -+ .byte 0x54 -+ .uleb128 0x4 -+ .4byte .LASF667 -+ .byte 0x27 -+ .byte 0x56 -+ .4byte 0x296 -+ .byte 0x55 -+ .uleb128 0x4 -+ .4byte .LASF668 -+ .byte 0x27 -+ .byte 0x5d -+ .4byte 0x296 -+ .byte 0x56 -+ .uleb128 0x4 -+ .4byte .LASF669 -+ .byte 0x27 -+ .byte 0x5e -+ .4byte 0x296 -+ .byte 0x57 -+ .uleb128 0x4 -+ .4byte .LASF670 -+ .byte 0x27 -+ .byte 0x61 -+ .4byte 0x296 -+ .byte 0x58 -+ .uleb128 0x4 -+ .4byte .LASF671 -+ .byte 0x27 -+ .byte 0x63 -+ .4byte 0x296 -+ .byte 0x59 -+ .uleb128 0x4 -+ .4byte .LASF672 -+ .byte 0x27 -+ .byte 0x65 -+ .4byte 0x296 -+ .byte 0x5a -+ .uleb128 0x4 -+ .4byte .LASF673 -+ .byte 0x27 -+ .byte 0x67 -+ .4byte 0x296 -+ .byte 0x5b -+ .uleb128 0x4 -+ .4byte .LASF674 -+ .byte 0x27 -+ .byte 0x6e -+ .4byte 0x296 -+ .byte 0x5c -+ .uleb128 0x4 -+ .4byte .LASF675 -+ .byte 0x27 -+ .byte 0x6f -+ .4byte 0x296 -+ .byte 0x5d -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF676 -+ .byte 0x27 -+ .byte 0x7c -+ .4byte 0x300d -+ .4byte 0x4054 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x59 -+ .4byte .LASF678 -+ .byte 0x27 -+ .byte 0x7f -+ .4byte 0x405f -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x3f0d -+ .uleb128 0x2 -+ .4byte .LASF679 -+ .byte 0x28 -+ .byte 0x28 -+ .4byte 0x20f -+ .uleb128 0x2 -+ .4byte .LASF680 -+ .byte 0x28 -+ .byte 0x83 -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF681 -+ .byte 0x28 -+ .byte 0x84 -+ .4byte 0x3299 -+ .uleb128 0x5a -+ .4byte 0x4091 -+ .uleb128 0x19 -+ .4byte 0x20d -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x4086 -+ .uleb128 0x2 -+ .4byte .LASF682 -+ .byte 0x29 -+ .byte 0x20 -+ .4byte 0x20f -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x40a8 -+ .uleb128 0x5b -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x296 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x2c5 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x346e -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x35bc -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x35bc -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x997 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0xa17 -+ .uleb128 0xb -+ .byte 0x8 -+ .byte 0x2a -+ .byte 0x62 -+ .4byte .LASF684 -+ .4byte 0x40f8 -+ .uleb128 0x4 -+ .4byte .LASF685 -+ .byte 0x2a -+ .byte 0x63 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x5c -+ .string "rem" -+ .byte 0x2a -+ .byte 0x64 -+ .4byte 0x20f -+ .byte 0x4 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF686 -+ .byte 0x2a -+ .byte 0x65 -+ .4byte 0x40d3 -+ .uleb128 0xb -+ .byte 0x10 -+ .byte 0x2a -+ .byte 0x6a -+ .4byte .LASF687 -+ .4byte 0x4128 -+ .uleb128 0x4 -+ .4byte .LASF685 -+ .byte 0x2a -+ .byte 0x6b -+ .4byte 0x3299 -+ .byte 0 -+ .uleb128 0x5c -+ .string "rem" -+ .byte 0x2a -+ .byte 0x6c -+ .4byte 0x3299 -+ .byte 0x8 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF688 -+ .byte 0x2a -+ .byte 0x6d -+ .4byte 0x4103 -+ .uleb128 0xb -+ .byte 0x10 -+ .byte 0x2a -+ .byte 0x76 -+ .4byte .LASF689 -+ .4byte 0x4158 -+ .uleb128 0x4 -+ .4byte .LASF685 -+ .byte 0x2a -+ .byte 0x77 -+ .4byte 0x3d1d -+ .byte 0 -+ .uleb128 0x5c -+ .string "rem" -+ .byte 0x2a -+ .byte 0x78 -+ .4byte 0x3d1d -+ .byte 0x8 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF690 -+ .byte 0x2a -+ .byte 0x79 -+ .4byte 0x4133 -+ .uleb128 0xa -+ .4byte .LASF691 -+ .byte 0x2a -+ .2byte 0x2e6 -+ .4byte 0x416f -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x4175 -+ .uleb128 0x5d -+ .4byte 0x20f -+ .4byte 0x4189 -+ .uleb128 0x19 -+ .4byte 0x40a2 -+ .uleb128 0x19 -+ .4byte 0x40a2 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF692 -+ .byte 0x2a -+ .2byte 0x207 -+ .4byte 0x20f -+ .4byte 0x419f -+ .uleb128 0x19 -+ .4byte 0x419f -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x41a5 -+ .uleb128 0x5e -+ .uleb128 0x27 -+ .4byte .LASF693 -+ .byte 0x2a -+ .2byte 0x20c -+ .4byte .LASF693 -+ .4byte 0x20f -+ .4byte 0x41c0 -+ .uleb128 0x19 -+ .4byte 0x419f -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF694 -+ .byte 0x2b -+ .byte 0x1a -+ .4byte 0x322a -+ .4byte 0x41d5 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF695 -+ .byte 0x2a -+ .2byte 0x116 -+ .4byte 0x20f -+ .4byte 0x41eb -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF696 -+ .byte 0x2a -+ .2byte 0x11b -+ .4byte 0x3299 -+ .4byte 0x4201 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF697 -+ .byte 0x2c -+ .byte 0x14 -+ .4byte 0x20d -+ .4byte 0x422a -+ .uleb128 0x19 -+ .4byte 0x40a2 -+ .uleb128 0x19 -+ .4byte 0x40a2 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x4163 -+ .byte 0 -+ .uleb128 0x5f -+ .string "div" -+ .byte 0x2a -+ .2byte 0x315 -+ .4byte 0x40f8 -+ .4byte 0x4245 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF698 -+ .byte 0x2a -+ .2byte 0x234 -+ .4byte 0x300d -+ .4byte 0x425b -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF699 -+ .byte 0x2a -+ .2byte 0x317 -+ .4byte 0x4128 -+ .4byte 0x4276 -+ .uleb128 0x19 -+ .4byte 0x3299 -+ .uleb128 0x19 -+ .4byte 0x3299 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF700 -+ .byte 0x2a -+ .2byte 0x35f -+ .4byte 0x20f -+ .4byte 0x4291 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF701 -+ .byte 0x2d -+ .byte 0x71 -+ .4byte 0x216 -+ .4byte 0x42b0 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF702 -+ .byte 0x2a -+ .2byte 0x362 -+ .4byte 0x20f -+ .4byte 0x42d0 -+ .uleb128 0x19 -+ .4byte 0x2d4f -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x60 -+ .4byte .LASF704 -+ .byte 0x2a -+ .2byte 0x2fd -+ .4byte 0x42f1 -+ .uleb128 0x19 -+ .4byte 0x20d -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x4163 -+ .byte 0 -+ .uleb128 0x60 -+ .4byte .LASF705 -+ .byte 0x2a -+ .2byte 0x225 -+ .4byte 0x4303 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4f -+ .4byte .LASF706 -+ .byte 0x2a -+ .2byte 0x176 -+ .4byte 0x20f -+ .uleb128 0x60 -+ .4byte .LASF707 -+ .byte 0x2a -+ .2byte 0x178 -+ .4byte 0x4321 -+ .uleb128 0x19 -+ .4byte 0x234 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF708 -+ .byte 0x2a -+ .byte 0xa4 -+ .4byte 0x322a -+ .4byte 0x433b -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x300d -+ .uleb128 0x4a -+ .4byte .LASF709 -+ .byte 0x2a -+ .byte 0xb7 -+ .4byte 0x3299 -+ .4byte 0x4360 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF710 -+ .byte 0x2a -+ .byte 0xbb -+ .4byte 0x221 -+ .4byte 0x437f -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF711 -+ .byte 0x2a -+ .2byte 0x2cd -+ .4byte 0x20f -+ .4byte 0x4395 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF712 -+ .byte 0x2d -+ .byte 0x90 -+ .4byte 0x216 -+ .4byte 0x43b4 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x2d92 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF713 -+ .byte 0x2d -+ .byte 0x53 -+ .4byte 0x20f -+ .4byte 0x43ce -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x2d55 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF714 -+ .byte 0x2a -+ .2byte 0x31d -+ .4byte 0x4158 -+ .4byte 0x43e9 -+ .uleb128 0x19 -+ .4byte 0x3d1d -+ .uleb128 0x19 -+ .4byte 0x3d1d -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF715 -+ .byte 0x2a -+ .2byte 0x124 -+ .4byte 0x3d1d -+ .4byte 0x43ff -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF716 -+ .byte 0x2a -+ .byte 0xd1 -+ .4byte 0x3d1d -+ .4byte 0x441e -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF717 -+ .byte 0x2a -+ .byte 0xd6 -+ .4byte 0x3d44 -+ .4byte 0x443d -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF718 -+ .byte 0x2a -+ .byte 0xac -+ .4byte 0x3252 -+ .4byte 0x4457 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF719 -+ .byte 0x2a -+ .byte 0xaf -+ .4byte 0x3cf6 -+ .4byte 0x4471 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x433b -+ .byte 0 -+ .uleb128 0xb -+ .byte 0x10 -+ .byte 0x2f -+ .byte 0x16 -+ .4byte .LASF720 -+ .4byte 0x4496 -+ .uleb128 0x4 -+ .4byte .LASF721 -+ .byte 0x2f -+ .byte 0x17 -+ .4byte 0x4070 -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF722 -+ .byte 0x2f -+ .byte 0x18 -+ .4byte 0x29d -+ .byte 0x8 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF723 -+ .byte 0x2f -+ .byte 0x19 -+ .4byte 0x4471 -+ .uleb128 0x61 -+ .4byte .LASF814 -+ .byte 0x3 -+ .byte 0x9a -+ .uleb128 0x3 -+ .4byte .LASF724 -+ .byte 0x18 -+ .byte 0x3 -+ .byte 0xa0 -+ .4byte 0x44d9 -+ .uleb128 0x4 -+ .4byte .LASF725 -+ .byte 0x3 -+ .byte 0xa1 -+ .4byte 0x44d9 -+ .byte 0 -+ .uleb128 0x4 -+ .4byte .LASF726 -+ .byte 0x3 -+ .byte 0xa2 -+ .4byte 0x44df -+ .byte 0x8 -+ .uleb128 0x4 -+ .4byte .LASF727 -+ .byte 0x3 -+ .byte 0xa6 -+ .4byte 0x20f -+ .byte 0x10 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x44a8 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x38 -+ .uleb128 0xe -+ .4byte 0x296 -+ .4byte 0x44f5 -+ .uleb128 0xf -+ .4byte 0x28f -+ .byte 0 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x44a1 -+ .uleb128 0xe -+ .4byte 0x296 -+ .4byte 0x450b -+ .uleb128 0xf -+ .4byte 0x28f -+ .byte 0x13 -+ .byte 0 -+ .uleb128 0x2 -+ .4byte .LASF728 -+ .byte 0x4 -+ .byte 0x6e -+ .4byte 0x4496 -+ .uleb128 0x60 -+ .4byte .LASF729 -+ .byte 0x4 -+ .2byte 0x33a -+ .4byte 0x4528 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2d -+ .uleb128 0x4a -+ .4byte .LASF730 -+ .byte 0x4 -+ .byte 0xed -+ .4byte 0x20f -+ .4byte 0x4543 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF731 -+ .byte 0x4 -+ .2byte 0x33c -+ .4byte 0x20f -+ .4byte 0x4559 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF732 -+ .byte 0x4 -+ .2byte 0x33e -+ .4byte 0x20f -+ .4byte 0x456f -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF733 -+ .byte 0x4 -+ .byte 0xf2 -+ .4byte 0x20f -+ .4byte 0x4584 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF734 -+ .byte 0x4 -+ .2byte 0x213 -+ .4byte 0x20f -+ .4byte 0x459a -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF735 -+ .byte 0x4 -+ .2byte 0x31e -+ .4byte 0x20f -+ .4byte 0x45b5 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .uleb128 0x19 -+ .4byte 0x45b5 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x450b -+ .uleb128 0x4a -+ .4byte .LASF736 -+ .byte 0x30 -+ .byte 0xfd -+ .4byte 0x300d -+ .4byte 0x45da -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x20f -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF737 -+ .byte 0x4 -+ .2byte 0x110 -+ .4byte 0x4528 -+ .4byte 0x45f5 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF738 -+ .byte 0x30 -+ .2byte 0x11a -+ .4byte 0x216 -+ .4byte 0x461a -+ .uleb128 0x19 -+ .4byte 0x20d -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x216 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF739 -+ .byte 0x4 -+ .2byte 0x116 -+ .4byte 0x4528 -+ .4byte 0x463a -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF740 -+ .byte 0x4 -+ .2byte 0x2ed -+ .4byte 0x20f -+ .4byte 0x465a -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .uleb128 0x19 -+ .4byte 0x3299 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF741 -+ .byte 0x4 -+ .2byte 0x323 -+ .4byte 0x20f -+ .4byte 0x4675 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .uleb128 0x19 -+ .4byte 0x4675 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x467b -+ .uleb128 0x10 -+ .4byte 0x450b -+ .uleb128 0x4d -+ .4byte .LASF742 -+ .byte 0x4 -+ .2byte 0x2f2 -+ .4byte 0x3299 -+ .4byte 0x4696 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF743 -+ .byte 0x4 -+ .2byte 0x214 -+ .4byte 0x20f -+ .4byte 0x46ac -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x59 -+ .4byte .LASF744 -+ .byte 0x31 -+ .byte 0x2c -+ .4byte 0x20f -+ .uleb128 0x4d -+ .4byte .LASF745 -+ .byte 0x4 -+ .2byte 0x27e -+ .4byte 0x300d -+ .4byte 0x46cd -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x60 -+ .4byte .LASF746 -+ .byte 0x4 -+ .2byte 0x34e -+ .4byte 0x46df -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF747 -+ .byte 0x4 -+ .byte 0xb2 -+ .4byte 0x20f -+ .4byte 0x46f4 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF748 -+ .byte 0x4 -+ .byte 0xb4 -+ .4byte 0x20f -+ .4byte 0x470e -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x60 -+ .4byte .LASF749 -+ .byte 0x4 -+ .2byte 0x2f7 -+ .4byte 0x4720 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x60 -+ .4byte .LASF750 -+ .byte 0x4 -+ .2byte 0x14c -+ .4byte 0x4737 -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF751 -+ .byte 0x4 -+ .2byte 0x150 -+ .4byte 0x20f -+ .4byte 0x475c -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .uleb128 0x19 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x20f -+ .uleb128 0x19 -+ .4byte 0x216 -+ .byte 0 -+ .uleb128 0x59 -+ .4byte .LASF752 -+ .byte 0x4 -+ .byte 0xc3 -+ .4byte 0x4528 -+ .uleb128 0x4a -+ .4byte .LASF753 -+ .byte 0x4 -+ .byte 0xd1 -+ .4byte 0x300d -+ .4byte 0x477c -+ .uleb128 0x19 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x4d -+ .4byte .LASF754 -+ .byte 0x4 -+ .2byte 0x2be -+ .4byte 0x20f -+ .4byte 0x4797 -+ .uleb128 0x19 -+ .4byte 0x20f -+ .uleb128 0x19 -+ .4byte 0x4528 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0xbcc -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2551 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0xbc0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0xcd1 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0xcd1 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x2551 -+ .uleb128 0x57 -+ .byte 0x8 -+ .4byte 0xbc0 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0xbc0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2556 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2636 -+ .uleb128 0xe -+ .4byte 0x221 -+ .4byte 0x47de -+ .uleb128 0x62 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x24c7 -+ .uleb128 0x10 -+ .4byte 0x2bf -+ .uleb128 0x2 -+ .4byte .LASF755 -+ .byte 0x32 -+ .byte 0x34 -+ .4byte 0x221 -+ .uleb128 0x2 -+ .4byte .LASF756 -+ .byte 0x32 -+ .byte 0xba -+ .4byte 0x47ff -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x4805 -+ .uleb128 0x10 -+ .4byte 0x4065 -+ .uleb128 0x4a -+ .4byte .LASF757 -+ .byte 0x32 -+ .byte 0xaf -+ .4byte 0x20f -+ .4byte 0x4824 -+ .uleb128 0x19 -+ .4byte 0x228 -+ .uleb128 0x19 -+ .4byte 0x47e9 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF758 -+ .byte 0x32 -+ .byte 0xdd -+ .4byte 0x228 -+ .4byte 0x483e -+ .uleb128 0x19 -+ .4byte 0x228 -+ .uleb128 0x19 -+ .4byte 0x47f4 -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF759 -+ .byte 0x32 -+ .byte 0xda -+ .4byte 0x47f4 -+ .4byte 0x4853 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x4a -+ .4byte .LASF760 -+ .byte 0x32 -+ .byte 0xab -+ .4byte 0x47e9 -+ .4byte 0x4868 -+ .uleb128 0x19 -+ .4byte 0x2bf -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x3d89 -+ .uleb128 0x10 -+ .4byte 0x3299 -+ .uleb128 0x2 -+ .4byte .LASF761 -+ .byte 0x1 -+ .byte 0x17 -+ .4byte 0x20f -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x3876 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x47e4 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x3c68 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x3876 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x39d3 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x3652 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x48a7 -+ .uleb128 0x10 -+ .4byte 0x300d -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x3c6d -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x3652 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x37af -+ .uleb128 0x63 -+ .4byte 0xe85 -+ .byte 0x3 -+ .4byte 0x48cc -+ .4byte 0x48d6 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x48d6 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x479d -+ .uleb128 0x65 -+ .4byte 0xd04 -+ .byte 0x3 -+ .4byte 0x48f3 -+ .uleb128 0x66 -+ .uleb128 0x67 -+ .string "__p" -+ .byte 0x15 -+ .byte 0xba -+ .4byte 0x20d -+ .byte 0 -+ .byte 0 -+ .uleb128 0x68 -+ .4byte .LASF762 -+ .byte 0x33 -+ .byte 0xf7 -+ .4byte 0x20f -+ .byte 0x3 -+ .4byte 0x4911 -+ .uleb128 0x66 -+ .uleb128 0x69 -+ .4byte .LASF763 -+ .byte 0x33 -+ .byte 0xf9 -+ .4byte 0x4911 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x20d -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x491c -+ .uleb128 0x6a -+ .4byte 0x4097 -+ .uleb128 0x65 -+ .4byte 0x3c72 -+ .byte 0x3 -+ .4byte 0x4942 -+ .uleb128 0x6b -+ .4byte .LASF764 -+ .byte 0x24 -+ .byte 0x30 -+ .4byte 0x4916 -+ .uleb128 0x6b -+ .4byte .LASF765 -+ .byte 0x24 -+ .byte 0x30 -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x4097 -+ .uleb128 0x65 -+ .4byte 0x3c8c -+ .byte 0x3 -+ .4byte 0x4976 -+ .uleb128 0x6b -+ .4byte .LASF764 -+ .byte 0x24 -+ .byte 0x41 -+ .4byte 0x4942 -+ .uleb128 0x6b -+ .4byte .LASF765 -+ .byte 0x24 -+ .byte 0x41 -+ .4byte 0x20f -+ .uleb128 0x66 -+ .uleb128 0x69 -+ .4byte .LASF766 -+ .byte 0x24 -+ .byte 0x43 -+ .4byte 0x4097 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x3ca6 -+ .byte 0x3 -+ .4byte 0x4997 -+ .uleb128 0x6b -+ .4byte .LASF764 -+ .byte 0x24 -+ .byte 0x4e -+ .4byte 0x4942 -+ .uleb128 0x6b -+ .4byte .LASF765 -+ .byte 0x24 -+ .byte 0x4e -+ .4byte 0x20f -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x29e6 -+ .uleb128 0x63 -+ .4byte 0x29ef -+ .byte 0x3 -+ .4byte 0x49ab -+ .4byte 0x49be -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x49be -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x4997 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2b1b -+ .uleb128 0x63 -+ .4byte 0x2b24 -+ .byte 0x3 -+ .4byte 0x49d7 -+ .4byte 0x49ea -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x49ea -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x49c3 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x29a5 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x40a2 -+ .uleb128 0x63 -+ .4byte 0x29ae -+ .byte 0x3 -+ .4byte 0x4a09 -+ .4byte 0x4a25 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4a25 -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .uleb128 0x64 -+ .4byte .LASF769 -+ .4byte 0x4a2a -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x49ef -+ .uleb128 0x10 -+ .4byte 0x49f5 -+ .uleb128 0x63 -+ .4byte 0xd66 -+ .byte 0x3 -+ .4byte 0x4a3d -+ .4byte 0x4a47 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4a47 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x47a9 -+ .uleb128 0x63 -+ .4byte 0xd9d -+ .byte 0x3 -+ .4byte 0x4a5a -+ .4byte 0x4a64 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4a47 -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x703 -+ .byte 0x3 -+ .4byte 0x4a85 -+ .uleb128 0x6b -+ .4byte .LASF770 -+ .byte 0xf -+ .byte 0xf2 -+ .4byte 0x4a85 -+ .uleb128 0x6b -+ .4byte .LASF771 -+ .byte 0xf -+ .byte 0xf2 -+ .4byte 0x4a8a -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x3dad -+ .uleb128 0x10 -+ .4byte 0x3db3 -+ .uleb128 0x65 -+ .4byte 0x7e1 -+ .byte 0x3 -+ .4byte 0x4abe -+ .uleb128 0x6c -+ .4byte .LASF772 -+ .byte 0xf -+ .2byte 0x10e -+ .4byte 0x3dbf -+ .uleb128 0x6c -+ .4byte .LASF773 -+ .byte 0xf -+ .2byte 0x10e -+ .4byte 0x3db9 -+ .uleb128 0x6d -+ .string "__n" -+ .byte 0xf -+ .2byte 0x10e -+ .4byte 0x8a8 -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0xfd6 -+ .byte 0x3 -+ .4byte 0x4aed -+ .uleb128 0x6d -+ .string "__d" -+ .byte 0x15 -+ .2byte 0x162 -+ .4byte 0x300d -+ .uleb128 0x6d -+ .string "__s" -+ .byte 0x15 -+ .2byte 0x162 -+ .4byte 0x2bf -+ .uleb128 0x6d -+ .string "__n" -+ .byte 0x15 -+ .2byte 0x162 -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x34b6 -+ .byte 0x3 -+ .4byte 0x4afb -+ .4byte 0x4b05 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4b05 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40b5 -+ .uleb128 0x63 -+ .4byte 0x34e7 -+ .byte 0x3 -+ .4byte 0x4b18 -+ .4byte 0x4b2b -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4b05 -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x9ff -+ .byte 0x3 -+ .4byte 0x4b39 -+ .4byte 0x4b4c -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4b4c -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40c7 -+ .uleb128 0x63 -+ .4byte 0x34cc -+ .byte 0x3 -+ .4byte 0x4b5f -+ .4byte 0x4b6e -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4b05 -+ .uleb128 0x19 -+ .4byte 0x4b6e -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40bb -+ .uleb128 0x63 -+ .4byte 0x9e4 -+ .byte 0x3 -+ .4byte 0x4b81 -+ .4byte 0x4b96 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4b4c -+ .uleb128 0x6e -+ .string "__a" -+ .byte 0x12 -+ .byte 0x73 -+ .4byte 0x4b96 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40cd -+ .uleb128 0x63 -+ .4byte 0xec6 -+ .byte 0x3 -+ .4byte 0x4ba9 -+ .4byte 0x4bb3 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x48d6 -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x1f7a -+ .byte 0x3 -+ .4byte 0x4bc1 -+ .4byte 0x4bcb -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x48d6 -+ .byte 0 -+ .uleb128 0x6f -+ .4byte 0xc0c -+ .byte 0x15 -+ .2byte 0x110 -+ .byte 0x3 -+ .4byte 0x4bdc -+ .4byte 0x4bef -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4bef -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x4797 -+ .uleb128 0x63 -+ .4byte 0x1272 -+ .byte 0x3 -+ .4byte 0x4c02 -+ .4byte 0x4c15 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4c15 -+ .uleb128 0x64 -+ .4byte .LASF768 -+ .4byte 0x2ba -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x47a3 -+ .uleb128 0x70 -+ .4byte 0x1118 -+ .byte 0x3 -+ .uleb128 0x63 -+ .4byte 0x9ce -+ .byte 0x3 -+ .4byte 0x4c2e -+ .4byte 0x4c38 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4b4c -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0xbec -+ .byte 0x3 -+ .4byte 0x4c46 -+ .4byte 0x4c68 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4bef -+ .uleb128 0x6c -+ .4byte .LASF774 -+ .byte 0x15 -+ .2byte 0x112 -+ .4byte 0x300d -+ .uleb128 0x6d -+ .string "__a" -+ .byte 0x15 -+ .2byte 0x112 -+ .4byte 0x4c68 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40cd -+ .uleb128 0x63 -+ .4byte 0x2a0f -+ .byte 0x3 -+ .4byte 0x4c7b -+ .4byte 0x4c85 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x49be -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x1128 -+ .byte 0x3 -+ .4byte 0x4c93 -+ .4byte 0x4c9d -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4c15 -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x2b45 -+ .byte 0x3 -+ .4byte 0x4cab -+ .4byte 0x4cb5 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x49ea -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x2b6f -+ .byte 0x3 -+ .4byte 0x4cd6 -+ .uleb128 0x6e -+ .string "__a" -+ .byte 0x18 -+ .byte 0x7b -+ .4byte 0x26de -+ .uleb128 0x6e -+ .string "__b" -+ .byte 0x18 -+ .byte 0x7b -+ .4byte 0x26de -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2b89 -+ .uleb128 0x63 -+ .4byte 0x2b92 -+ .byte 0x3 -+ .4byte 0x4cea -+ .4byte 0x4cff -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4cff -+ .uleb128 0x6b -+ .4byte .LASF775 -+ .byte 0x2 -+ .byte 0x62 -+ .4byte 0x279c -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x4cd6 -+ .uleb128 0x65 -+ .4byte 0x2bf3 -+ .byte 0x3 -+ .4byte 0x4d1d -+ .uleb128 0x3d -+ .4byte .LASF460 -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x4d1d -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x48a1 -+ .uleb128 0x65 -+ .4byte 0x2c11 -+ .byte 0x3 -+ .4byte 0x4d51 -+ .uleb128 0x3d -+ .4byte .LASF462 -+ .4byte 0x300d -+ .uleb128 0x6b -+ .4byte .LASF776 -+ .byte 0x1d -+ .byte 0x5a -+ .4byte 0x300d -+ .uleb128 0x6b -+ .4byte .LASF777 -+ .byte 0x1d -+ .byte 0x5a -+ .4byte 0x300d -+ .uleb128 0x19 -+ .4byte 0x6c7 -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x2c39 -+ .byte 0x3 -+ .4byte 0x4d6f -+ .uleb128 0x40 -+ .string "_Tp" -+ .4byte 0x296 -+ .uleb128 0x19 -+ .4byte 0x4d6f -+ .uleb128 0x19 -+ .4byte 0x4d74 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40cd -+ .uleb128 0x10 -+ .4byte 0x40cd -+ .uleb128 0x65 -+ .4byte 0x3cc0 -+ .byte 0x3 -+ .4byte 0x4d98 -+ .uleb128 0x3d -+ .4byte .LASF609 -+ .4byte 0x296 -+ .uleb128 0x6b -+ .4byte .LASF778 -+ .byte 0x2e -+ .byte 0x96 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x2c5c -+ .byte 0x3 -+ .4byte 0x4dc2 -+ .uleb128 0x3d -+ .4byte .LASF465 -+ .4byte 0x300d -+ .uleb128 0x6b -+ .4byte .LASF776 -+ .byte 0x1d -+ .byte 0x72 -+ .4byte 0x300d -+ .uleb128 0x6b -+ .4byte .LASF777 -+ .byte 0x1d -+ .byte 0x72 -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x1076 -+ .byte 0x3 -+ .4byte 0x4df1 -+ .uleb128 0x6d -+ .string "__p" -+ .byte 0x15 -+ .2byte 0x18f -+ .4byte 0x300d -+ .uleb128 0x6c -+ .4byte .LASF779 -+ .byte 0x15 -+ .2byte 0x18f -+ .4byte 0x300d -+ .uleb128 0x6c -+ .4byte .LASF780 -+ .byte 0x15 -+ .2byte 0x18f -+ .4byte 0x300d -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0xd7f -+ .byte 0x3 -+ .4byte 0x4dff -+ .4byte 0x4e14 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4a47 -+ .uleb128 0x6e -+ .string "__n" -+ .byte 0x15 -+ .byte 0xcf -+ .4byte 0xc21 -+ .byte 0 -+ .uleb128 0x65 -+ .4byte 0x24cc -+ .byte 0x3 -+ .4byte 0x4e52 -+ .uleb128 0x3d -+ .4byte .LASF351 -+ .4byte 0x300d -+ .uleb128 0x6c -+ .4byte .LASF781 -+ .byte 0x15 -+ .2byte 0x6b9 -+ .4byte 0x300d -+ .uleb128 0x6c -+ .4byte .LASF782 -+ .byte 0x15 -+ .2byte 0x6b9 -+ .4byte 0x300d -+ .uleb128 0x6d -+ .string "__a" -+ .byte 0x15 -+ .2byte 0x6ba -+ .4byte 0x4e52 -+ .uleb128 0x19 -+ .4byte 0x689 -+ .uleb128 0x71 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40cd -+ .uleb128 0x65 -+ .4byte 0x24fe -+ .byte 0x3 -+ .4byte 0x4e90 -+ .uleb128 0x3d -+ .4byte .LASF351 -+ .4byte 0x300d -+ .uleb128 0x6c -+ .4byte .LASF781 -+ .byte 0x15 -+ .2byte 0x6cf -+ .4byte 0x300d -+ .uleb128 0x6c -+ .4byte .LASF782 -+ .byte 0x15 -+ .2byte 0x6cf -+ .4byte 0x300d -+ .uleb128 0x6d -+ .string "__a" -+ .byte 0x15 -+ .2byte 0x6cf -+ .4byte 0x4e90 -+ .uleb128 0x71 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x40cd -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2a45 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2c7f -+ .uleb128 0x63 -+ .4byte 0x2a26 -+ .byte 0x3 -+ .4byte 0x4eaf -+ .4byte 0x4eb9 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4eb9 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x4e9b -+ .uleb128 0x63 -+ .4byte 0x2a51 -+ .byte 0x3 -+ .4byte 0x4ecc -+ .4byte 0x4ed6 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4eb9 -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x2a70 -+ .byte 0x3 -+ .4byte 0x4ee4 -+ .4byte 0x4eee -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4eb9 -+ .byte 0 -+ .uleb128 0x63 -+ .4byte 0x12fa -+ .byte 0x3 -+ .4byte 0x4efc -+ .4byte 0x4f12 -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4c15 -+ .uleb128 0x6c -+ .4byte .LASF783 -+ .byte 0x15 -+ .2byte 0x244 -+ .4byte 0x4f12 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x47bb -+ .uleb128 0x63 -+ .4byte 0x128e -+ .byte 0x3 -+ .4byte 0x4f25 -+ .4byte 0x4f3b -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4c15 -+ .uleb128 0x6c -+ .4byte .LASF783 -+ .byte 0x15 -+ .2byte 0x222 -+ .4byte 0x4f3b -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x47b5 -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2cd5 -+ .uleb128 0x63 -+ .4byte 0x2c8d -+ .byte 0x3 -+ .4byte 0x4f54 -+ .4byte 0x4f5e -+ .uleb128 0x64 -+ .4byte .LASF767 -+ .4byte 0x4f5e -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x4f40 -+ .uleb128 0x72 -+ .4byte .LASF815 -+ .byte 0x1 -+ .byte 0x1a -+ .8byte .LFB1299 -+ .8byte .LFE1299-.LFB1299 -+ .uleb128 0x1 -+ .byte 0x9c -+ .4byte 0x507d -+ .uleb128 0x73 -+ .string "t" -+ .byte 0x1 -+ .byte 0x1a -+ .4byte 0x507d -+ .4byte .LLST0 -+ .uleb128 0x74 -+ .8byte .LBB293 -+ .8byte .LBE293-.LBB293 -+ .4byte 0x5068 -+ .uleb128 0x75 -+ .string "oss" -+ .byte 0x1 -+ .byte 0x1c -+ .4byte 0x2cda -+ .uleb128 0x3 -+ .byte 0x91 -+ .sleb128 -352 -+ .uleb128 0x76 -+ .4byte 0x4f46 -+ .8byte .LBB294 -+ .8byte .LBE294-.LBB294 -+ .byte 0x1 -+ .byte 0x1d -+ .4byte 0x4fea -+ .uleb128 0x77 -+ .4byte 0x4f54 -+ .4byte .LLST1 -+ .uleb128 0x78 -+ .8byte .LVL5 -+ .4byte 0x2bc8 -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x8f -+ .sleb128 40 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7a -+ .8byte .LVL2 -+ .4byte 0x5003 -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x51 -+ .uleb128 0x1 -+ .byte 0x40 -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x8f -+ .sleb128 32 -+ .byte 0 -+ .uleb128 0x7b -+ .8byte .LVL3 -+ .4byte 0x517e -+ .4byte 0x501a -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x1 -+ .byte 0x38 -+ .byte 0 -+ .uleb128 0x7b -+ .8byte .LVL6 -+ .4byte 0x5192 -+ .4byte 0x503f -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x51 -+ .uleb128 0x9 -+ .byte 0x3 -+ .8byte _ZTISs -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x83 -+ .sleb128 0 -+ .byte 0 -+ .uleb128 0x7b -+ .8byte .LVL7 -+ .4byte 0x51ac -+ .4byte 0x5057 -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x83 -+ .sleb128 0 -+ .byte 0 -+ .uleb128 0x7c -+ .8byte .LVL9 -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x8f -+ .sleb128 32 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x78 -+ .8byte .LVL10 -+ .4byte 0x51bc -+ .uleb128 0x79 -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x83 -+ .sleb128 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 -+ .4byte 0x5082 -+ .uleb128 0x55 -+ .byte 0x8 -+ .4byte 0x5088 -+ .uleb128 0x10 -+ .4byte 0x4872 -+ .uleb128 0x7d -+ .4byte .LASF784 -+ .byte 0x1 -+ .byte 0x21 -+ .4byte 0x20f -+ .8byte .LFB1300 -+ .8byte .LFE1300-.LFB1300 -+ .uleb128 0x1 -+ .byte 0x9c -+ .4byte 0x50c7 -+ .uleb128 0x78 -+ .8byte .LVL11 -+ .4byte 0x4f63 -+ .uleb128 0x7e -+ .uleb128 0x1 -+ .byte 0x50 -+ .uleb128 0x2 -+ .byte 0x8f -+ .sleb128 28 -+ .uleb128 0x3 -+ .byte 0xa -+ .2byte 0x4d2 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7f -+ .4byte .LASF786 -+ .byte 0x4 -+ .byte 0xa8 -+ .4byte 0x44df -+ .uleb128 0x7f -+ .4byte .LASF787 -+ .byte 0x4 -+ .byte 0xa9 -+ .4byte 0x44df -+ .uleb128 0x80 -+ .4byte 0x2ce5 -+ .uleb128 0x81 -+ .4byte 0x35cd -+ .4byte .LASF788 -+ .sleb128 -2147483648 -+ .uleb128 0x82 -+ .4byte 0x35d8 -+ .4byte .LASF789 -+ .4byte 0x7fffffff -+ .uleb128 0x83 -+ .4byte 0x3ac7 -+ .4byte .LASF790 -+ .byte 0x26 -+ .uleb128 0x84 -+ .4byte 0x3b09 -+ .4byte .LASF791 -+ .2byte 0x134 -+ .uleb128 0x84 -+ .4byte 0x3b4b -+ .4byte .LASF792 -+ .2byte 0x1344 -+ .uleb128 0x83 -+ .4byte 0x3b8d -+ .4byte .LASF793 -+ .byte 0x40 -+ .uleb128 0x81 -+ .4byte 0x3bb9 -+ .4byte .LASF794 -+ .sleb128 -1 -+ .uleb128 0x81 -+ .4byte 0x3bf0 -+ .4byte .LASF795 -+ .sleb128 -32768 -+ .uleb128 0x84 -+ .4byte 0x3bfb -+ .4byte .LASF796 -+ .2byte 0x7fff -+ .uleb128 0x81 -+ .4byte 0x3c32 -+ .4byte .LASF797 -+ .sleb128 -9223372036854775808 -+ .uleb128 0x85 -+ .4byte 0x3c3d -+ .4byte .LASF798 -+ .8byte 0x7fffffffffffffff -+ .uleb128 0x11 -+ .byte 0x8 -+ .4byte 0x2cf7 -+ .uleb128 0x86 -+ .4byte .LASF799 -+ .4byte 0x20d -+ .4byte 0x5192 -+ .uleb128 0x19 -+ .4byte 0x221 -+ .byte 0 -+ .uleb128 0x87 -+ .4byte .LASF801 -+ .4byte 0x51ac -+ .uleb128 0x19 -+ .4byte 0x20d -+ .uleb128 0x19 -+ .4byte 0x20d -+ .uleb128 0x19 -+ .4byte 0x4091 -+ .byte 0 -+ .uleb128 0x87 -+ .4byte .LASF802 -+ .4byte 0x51bc -+ .uleb128 0x19 -+ .4byte 0x20d -+ .byte 0 -+ .uleb128 0x88 -+ .4byte .LASF803 -+ .4byte .LASF816 -+ .uleb128 0x19 -+ .4byte 0x20d -+ .byte 0 -+ .byte 0 -+ .section .debug_abbrev,"",%progbits -+.Ldebug_abbrev0: -+ .uleb128 0x1 -+ .uleb128 0x11 -+ .byte 0x1 -+ .uleb128 0x25 -+ .uleb128 0xe -+ .uleb128 0x13 -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x1b -+ .uleb128 0xe -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x10 -+ .uleb128 0x17 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7 -+ .uleb128 0xf -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8 -+ .uleb128 0x24 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x9 -+ .uleb128 0x24 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0xe -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xc -+ .uleb128 0x17 -+ .byte 0x1 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xd -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xe -+ .uleb128 0x1 -+ .byte 0x1 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xf -+ .uleb128 0x21 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2f -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 -+ .uleb128 0x26 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x11 -+ .uleb128 0xf -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x12 -+ .uleb128 0x39 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x13 -+ .uleb128 0x8 -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x14 -+ .uleb128 0x8 -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x15 -+ .uleb128 0x39 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x16 -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x17 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x18 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x19 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1a -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1b -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1c -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1d -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1e -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1f -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x20 -+ .uleb128 0x2 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x21 -+ .uleb128 0x13 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x22 -+ .uleb128 0x1c -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x23 -+ .uleb128 0x39 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x24 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x25 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x26 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x27 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x28 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x29 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2a -+ .uleb128 0x1c -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2b -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2c -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2d -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2e -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2f -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x30 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x31 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x32 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x33 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x34 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x35 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x36 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x37 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x38 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x39 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3b -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3c -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3d -+ .uleb128 0x2f -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3e -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x40 -+ .uleb128 0x2f -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x41 -+ .uleb128 0x4 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x42 -+ .uleb128 0x28 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0xd -+ .byte 0 -+ .byte 0 -+ .uleb128 0x43 -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x44 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x45 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1c -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x46 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1c -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1c -+ .uleb128 0x5 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x48 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x4c -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x4c -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4a -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4b -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4c -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1c -+ .uleb128 0xa -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4d -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4e -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4f -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x50 -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x51 -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x52 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x53 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x54 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x55 -+ .uleb128 0x10 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x56 -+ .uleb128 0x3b -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .byte 0 -+ .byte 0 -+ .uleb128 0x57 -+ .uleb128 0x42 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x58 -+ .uleb128 0x3a -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x59 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5a -+ .uleb128 0x15 -+ .byte 0x1 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5b -+ .uleb128 0x26 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5c -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5d -+ .uleb128 0x15 -+ .byte 0x1 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5e -+ .uleb128 0x15 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5f -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x60 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x61 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x62 -+ .uleb128 0x21 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x63 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x64 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x65 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x66 -+ .uleb128 0xb -+ .byte 0x1 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x67 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x68 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x69 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6a -+ .uleb128 0x35 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6b -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6c -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6d -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6f -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x70 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x71 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x72 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x40 -+ .uleb128 0x18 -+ .uleb128 0x2117 -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x73 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0x17 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x74 -+ .uleb128 0xb -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x75 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x76 -+ .uleb128 0x1d -+ .byte 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x58 -+ .uleb128 0xb -+ .uleb128 0x59 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x77 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0x17 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x78 -+ .uleb128 0x4109 -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x79 -+ .uleb128 0x410a -+ .byte 0 -+ .uleb128 0x2 -+ .uleb128 0x18 -+ .uleb128 0x2111 -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7a -+ .uleb128 0x4109 -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7b -+ .uleb128 0x4109 -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7c -+ .uleb128 0x4109 -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7d -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x40 -+ .uleb128 0x18 -+ .uleb128 0x2117 -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7e -+ .uleb128 0x410a -+ .byte 0 -+ .uleb128 0x2 -+ .uleb128 0x18 -+ .uleb128 0x2111 -+ .uleb128 0x18 -+ .uleb128 0x2112 -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7f -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x80 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x81 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0xd -+ .byte 0 -+ .byte 0 -+ .uleb128 0x82 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0x6 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x83 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x84 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0x5 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x85 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0x7 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x86 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x87 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x88 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .section .debug_loc,"",%progbits -+.Ldebug_loc0: -+.LLST0: -+ .8byte .LVL0-.Ltext0 -+ .8byte .LVL1-.Ltext0 -+ .2byte 0x1 -+ .byte 0x50 -+ .8byte .LVL1-.Ltext0 -+ .8byte .LFE1299-.Ltext0 -+ .2byte 0x4 -+ .byte 0xf3 -+ .uleb128 0x1 -+ .byte 0x50 -+ .byte 0x9f -+ .8byte 0 -+ .8byte 0 -+.LLST1: -+ .8byte .LVL4-.Ltext0 -+ .8byte .LVL8-.Ltext0 -+ .2byte 0x3 -+ .byte 0x8f -+ .sleb128 32 -+ .byte 0x9f -+ .8byte .LVL8-.Ltext0 -+ .8byte .LVL9-1-.Ltext0 -+ .2byte 0x1 -+ .byte 0x50 -+ .8byte .LVL9-1-.Ltext0 -+ .8byte .LFE1299-.Ltext0 -+ .2byte 0x3 -+ .byte 0x8f -+ .sleb128 32 -+ .byte 0x9f -+ .8byte 0 -+ .8byte 0 -+ .section .debug_aranges,"",%progbits -+ .4byte 0x2c -+ .2byte 0x2 -+ .4byte .Ldebug_info0 -+ .byte 0x8 -+ .byte 0 -+ .2byte 0 -+ .2byte 0 -+ .8byte .Ltext0 -+ .8byte .Letext0-.Ltext0 -+ .8byte 0 -+ .8byte 0 -+ .section .debug_line,"",%progbits -+.Ldebug_line0: -+ .section .debug_str,"MS",%progbits,1 -+.LASF535: -+ .string "wcspbrk" -+.LASF651: -+ .string "lconv" -+.LASF374: -+ .string "_S_showpoint" -+.LASF729: -+ .string "clearerr" -+.LASF28: -+ .string "_unused2" -+.LASF187: -+ .string "_ZNSs12_M_leak_hardEv" -+.LASF14: -+ .string "_fileno" -+.LASF421: -+ .string "unitbuf" -+.LASF95: -+ .string "to_char_type" -+.LASF101: -+ .string "not_eof" -+.LASF117: -+ .string "reverse_iterator" -+.LASF501: -+ .string "tm_sec" -+.LASF401: -+ .string "_S_ios_iostate_end" -+.LASF547: -+ .string "allocate" -+.LASF475: -+ .string "fwide" -+.LASF426: -+ .string "iostate" -+.LASF466: -+ .string "basic_ostringstream, std::allocator >" -+.LASF542: -+ .string "new_allocator" -+.LASF671: -+ .string "int_p_sep_by_space" -+.LASF663: -+ .string "frac_digits" -+.LASF79: -+ .string "char_type" -+.LASF780: -+ .string "__k2" -+.LASF424: -+ .string "basefield" -+.LASF478: -+ .string "getwc" -+.LASF225: -+ .string "_ZNKSs8capacityEv" -+.LASF782: -+ .string "__end" -+.LASF438: -+ .string "pptr" -+.LASF728: -+ .string "fpos_t" -+.LASF220: -+ .string "_ZNSs6resizeEmc" -+.LASF597: -+ .string "__max_digits10" -+.LASF642: -+ .string "uint_fast16_t" -+.LASF229: -+ .string "_ZNSs5clearEv" -+.LASF557: -+ .string "_Value" -+.LASF19: -+ .string "_shortbuf" -+.LASF539: -+ .string "__gnu_cxx" -+.LASF588: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmmEv" -+.LASF550: -+ .string "_ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcm" -+.LASF313: -+ .string "_ZNKSs4findEcm" -+.LASF140: -+ .string "_ZNSs4_Rep7_M_grabERKSaIcES2_" -+.LASF147: -+ .string "_M_refcopy" -+.LASF449: -+ .string "iterator_traits" -+.LASF224: -+ .string "capacity" -+.LASF388: -+ .string "_S_ate" -+.LASF639: -+ .string "int_fast32_t" -+.LASF606: -+ .string "__exchange_and_add" -+.LASF238: -+ .string "_ZNSs5frontEv" -+.LASF731: -+ .string "feof" -+.LASF626: -+ .string "uint16_t" -+.LASF180: -+ .string "_ZNSs13_S_copy_charsEPcS_S_" -+.LASF88: -+ .string "_ZNSt11char_traitsIcE4findEPKcmRS1_" -+.LASF0: -+ .string "_flags" -+.LASF757: -+ .string "iswctype" -+.LASF85: -+ .string "length" -+.LASF121: -+ .string "_M_refcount" -+.LASF777: -+ .string "__last" -+.LASF385: -+ .string "_Ios_Fmtflags" -+.LASF680: -+ .string "__off_t" -+.LASF769: -+ .string "__vtt_parm" -+.LASF708: -+ .string "strtod" -+.LASF541: -+ .string "const_pointer" -+.LASF552: -+ .string "__numeric_traits_integer" -+.LASF718: -+ .string "strtof" -+.LASF164: -+ .string "_M_check_length" -+.LASF549: -+ .string "deallocate" -+.LASF758: -+ .string "towctrans" -+.LASF452: -+ .string "basic_ios" -+.LASF643: -+ .string "uint_fast32_t" -+.LASF509: -+ .string "tm_isdst" -+.LASF654: -+ .string "grouping" -+.LASF804: -+ .string "GNU C++ 4.8.4 -g -O1 -std=c++11 -fstack-protector" -+.LASF20: -+ .string "_lock" -+.LASF107: -+ .string "allocator" -+.LASF612: -+ .string "wcstoll" -+.LASF362: -+ .string "_ZNKSt16initializer_listIcE4sizeEv" -+.LASF596: -+ .string "__numeric_traits_floating" -+.LASF67: -+ .string "operator bool" -+.LASF217: -+ .string "max_size" -+.LASF201: -+ .string "_ZNSs6rbeginEv" -+.LASF616: -+ .string "bool" -+.LASF365: -+ .string "_S_dec" -+.LASF695: -+ .string "atoi" -+.LASF384: -+ .string "_S_ios_fmtflags_min" -+.LASF696: -+ .string "atol" -+.LASF111: -+ .string "_M_p" -+.LASF517: -+ .string "wcsspn" -+.LASF386: -+ .string "_Ios_Openmode" -+.LASF623: -+ .string "int32_t" -+.LASF647: -+ .string "intmax_t" -+.LASF721: -+ .string "__pos" -+.LASF807: -+ .string "__debug" -+.LASF759: -+ .string "wctrans" -+.LASF445: -+ .string "iterator_category" -+.LASF458: -+ .string "__string_type" -+.LASF676: -+ .string "setlocale" -+.LASF648: -+ .string "uintmax_t" -+.LASF285: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs" -+.LASF152: -+ .string "_ZNKSs7_M_dataEv" -+.LASF493: -+ .string "vwscanf" -+.LASF213: -+ .string "_ZNKSs5crendEv" -+.LASF436: -+ .string "~basic_streambuf" -+.LASF279: -+ .string "replace" -+.LASF373: -+ .string "_S_showbase" -+.LASF792: -+ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIeE16__max_exponent10E" -+.LASF565: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEptEv" -+.LASF155: -+ .string "_ZNKSs6_M_repEv" -+.LASF118: -+ .string "_Rep_base" -+.LASF370: -+ .string "_S_oct" -+.LASF192: -+ .string "_ZNSsaSEc" -+.LASF311: -+ .string "_ZNKSs4findERKSsm" -+.LASF687: -+ .string "6ldiv_t" -+.LASF6: -+ .string "_IO_write_end" -+.LASF276: -+ .string "_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_" -+.LASF295: -+ .string "_ZNSs14_M_replace_auxEmmmc" -+.LASF632: -+ .string "int_least64_t" -+.LASF196: -+ .string "_ZNSs5beginEv" -+.LASF356: -+ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" -+.LASF71: -+ .string "nullptr_t" -+.LASF714: -+ .string "lldiv" -+.LASF591: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEpLERKl" -+.LASF772: -+ .string "__s1" -+.LASF773: -+ .string "__s2" -+.LASF368: -+ .string "_S_internal" -+.LASF126: -+ .string "_S_empty_rep" -+.LASF694: -+ .string "atof" -+.LASF748: -+ .string "rename" -+.LASF92: -+ .string "_ZNSt11char_traitsIcE4copyEPcPKcm" -+.LASF65: -+ .string "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv" -+.LASF272: -+ .string "_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc" -+.LASF427: -+ .string "badbit" -+.LASF399: -+ .string "_S_eofbit" -+.LASF110: -+ .string "_Alloc_hider" -+.LASF629: -+ .string "int_least8_t" -+.LASF537: -+ .string "wcsstr" -+.LASF738: -+ .string "fread" -+.LASF662: -+ .string "int_frac_digits" -+.LASF464: -+ .string "distance" -+.LASF145: -+ .string "_M_destroy" -+.LASF653: -+ .string "thousands_sep" -+.LASF598: -+ .string "__digits10" -+.LASF314: -+ .string "rfind" -+.LASF165: -+ .string "_ZNKSs15_M_check_lengthEmmPKc" -+.LASF736: -+ .string "fgets" -+.LASF423: -+ .string "adjustfield" -+.LASF520: -+ .string "wcstof" -+.LASF522: -+ .string "wcstok" -+.LASF523: -+ .string "wcstol" -+.LASF340: -+ .string "_ZNKSs6substrEmm" -+.LASF739: -+ .string "freopen" -+.LASF298: -+ .string "_S_construct_aux_2" -+.LASF776: -+ .string "__first" -+.LASF157: -+ .string "_ZNKSs9_M_ibeginEv" -+.LASF778: -+ .string "__ptr" -+.LASF372: -+ .string "_S_scientific" -+.LASF732: -+ .string "ferror" -+.LASF793: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE" -+.LASF416: -+ .string "scientific" -+.LASF60: -+ .string "_ZNSt15__exception_ptr13exception_ptraSERKS0_" -+.LASF761: -+ .string "type" -+.LASF302: -+ .string "_ZNKSs4copyEPcmm" -+.LASF562: -+ .string "operator*" -+.LASF267: -+ .string "_ZNSs6insertEmRKSs" -+.LASF578: -+ .string "operator-" -+.LASF620: -+ .string "__gnu_debug" -+.LASF531: -+ .string "wmemset" -+.LASF794: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE" -+.LASF59: -+ .string "operator=" -+.LASF781: -+ .string "__beg" -+.LASF469: -+ .string "btowc" -+.LASF812: -+ .string "_ZNSs12_S_empty_repEv" -+.LASF411: -+ .string "boolalpha" -+.LASF257: -+ .string "_ZNSs6assignERKSs" -+.LASF484: -+ .string "putwchar" -+.LASF563: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEdeEv" -+.LASF149: -+ .string "_ZNSs4_Rep8_M_cloneERKSaIcEm" -+.LASF791: -+ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIdE16__max_exponent10E" -+.LASF656: -+ .string "currency_symbol" -+.LASF350: -+ .string "_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcE" -+.LASF252: -+ .string "_ZNSs6appendEPKc" -+.LASF453: -+ .string "operator|" -+.LASF789: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE" -+.LASF73: -+ .string "piecewise_construct_t" -+.LASF167: -+ .string "_ZNKSs8_M_limitEmm" -+.LASF31: -+ .string "__gnuc_va_list" -+.LASF13: -+ .string "_chain" -+.LASF608: -+ .string "__exchange_and_add_dispatch" -+.LASF339: -+ .string "substr" -+.LASF798: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE" -+.LASF130: -+ .string "_ZNKSs4_Rep12_M_is_sharedEv" -+.LASF287: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc" -+.LASF137: -+ .string "_M_refdata" -+.LASF683: -+ .string "11__mbstate_t" -+.LASF617: -+ .string "unsigned char" -+.LASF422: -+ .string "uppercase" -+.LASF37: -+ .string "__gr_offs" -+.LASF77: -+ .string "random_access_iterator_tag" -+.LASF526: -+ .string "wcsxfrm" -+.LASF814: -+ .string "_IO_lock_t" -+.LASF512: -+ .string "wcslen" -+.LASF322: -+ .string "_ZNKSs13find_first_ofEPKcm" -+.LASF521: -+ .string "float" -+.LASF346: -+ .string "_ZNKSs7compareEmmPKcm" -+.LASF796: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE" -+.LASF135: -+ .string "_M_set_length_and_sharable" -+.LASF394: -+ .string "_S_ios_openmode_max" -+.LASF136: -+ .string "_ZNSs4_Rep26_M_set_length_and_sharableEm" -+.LASF81: -+ .string "_ZNSt11char_traitsIcE2eqERKcS2_" -+.LASF162: -+ .string "_M_check" -+.LASF93: -+ .string "assign" -+.LASF635: -+ .string "uint_least32_t" -+.LASF176: -+ .string "_ZNSs9_M_assignEPcmc" -+.LASF80: -+ .string "int_type" -+.LASF366: -+ .string "_S_fixed" -+.LASF742: -+ .string "ftell" -+.LASF595: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsE4baseEv" -+.LASF203: -+ .string "rend" -+.LASF299: -+ .string "_ZNSs18_S_construct_aux_2EmcRKSaIcE" -+.LASF151: -+ .string "_ZNSs4_Rep10_M_refcopyEv" -+.LASF406: -+ .string "_S_cur" -+.LASF750: -+ .string "setbuf" -+.LASF446: -+ .string "difference_type" -+.LASF172: -+ .string "_ZNSs7_M_copyEPcPKcm" -+.LASF178: -+ .string "_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_" -+.LASF344: -+ .string "_ZNKSs7compareEPKc" -+.LASF511: -+ .string "tm_zone" -+.LASF338: -+ .string "_ZNKSs16find_last_not_ofEcm" -+.LASF289: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_" -+.LASF223: -+ .string "_ZNSs13shrink_to_fitEv" -+.LASF477: -+ .string "fwscanf" -+.LASF713: -+ .string "wctomb" -+.LASF500: -+ .string "wcsftime" -+.LASF64: -+ .string "swap" -+.LASF55: -+ .string "_M_addref" -+.LASF479: -+ .string "mbrlen" -+.LASF235: -+ .string "_ZNKSs2atEm" -+.LASF455: -+ .string "basic_stringbuf" -+.LASF292: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_" -+.LASF68: -+ .string "_ZNKSt15__exception_ptr13exception_ptrcvbEv" -+.LASF158: -+ .string "_M_iend" -+.LASF579: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEmiERKl" -+.LASF104: -+ .string "size_type" -+.LASF749: -+ .string "rewind" -+.LASF244: -+ .string "_ZNSspLERKSs" -+.LASF141: -+ .string "_S_create" -+.LASF420: -+ .string "skipws" -+.LASF816: -+ .string "_Unwind_Resume" -+.LASF114: -+ .string "iterator" -+.LASF719: -+ .string "strtold" -+.LASF465: -+ .string "_InputIterator" -+.LASF716: -+ .string "strtoll" -+.LASF692: -+ .string "atexit" -+.LASF5: -+ .string "_IO_write_ptr" -+.LASF705: -+ .string "quick_exit" -+.LASF803: -+ .string "__builtin_unwind_resume" -+.LASF661: -+ .string "negative_sign" -+.LASF189: -+ .string "~basic_string" -+.LASF495: -+ .string "wcscat" -+.LASF689: -+ .string "7lldiv_t" -+.LASF518: -+ .string "wcstod" -+.LASF61: -+ .string "_ZNSt15__exception_ptr13exception_ptraSEOS0_" -+.LASF173: -+ .string "_M_move" -+.LASF760: -+ .string "wctype" -+.LASF655: -+ .string "int_curr_symbol" -+.LASF341: -+ .string "_ZNKSs7compareERKSs" -+.LASF545: -+ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERc" -+.LASF363: -+ .string "_ZNKSt16initializer_listIcE5beginEv" -+.LASF214: -+ .string "size" -+.LASF148: -+ .string "_M_clone" -+.LASF296: -+ .string "_M_replace_safe" -+.LASF722: -+ .string "__state" -+.LASF250: -+ .string "_ZNSs6appendERKSsmm" -+.LASF599: -+ .string "__max_exponent10" -+.LASF29: -+ .string "FILE" -+.LASF266: -+ .string "_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE" -+.LASF249: -+ .string "_ZNSs6appendERKSs" -+.LASF415: -+ .string "right" -+.LASF156: -+ .string "_M_ibegin" -+.LASF228: -+ .string "clear" -+.LASF82: -+ .string "_ZNSt11char_traitsIcE2ltERKcS2_" -+.LASF499: -+ .string "wcscspn" -+.LASF407: -+ .string "_S_end" -+.LASF259: -+ .string "_ZNSs6assignERKSsmm" -+.LASF39: -+ .string "size_t" -+.LASF254: -+ .string "_ZNSs6appendESt16initializer_listIcE" -+.LASF45: -+ .string "__count" -+.LASF625: -+ .string "uint8_t" -+.LASF685: -+ .string "quot" -+.LASF163: -+ .string "_ZNKSs8_M_checkEmPKc" -+.LASF237: -+ .string "front" -+.LASF332: -+ .string "_ZNKSs17find_first_not_ofEPKcm" -+.LASF503: -+ .string "tm_hour" -+.LASF746: -+ .string "perror" -+.LASF275: -+ .string "_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE" -+.LASF560: -+ .string "_M_current" -+.LASF265: -+ .string "_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc" -+.LASF139: -+ .string "_M_grab" -+.LASF129: -+ .string "_M_is_shared" -+.LASF9: -+ .string "_IO_save_base" -+.LASF461: -+ .string "__distance" -+.LASF125: -+ .string "_S_empty_rep_storage" -+.LASF527: -+ .string "wctob" -+.LASF658: -+ .string "mon_thousands_sep" -+.LASF476: -+ .string "fwprintf" -+.LASF175: -+ .string "_M_assign" -+.LASF395: -+ .string "_S_ios_openmode_min" -+.LASF123: -+ .string "_S_max_size" -+.LASF44: -+ .string "__wchb" -+.LASF514: -+ .string "wcsncmp" -+.LASF334: -+ .string "find_last_not_of" -+.LASF364: -+ .string "_S_boolalpha" -+.LASF690: -+ .string "lldiv_t" -+.LASF489: -+ .string "vfwscanf" -+.LASF41: -+ .string "wint_t" -+.LASF327: -+ .string "_ZNKSs12find_last_ofEPKcm" -+.LASF700: -+ .string "mblen" -+.LASF318: -+ .string "_ZNKSs5rfindEcm" -+.LASF443: -+ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv" -+.LASF309: -+ .string "_ZNKSs13get_allocatorEv" -+.LASF556: -+ .string "__digits" -+.LASF216: -+ .string "_ZNKSs6lengthEv" -+.LASF369: -+ .string "_S_left" -+.LASF200: -+ .string "rbegin" -+.LASF614: -+ .string "wcstoull" -+.LASF170: -+ .string "_M_copy" -+.LASF768: -+ .string "__in_chrg" -+.LASF312: -+ .string "_ZNKSs4findEPKcm" -+.LASF382: -+ .string "_S_ios_fmtflags_end" -+.LASF467: -+ .string "_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv" -+.LASF337: -+ .string "_ZNKSs16find_last_not_ofEPKcm" -+.LASF530: -+ .string "wmemmove" -+.LASF473: -+ .string "fputwc" -+.LASF100: -+ .string "_ZNSt11char_traitsIcE11eq_int_typeERKiS2_" -+.LASF144: -+ .string "_ZNSs4_Rep10_M_disposeERKSaIcE" -+.LASF253: -+ .string "_ZNSs6appendEmc" -+.LASF305: -+ .string "_ZNKSs5c_strEv" -+.LASF233: -+ .string "_ZNKSsixEm" -+.LASF474: -+ .string "fputws" -+.LASF146: -+ .string "_ZNSs4_Rep10_M_destroyERKSaIcE" -+.LASF286: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm" -+.LASF236: -+ .string "_ZNSs2atEm" -+.LASF398: -+ .string "_S_badbit" -+.LASF169: -+ .string "_ZNKSs11_M_disjunctEPKc" -+.LASF582: -+ .string "_Container" -+.LASF202: -+ .string "_ZNKSs6rbeginEv" -+.LASF357: -+ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" -+.LASF534: -+ .string "wcschr" -+.LASF86: -+ .string "find" -+.LASF391: -+ .string "_S_out" -+.LASF725: -+ .string "_next" -+.LASF308: -+ .string "get_allocator" -+.LASF371: -+ .string "_S_right" -+.LASF433: -+ .string "basic_ostream >" -+.LASF166: -+ .string "_M_limit" -+.LASF380: -+ .string "_S_basefield" -+.LASF652: -+ .string "decimal_point" -+.LASF544: -+ .string "address" -+.LASF682: -+ .string "_Atomic_word" -+.LASF636: -+ .string "uint_least64_t" -+.LASF551: -+ .string "_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv" -+.LASF813: -+ .string "decltype(nullptr)" -+.LASF290: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_" -+.LASF212: -+ .string "crend" -+.LASF239: -+ .string "_ZNKSs5frontEv" -+.LASF730: -+ .string "fclose" -+.LASF710: -+ .string "strtoul" -+.LASF409: -+ .string "openmode" -+.LASF87: -+ .string "_ZNSt11char_traitsIcE6lengthEPKc" -+.LASF96: -+ .string "_ZNSt11char_traitsIcE12to_char_typeERKi" -+.LASF328: -+ .string "_ZNKSs12find_last_ofEcm" -+.LASF245: -+ .string "_ZNSspLEPKc" -+.LASF444: -+ .string "iterator_traits" -+.LASF688: -+ .string "ldiv_t" -+.LASF232: -+ .string "operator[]" -+.LASF809: -+ .string "_ZNSt11char_traitsIcE3eofEv" -+.LASF799: -+ .string "__cxa_allocate_exception" -+.LASF801: -+ .string "__cxa_throw" -+.LASF752: -+ .string "tmpfile" -+.LASF103: -+ .string "allocator" -+.LASF199: -+ .string "_ZNKSs3endEv" -+.LASF754: -+ .string "ungetc" -+.LASF765: -+ .string "__val" -+.LASF712: -+ .string "wcstombs" -+.LASF310: -+ .string "_ZNKSs4findEPKcmm" -+.LASF472: -+ .string "wchar_t" -+.LASF323: -+ .string "_ZNKSs13find_first_ofEcm" -+.LASF347: -+ .string "_S_construct_aux" -+.LASF113: -+ .string "allocator_type" -+.LASF198: -+ .string "_ZNSs3endEv" -+.LASF277: -+ .string "pop_back" -+.LASF271: -+ .string "_ZNSs6insertEmmc" -+.LASF638: -+ .string "int_fast16_t" -+.LASF763: -+ .string "__gthread_active_ptr" -+.LASF281: -+ .string "_ZNSs7replaceEmmRKSsmm" -+.LASF581: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsE4baseEv" -+.LASF783: -+ .string "__str" -+.LASF159: -+ .string "_ZNKSs7_M_iendEv" -+.LASF486: -+ .string "swscanf" -+.LASF604: -+ .string "__numeric_traits_integer" -+.LASF515: -+ .string "wcsncpy" -+.LASF376: -+ .string "_S_skipws" -+.LASF628: -+ .string "uint64_t" -+.LASF367: -+ .string "_S_hex" -+.LASF218: -+ .string "_ZNKSs8max_sizeEv" -+.LASF442: -+ .string "pbase" -+.LASF459: -+ .string "__iterator_category" -+.LASF667: -+ .string "n_sep_by_space" -+.LASF269: -+ .string "_ZNSs6insertEmPKcm" -+.LASF808: -+ .string "_ZNSt11char_traitsIcE6assignERcRKc" -+.LASF621: -+ .string "int8_t" -+.LASF11: -+ .string "_IO_save_end" -+.LASF532: -+ .string "wprintf" -+.LASF502: -+ .string "tm_min" -+.LASF785: -+ .string "piecewise_construct" -+.LASF78: -+ .string "char_traits" -+.LASF72: -+ .string "__false_type" -+.LASF631: -+ .string "int_least32_t" -+.LASF707: -+ .string "srand" -+.LASF664: -+ .string "p_cs_precedes" -+.LASF496: -+ .string "wcscmp" -+.LASF590: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEixERKl" -+.LASF260: -+ .string "_ZNSs6assignEPKcm" -+.LASF787: -+ .string "stdout" -+.LASF463: -+ .string "operator==" -+.LASF482: -+ .string "mbsrtowcs" -+.LASF63: -+ .string "_M_get" -+.LASF659: -+ .string "mon_grouping" -+.LASF734: -+ .string "fgetc" -+.LASF89: -+ .string "move" -+.LASF284: -+ .string "_ZNSs7replaceEmmmc" -+.LASF447: -+ .string "pointer" -+.LASF268: -+ .string "_ZNSs6insertEmRKSsmm" -+.LASF488: -+ .string "vfwprintf" -+.LASF650: -+ .string "char32_t" -+.LASF602: -+ .string "__numeric_traits_integer" -+.LASF508: -+ .string "tm_yday" -+.LASF481: -+ .string "mbsinit" -+.LASF329: -+ .string "find_first_not_of" -+.LASF161: -+ .string "_ZNSs7_M_leakEv" -+.LASF47: -+ .string "sizetype" -+.LASF160: -+ .string "_M_leak" -+.LASF62: -+ .string "~exception_ptr" -+.LASF711: -+ .string "system" -+.LASF622: -+ .string "int16_t" -+.LASF197: -+ .string "_ZNKSs5beginEv" -+.LASF51: -+ .string "short unsigned int" -+.LASF548: -+ .string "_ZN9__gnu_cxx13new_allocatorIcE8allocateEmPKv" -+.LASF618: -+ .string "signed char" -+.LASF326: -+ .string "_ZNKSs12find_last_ofEPKcmm" -+.LASF317: -+ .string "_ZNKSs5rfindEPKcm" -+.LASF430: -+ .string "goodbit" -+.LASF102: -+ .string "ptrdiff_t" -+.LASF485: -+ .string "swprintf" -+.LASF240: -+ .string "back" -+.LASF241: -+ .string "_ZNSs4backEv" -+.LASF492: -+ .string "vwprintf" -+.LASF589: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmmEi" -+.LASF381: -+ .string "_S_floatfield" -+.LASF231: -+ .string "_ZNKSs5emptyEv" -+.LASF681: -+ .string "__off64_t" -+.LASF498: -+ .string "wcscpy" -+.LASF219: -+ .string "resize" -+.LASF490: -+ .string "vswprintf" -+.LASF278: -+ .string "_ZNSs8pop_backEv" -+.LASF483: -+ .string "putwc" -+.LASF3: -+ .string "_IO_read_base" -+.LASF262: -+ .string "_ZNSs6assignEmc" -+.LASF21: -+ .string "_offset" -+.LASF8: -+ .string "_IO_buf_end" -+.LASF270: -+ .string "_ZNSs6insertEmPKc" -+.LASF207: -+ .string "_ZNKSs6cbeginEv" -+.LASF434: -+ .string "~basic_ostream" -+.LASF701: -+ .string "mbstowcs" -+.LASF50: -+ .string "mbstate_t" -+.LASF669: -+ .string "n_sign_posn" -+.LASF154: -+ .string "_M_rep" -+.LASF516: -+ .string "wcsrtombs" -+.LASF723: -+ .string "_G_fpos_t" -+.LASF507: -+ .string "tm_wday" -+.LASF390: -+ .string "_S_in" -+.LASF543: -+ .string "~new_allocator" -+.LASF402: -+ .string "_S_ios_iostate_max" -+.LASF307: -+ .string "_ZNKSs4dataEv" -+.LASF90: -+ .string "_ZNSt11char_traitsIcE4moveEPcPKcm" -+.LASF283: -+ .string "_ZNSs7replaceEmmPKc" -+.LASF56: -+ .string "_M_release" -+.LASF27: -+ .string "_mode" -+.LASF4: -+ .string "_IO_write_base" -+.LASF150: -+ .string "_M_data" -+.LASF815: -+ .string "func" -+.LASF43: -+ .string "__wch" -+.LASF94: -+ .string "_ZNSt11char_traitsIcE6assignEPcmc" -+.LASF554: -+ .string "__max" -+.LASF331: -+ .string "_ZNKSs17find_first_not_ofEPKcmm" -+.LASF208: -+ .string "cend" -+.LASF248: -+ .string "append" -+.LASF491: -+ .string "vswscanf" -+.LASF747: -+ .string "remove" -+.LASF505: -+ .string "tm_mon" -+.LASF400: -+ .string "_S_failbit" -+.LASF800: -+ .string "~_Alloc_hider" -+.LASF91: -+ .string "copy" -+.LASF99: -+ .string "eq_int_type" -+.LASF142: -+ .string "_ZNSs4_Rep9_S_createEmmRKSaIcE" -+.LASF69: -+ .string "__cxa_exception_type" -+.LASF345: -+ .string "_ZNKSs7compareEmmPKc" -+.LASF706: -+ .string "rand" -+.LASF291: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_" -+.LASF524: -+ .string "long int" -+.LASF735: -+ .string "fgetpos" -+.LASF211: -+ .string "_ZNKSs7crbeginEv" -+.LASF572: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEixERKl" -+.LASF204: -+ .string "_ZNSs4rendEv" -+.LASF97: -+ .string "to_int_type" -+.LASF724: -+ .string "_IO_marker" -+.LASF674: -+ .string "int_p_sign_posn" -+.LASF378: -+ .string "_S_uppercase" -+.LASF506: -+ .string "tm_year" -+.LASF303: -+ .string "_ZNSs4swapERSs" -+.LASF533: -+ .string "wscanf" -+.LASF575: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcSsEplERKl" -+.LASF559: -+ .string "__normal_iterator, std::allocator > >" -+.LASF594: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEmiERKl" -+.LASF745: -+ .string "gets" -+.LASF396: -+ .string "_Ios_Iostate" -+.LASF70: -+ .string "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv" -+.LASF603: -+ .string "__numeric_traits_integer" -+.LASF230: -+ .string "empty" -+.LASF251: -+ .string "_ZNSs6appendEPKcm" -+.LASF645: -+ .string "intptr_t" -+.LASF49: -+ .string "__mbstate_t" -+.LASF657: -+ .string "mon_decimal_point" -+.LASF627: -+ .string "uint32_t" -+.LASF300: -+ .string "_S_construct" -+.LASF583: -+ .string "__normal_iterator, std::allocator > >" -+.LASF704: -+ .string "qsort" -+.LASF353: -+ .string "_Traits" -+.LASF646: -+ .string "uintptr_t" -+.LASF450: -+ .string "basic_ios >" -+.LASF709: -+ .string "strtol" -+.LASF611: -+ .string "long double" -+.LASF805: -+ .string "entry-value-typedef.cpp" -+.LASF806: -+ .string "/home/simark/src/binutils-gdb/gdb/testsuite/gdb.dwarf2" -+.LASF226: -+ .string "reserve" -+.LASF280: -+ .string "_ZNSs7replaceEmmRKSs" -+.LASF665: -+ .string "p_sep_by_space" -+.LASF206: -+ .string "cbegin" -+.LASF764: -+ .string "__mem" -+.LASF34: -+ .string "__stack" -+.LASF40: -+ .string "long unsigned int" -+.LASF775: -+ .string "__mode" -+.LASF84: -+ .string "_ZNSt11char_traitsIcE7compareEPKcS2_m" -+.LASF243: -+ .string "operator+=" -+.LASF753: -+ .string "tmpnam" -+.LASF577: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEmIERKl" -+.LASF568: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEppEi" -+.LASF354: -+ .string "_Alloc" -+.LASF566: -+ .string "operator++" -+.LASF567: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEppEv" -+.LASF221: -+ .string "_ZNSs6resizeEm" -+.LASF179: -+ .string "_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_" -+.LASF112: -+ .string "_M_dataplus" -+.LASF755: -+ .string "wctype_t" -+.LASF191: -+ .string "_ZNSsaSEPKc" -+.LASF48: -+ .string "char" -+.LASF255: -+ .string "push_back" -+.LASF610: -+ .string "wcstold" -+.LASF124: -+ .string "_S_terminal" -+.LASF703: -+ .string "__is_null_pointer" -+.LASF786: -+ .string "stdin" -+.LASF720: -+ .string "9_G_fpos_t" -+.LASF359: -+ .string "_M_array" -+.LASF264: -+ .string "insert" -+.LASF122: -+ .string "_Rep" -+.LASF393: -+ .string "_S_ios_openmode_end" -+.LASF7: -+ .string "_IO_buf_base" -+.LASF185: -+ .string "_ZNSs9_M_mutateEmmm" -+.LASF609: -+ .string "_Type" -+.LASF569: -+ .string "operator--" -+.LASF432: -+ .string "ios_base" -+.LASF246: -+ .string "_ZNSspLEc" -+.LASF174: -+ .string "_ZNSs7_M_moveEPcPKcm" -+.LASF564: -+ .string "operator->" -+.LASF640: -+ .string "int_fast64_t" -+.LASF2: -+ .string "_IO_read_end" -+.LASF36: -+ .string "__vr_top" -+.LASF32: -+ .string "_IO_FILE" -+.LASF538: -+ .string "wmemchr" -+.LASF321: -+ .string "_ZNKSs13find_first_ofEPKcmm" -+.LASF403: -+ .string "_S_ios_iostate_min" -+.LASF153: -+ .string "_ZNSs7_M_dataEPc" -+.LASF193: -+ .string "_ZNSsaSEOSs" -+.LASF325: -+ .string "_ZNKSs12find_last_ofERKSsm" -+.LASF58: -+ .string "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv" -+.LASF715: -+ .string "atoll" -+.LASF740: -+ .string "fseek" -+.LASF301: -+ .string "_ZNSs12_S_constructEmcRKSaIcE" -+.LASF774: -+ .string "__dat" -+.LASF553: -+ .string "__min" -+.LASF644: -+ .string "uint_fast64_t" -+.LASF460: -+ .string "_Iter" -+.LASF697: -+ .string "bsearch" -+.LASF457: -+ .string "_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv" -+.LASF294: -+ .string "_M_replace_aux" -+.LASF116: -+ .string "const_reverse_iterator" -+.LASF437: -+ .string "basic_streambuf" -+.LASF109: -+ .string "basic_string, std::allocator >" -+.LASF677: -+ .string "getwchar" -+.LASF35: -+ .string "__gr_top" -+.LASF675: -+ .string "int_n_sign_posn" -+.LASF412: -+ .string "fixed" -+.LASF57: -+ .string "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv" -+.LASF504: -+ .string "tm_mday" -+.LASF182: -+ .string "_S_compare" -+.LASF304: -+ .string "c_str" -+.LASF106: -+ .string "const_reference" -+.LASF22: -+ .string "__pad1" -+.LASF23: -+ .string "__pad2" -+.LASF24: -+ .string "__pad3" -+.LASF25: -+ .string "__pad4" -+.LASF26: -+ .string "__pad5" -+.LASF605: -+ .string "__numeric_traits_integer" -+.LASF726: -+ .string "_sbuf" -+.LASF762: -+ .string "__gthread_active_p" -+.LASF316: -+ .string "_ZNKSs5rfindEPKcmm" -+.LASF540: -+ .string "new_allocator" -+.LASF741: -+ .string "fsetpos" -+.LASF333: -+ .string "_ZNKSs17find_first_not_ofEcm" -+.LASF66: -+ .string "_ZNSt15__exception_ptr13exception_ptr4swapERS0_" -+.LASF12: -+ .string "_markers" -+.LASF727: -+ .string "_pos" -+.LASF624: -+ .string "int64_t" -+.LASF119: -+ .string "_M_length" -+.LASF336: -+ .string "_ZNKSs16find_last_not_ofEPKcmm" -+.LASF633: -+ .string "uint_least8_t" -+.LASF699: -+ .string "ldiv" -+.LASF456: -+ .string "_ZNKSt16initializer_listIcE3endEv" -+.LASF429: -+ .string "failbit" -+.LASF672: -+ .string "int_n_cs_precedes" -+.LASF273: -+ .string "erase" -+.LASF519: -+ .string "double" -+.LASF779: -+ .string "__k1" -+.LASF330: -+ .string "_ZNKSs17find_first_not_ofERKSsm" -+.LASF30: -+ .string "__FILE" -+.LASF247: -+ .string "_ZNSspLESt16initializer_listIcE" -+.LASF587: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEppEi" -+.LASF205: -+ .string "_ZNKSs4rendEv" -+.LASF586: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEppEv" -+.LASF448: -+ .string "_Iterator" -+.LASF679: -+ .string "__int32_t" -+.LASF435: -+ .string "basic_streambuf >" -+.LASF133: -+ .string "_M_set_sharable" -+.LASF306: -+ .string "data" -+.LASF528: -+ .string "wmemcmp" -+.LASF468: -+ .string "ostringstream" -+.LASF494: -+ .string "wcrtomb" -+.LASF46: -+ .string "__value" -+.LASF576: -+ .string "operator-=" -+.LASF351: -+ .string "_InIterator" -+.LASF263: -+ .string "_ZNSs6assignESt16initializer_listIcE" -+.LASF256: -+ .string "_ZNSs9push_backEc" -+.LASF585: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEptEv" -+.LASF74: -+ .string "input_iterator_tag" -+.LASF128: -+ .string "_ZNKSs4_Rep12_M_is_leakedEv" -+.LASF431: -+ .string "seekdir" -+.LASF580: -+ .string "base" -+.LASF414: -+ .string "left" -+.LASF209: -+ .string "_ZNKSs4cendEv" -+.LASF660: -+ .string "positive_sign" -+.LASF751: -+ .string "setvbuf" -+.LASF293: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE" -+.LASF684: -+ .string "5div_t" -+.LASF397: -+ .string "_S_goodbit" -+.LASF593: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmIERKl" -+.LASF686: -+ .string "div_t" -+.LASF600: -+ .string "__numeric_traits_floating" -+.LASF693: -+ .string "at_quick_exit" -+.LASF171: -+ .string "_ZNSt11char_traitsIcE7not_eofERKi" -+.LASF375: -+ .string "_S_showpos" -+.LASF408: -+ .string "_S_ios_seekdir_end" -+.LASF52: -+ .string "__exception_ptr" -+.LASF297: -+ .string "_ZNSs15_M_replace_safeEmmPKcm" -+.LASF343: -+ .string "_ZNKSs7compareEmmRKSsmm" -+.LASF462: -+ .string "_RandomAccessIterator" -+.LASF702: -+ .string "mbtowc" -+.LASF574: -+ .string "operator+" -+.LASF75: -+ .string "forward_iterator_tag" -+.LASF143: -+ .string "_M_dispose" -+.LASF788: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE" -+.LASF132: -+ .string "_ZNSs4_Rep13_M_set_leakedEv" -+.LASF615: -+ .string "long long unsigned int" -+.LASF480: -+ .string "mbrtowc" -+.LASF17: -+ .string "_cur_column" -+.LASF811: -+ .string "_ZNSs4_Rep12_S_empty_repEv" -+.LASF529: -+ .string "wmemcpy" -+.LASF691: -+ .string "__compar_fn_t" -+.LASF349: -+ .string "_S_construct" -+.LASF797: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE" -+.LASF181: -+ .string "_ZNSs13_S_copy_charsEPcPKcS1_" -+.LASF417: -+ .string "showbase" -+.LASF377: -+ .string "_S_unitbuf" -+.LASF573: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEpLERKl" -+.LASF392: -+ .string "_S_trunc" -+.LASF98: -+ .string "_ZNSt11char_traitsIcE11to_int_typeERKc" -+.LASF131: -+ .string "_M_set_leaked" -+.LASF410: -+ .string "fmtflags" -+.LASF134: -+ .string "_ZNSs4_Rep15_M_set_sharableEv" -+.LASF441: -+ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv" -+.LASF513: -+ .string "wcsncat" -+.LASF737: -+ .string "fopen" -+.LASF510: -+ .string "tm_gmtoff" -+.LASF795: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE" -+.LASF10: -+ .string "_IO_backup_base" -+.LASF439: -+ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv" -+.LASF673: -+ .string "int_n_sep_by_space" -+.LASF1: -+ .string "_IO_read_ptr" -+.LASF184: -+ .string "_M_mutate" -+.LASF355: -+ .string "type_info" -+.LASF413: -+ .string "internal" -+.LASF190: -+ .string "_ZNSsaSERKSs" -+.LASF698: -+ .string "getenv" -+.LASF470: -+ .string "fgetwc" -+.LASF120: -+ .string "_M_capacity" -+.LASF38: -+ .string "__vr_offs" -+.LASF471: -+ .string "fgetws" -+.LASF194: -+ .string "_ZNSsaSESt16initializer_listIcE" -+.LASF188: -+ .string "basic_string" -+.LASF743: -+ .string "getc" -+.LASF320: -+ .string "_ZNKSs13find_first_ofERKSsm" -+.LASF561: -+ .string "__normal_iterator" -+.LASF16: -+ .string "_old_offset" -+.LASF418: -+ .string "showpoint" -+.LASF497: -+ .string "wcscoll" -+.LASF419: -+ .string "showpos" -+.LASF756: -+ .string "wctrans_t" -+.LASF770: -+ .string "__c1" -+.LASF771: -+ .string "__c2" -+.LASF668: -+ .string "p_sign_posn" -+.LASF183: -+ .string "_ZNSs10_S_compareEmm" -+.LASF790: -+ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIfE16__max_exponent10E" -+.LASF536: -+ .string "wcsrchr" -+.LASF83: -+ .string "compare" -+.LASF613: -+ .string "long long int" -+.LASF215: -+ .string "_ZNKSs4sizeEv" -+.LASF15: -+ .string "_flags2" -+.LASF546: -+ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERKc" -+.LASF405: -+ .string "_S_beg" -+.LASF428: -+ .string "eofbit" -+.LASF744: -+ .string "getchar" -+.LASF274: -+ .string "_ZNSs5eraseEmm" -+.LASF138: -+ .string "_ZNSs4_Rep10_M_refdataEv" -+.LASF288: -+ .string "_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc" -+.LASF115: -+ .string "const_iterator" -+.LASF379: -+ .string "_S_adjustfield" -+.LASF315: -+ .string "_ZNKSs5rfindERKSsm" -+.LASF487: -+ .string "ungetwc" -+.LASF361: -+ .string "initializer_list" -+.LASF324: -+ .string "find_last_of" -+.LASF630: -+ .string "int_least16_t" -+.LASF558: -+ .string "_ZN9__gnu_cxx3divExx" -+.LASF666: -+ .string "n_cs_precedes" -+.LASF571: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEmmEi" -+.LASF440: -+ .string "egptr" -+.LASF335: -+ .string "_ZNKSs16find_last_not_ofERKSsm" -+.LASF404: -+ .string "_Ios_Seekdir" -+.LASF570: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcSsEmmEv" -+.LASF352: -+ .string "_CharT" -+.LASF678: -+ .string "localeconv" -+.LASF105: -+ .string "reference" -+.LASF242: -+ .string "_ZNKSs4backEv" -+.LASF649: -+ .string "char16_t" -+.LASF766: -+ .string "__result" -+.LASF261: -+ .string "_ZNSs6assignEPKc" -+.LASF717: -+ .string "strtoull" -+.LASF454: -+ .string "basic_stringbuf, std::allocator >" -+.LASF282: -+ .string "_ZNSs7replaceEmmPKcm" -+.LASF784: -+ .string "main" -+.LASF222: -+ .string "shrink_to_fit" -+.LASF342: -+ .string "_ZNKSs7compareEmmRKSs" -+.LASF607: -+ .string "__exchange_and_add_single" -+.LASF425: -+ .string "floatfield" -+.LASF592: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEplERKl" -+.LASF168: -+ .string "_M_disjunct" -+.LASF584: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEdeEv" -+.LASF555: -+ .string "__is_signed" -+.LASF348: -+ .string "_ZNSs16_S_construct_auxIPcEES0_T_S1_RKSaIcESt12__false_type" -+.LASF42: -+ .string "unsigned int" -+.LASF634: -+ .string "uint_least16_t" -+.LASF177: -+ .string "_S_copy_chars" -+.LASF54: -+ .string "exception_ptr" -+.LASF227: -+ .string "_ZNSs7reserveEm" -+.LASF733: -+ .string "fflush" -+.LASF641: -+ .string "uint_fast8_t" -+.LASF383: -+ .string "_S_ios_fmtflags_max" -+.LASF53: -+ .string "_M_exception_object" -+.LASF389: -+ .string "_S_bin" -+.LASF358: -+ .string "initializer_list" -+.LASF619: -+ .string "short int" -+.LASF195: -+ .string "begin" -+.LASF670: -+ .string "int_p_cs_precedes" -+.LASF525: -+ .string "wcstoul" -+.LASF210: -+ .string "crbegin" -+.LASF18: -+ .string "_vtable_offset" -+.LASF127: -+ .string "_M_is_leaked" -+.LASF186: -+ .string "_M_leak_hard" -+.LASF258: -+ .string "_ZNSs6assignEOSs" -+.LASF802: -+ .string "__cxa_free_exception" -+.LASF810: -+ .string "npos" -+.LASF451: -+ .string "~basic_ios" -+.LASF601: -+ .string "__numeric_traits_floating" -+.LASF234: -+ .string "_ZNSsixEm" -+.LASF33: -+ .string "__va_list" -+.LASF637: -+ .string "int_fast8_t" -+.LASF108: -+ .string "~allocator" -+.LASF767: -+ .string "this" -+.LASF387: -+ .string "_S_app" -+.LASF76: -+ .string "bidirectional_iterator_tag" -+.LASF360: -+ .string "_M_len" -+.LASF319: -+ .string "find_first_of" -+ .hidden DW.ref.__gxx_personality_v0 -+ .weak DW.ref.__gxx_personality_v0 -+ .section .data.DW.ref.__gxx_personality_v0,"awG",%progbits,DW.ref.__gxx_personality_v0,comdat -+ .align 3 -+ .type DW.ref.__gxx_personality_v0, %object -+ .size DW.ref.__gxx_personality_v0, 8 -+DW.ref.__gxx_personality_v0: -+ .xword __gxx_personality_v0 -+ .ident "GCC: (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.4) 4.8.4" -+ .section .note.GNU-stack,"",%progbits -diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef-amd64.S -@@ -0,0 +1,15545 @@ -+/* -+ Copyright 2022 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* This file was generated from entry-value-typedef.cpp on an x86-64 Ubuntu -+ 20.04 using: -+ -+ $ g++ --version -+ g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 -+ $ g++ entry-value-typedef.cpp -O1 -S -g -o entry-value-typedef-amd64.S -+*/ -+ -+ .file "entry-value-typedef.cpp" -+ .text -+.Ltext0: -+ .type _ZL4funcRKi, @function -+_ZL4funcRKi: -+.LVL0: -+.LFB1646: -+ .file 1 "entry-value-typedef.cpp" -+ .loc 1 27 1 view -0 -+ .cfi_startproc -+ .cfi_personality 0x9b,DW.ref.__gxx_personality_v0 -+ .cfi_lsda 0x1b,.LLSDA1646 -+ .loc 1 27 1 is_stmt 0 view .LVU1 -+ pushq %rbp -+ .cfi_def_cfa_offset 16 -+ .cfi_offset 6, -16 -+ pushq %rbx -+ .cfi_def_cfa_offset 24 -+ .cfi_offset 3, -24 -+ subq $392, %rsp -+ .cfi_def_cfa_offset 416 -+ .loc 1 27 1 view .LVU2 -+ movq %fs:40, %rax -+ movq %rax, 376(%rsp) -+ xorl %eax, %eax -+ .loc 1 28 3 is_stmt 1 view .LVU3 -+ .loc 1 28 22 is_stmt 0 view .LVU4 -+ movq %rsp, %rdi -+.LVL1: -+.LEHB0: -+ .loc 1 28 22 view .LVU5 -+ call _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev@PLT -+.LVL2: -+.LEHE0: -+ .loc 1 29 3 is_stmt 1 view .LVU6 -+ .loc 1 29 18 is_stmt 0 view .LVU7 -+ movl $32, %edi -+ call __cxa_allocate_exception@PLT -+.LVL3: -+ movq %rax, %rbx -+.LVL4: -+.LBB403: -+.LBI403: -+ .file 2 "/usr/include/c++/9/sstream" -+ .loc 2 677 7 is_stmt 1 view .LVU8 -+.LBB404: -+ .loc 2 678 33 is_stmt 0 view .LVU9 -+ leaq 8(%rsp), %rsi -+ movq %rax, %rdi -+.LEHB1: -+ call _ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@PLT -+.LVL5: -+.LEHE1: -+ .loc 2 678 33 view .LVU10 -+.LBE404: -+.LBE403: -+ .loc 1 29 18 discriminator 2 view .LVU11 -+ movq _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@GOTPCREL(%rip), %rdx -+ leaq _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%rip), %rsi -+ movq %rbx, %rdi -+.LEHB2: -+ call __cxa_throw@PLT -+.LVL6: -+.LEHE2: -+.L6: -+ endbr64 -+ movq %rax, %rbx -+ jmp .L3 -+.LVL7: -+.L5: -+ .loc 1 29 18 discriminator 2 view .LVU12 -+ endbr64 -+ movq %rax, %rbp -+ .loc 1 29 18 view .LVU13 -+ movq %rbx, %rdi -+ call __cxa_free_exception@PLT -+.LVL8: -+ movq %rbp, %rbx -+.LVL9: -+.L3: -+ .loc 1 28 22 view .LVU14 -+ movq %rsp, %rdi -+ call _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@PLT -+.LVL10: -+ movq %rbx, %rdi -+.LEHB3: -+ call _Unwind_Resume@PLT -+.LVL11: -+.LEHE3: -+ .cfi_endproc -+.LFE1646: -+ .globl __gxx_personality_v0 -+ .section .gcc_except_table,"a",@progbits -+.LLSDA1646: -+ .byte 0xff -+ .byte 0xff -+ .byte 0x1 -+ .uleb128 .LLSDACSE1646-.LLSDACSB1646 -+.LLSDACSB1646: -+ .uleb128 .LEHB0-.LFB1646 -+ .uleb128 .LEHE0-.LEHB0 -+ .uleb128 0 -+ .uleb128 0 -+ .uleb128 .LEHB1-.LFB1646 -+ .uleb128 .LEHE1-.LEHB1 -+ .uleb128 .L5-.LFB1646 -+ .uleb128 0 -+ .uleb128 .LEHB2-.LFB1646 -+ .uleb128 .LEHE2-.LEHB2 -+ .uleb128 .L6-.LFB1646 -+ .uleb128 0 -+ .uleb128 .LEHB3-.LFB1646 -+ .uleb128 .LEHE3-.LEHB3 -+ .uleb128 0 -+ .uleb128 0 -+.LLSDACSE1646: -+ .text -+ .size _ZL4funcRKi, .-_ZL4funcRKi -+ .globl main -+ .type main, @function -+main: -+.LFB1647: -+ .loc 1 34 1 is_stmt 1 view -0 -+ .cfi_startproc -+ endbr64 -+ pushq %rax -+ .cfi_def_cfa_offset 16 -+ popq %rax -+ .cfi_def_cfa_offset 8 -+ subq $24, %rsp -+ .cfi_def_cfa_offset 32 -+ .loc 1 34 1 is_stmt 0 view .LVU16 -+ movq %fs:40, %rax -+ movq %rax, 8(%rsp) -+ xorl %eax, %eax -+ .loc 1 35 3 is_stmt 1 view .LVU17 -+ .loc 1 35 9 is_stmt 0 view .LVU18 -+ movl $1234, 4(%rsp) -+ .loc 1 35 8 view .LVU19 -+ leaq 4(%rsp), %rdi -+ call _ZL4funcRKi -+.LVL12: -+ .cfi_endproc -+.LFE1647: -+ .size main, .-main -+ .weak _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE -+ .section .rodata._ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,"aG",@progbits,_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,comdat -+ .align 32 -+ .type _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, @object -+ .size _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, 53 -+_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: -+ .string "NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE" -+ .weak _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE -+ .section .data.rel.ro._ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,"awG",@progbits,_ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,comdat -+ .align 8 -+ .type _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, @object -+ .size _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, 16 -+_ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: -+ .quad _ZTVN10__cxxabiv117__class_type_infoE+16 -+ .quad _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE -+ .text -+.Letext0: -+ .file 3 "/usr/include/c++/9/bits/basic_string.h" -+ .file 4 "/usr/include/c++/9/cwchar" -+ .file 5 "/usr/include/c++/9/new" -+ .file 6 "/usr/include/c++/9/bits/exception_ptr.h" -+ .file 7 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" -+ .file 8 "/usr/include/c++/9/type_traits" -+ .file 9 "/usr/include/c++/9/bits/stl_pair.h" -+ .file 10 "/usr/include/c++/9/debug/debug.h" -+ .file 11 "/usr/include/c++/9/bits/char_traits.h" -+ .file 12 "/usr/include/c++/9/cstdint" -+ .file 13 "/usr/include/c++/9/clocale" -+ .file 14 "/usr/include/c++/9/bits/allocator.h" -+ .file 15 "/usr/include/c++/9/cstdlib" -+ .file 16 "/usr/include/c++/9/cstdio" -+ .file 17 "/usr/include/c++/9/bits/alloc_traits.h" -+ .file 18 "/usr/include/c++/9/initializer_list" -+ .file 19 "/usr/include/c++/9/system_error" -+ .file 20 "/usr/include/c++/9/bits/ios_base.h" -+ .file 21 "/usr/include/c++/9/cwctype" -+ .file 22 "/usr/include/c++/9/ostream" -+ .file 23 "/usr/include/c++/9/streambuf" -+ .file 24 "/usr/include/c++/9/bits/stl_iterator_base_types.h" -+ .file 25 "/usr/include/c++/9/bits/ptr_traits.h" -+ .file 26 "/usr/include/c++/9/bits/cpp_type_traits.h" -+ .file 27 "/usr/include/c++/9/bits/move.h" -+ .file 28 "/usr/include/c++/9/bits/basic_ios.h" -+ .file 29 "/usr/include/c++/9/iosfwd" -+ .file 30 "/usr/include/c++/9/bits/predefined_ops.h" -+ .file 31 "/usr/include/c++/9/ext/new_allocator.h" -+ .file 32 "/usr/include/c++/9/ext/numeric_traits.h" -+ .file 33 "/usr/include/c++/9/ext/alloc_traits.h" -+ .file 34 "/usr/include/c++/9/bits/stl_iterator.h" -+ .file 35 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" -+ .file 36 "" -+ .file 37 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" -+ .file 38 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" -+ .file 39 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" -+ .file 40 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" -+ .file 41 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" -+ .file 42 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" -+ .file 43 "/usr/include/wchar.h" -+ .file 44 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" -+ .file 45 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" -+ .file 46 "/usr/include/x86_64-linux-gnu/bits/types.h" -+ .file 47 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" -+ .file 48 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h" -+ .file 49 "/usr/include/stdint.h" -+ .file 50 "/usr/include/locale.h" -+ .file 51 "/usr/include/time.h" -+ .file 52 "/usr/include/stdlib.h" -+ .file 53 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" -+ .file 54 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h" -+ .file 55 "/usr/include/x86_64-linux-gnu/bits/stdlib.h" -+ .file 56 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" -+ .file 57 "/usr/include/stdio.h" -+ .file 58 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" -+ .file 59 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" -+ .file 60 "/usr/include/x86_64-linux-gnu/bits/stdio.h" -+ .file 61 "/usr/include/errno.h" -+ .file 62 "/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h" -+ .file 63 "/usr/include/wctype.h" -+ .section .debug_info,"",@progbits -+.Ldebug_info0: -+ .long 0x60f4 -+ .value 0x4 -+ .long .Ldebug_abbrev0 -+ .byte 0x8 -+ .uleb128 0x5c -+ .long .LASF920 -+ .byte 0x4 -+ .long .LASF921 -+ .long .LASF922 -+ .quad .Ltext0 -+ .quad .Letext0-.Ltext0 -+ .long .Ldebug_line0 -+ .uleb128 0x5d -+ .string "std" -+ .byte 0x24 -+ .byte 0 -+ .long 0x2e67 -+ .uleb128 0x46 -+ .long .LASF369 -+ .byte 0x7 -+ .value 0x118 -+ .byte 0x41 -+ .long 0x1c15 -+ .uleb128 0x30 -+ .long .LASF267 -+ .byte 0x20 -+ .byte 0x3 -+ .byte 0x51 -+ .byte 0xb -+ .long 0x1ace -+ .uleb128 0x13 -+ .long .LASF0 -+ .byte 0x8 -+ .byte 0x3 -+ .byte 0x9a -+ .byte 0xe -+ .long 0xd3 -+ .uleb128 0x47 -+ .long 0x250f -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF0 -+ .byte 0x3 -+ .byte 0xa0 -+ .byte 0x2 -+ .long .LASF1 -+ .long 0x79 -+ .long 0x89 -+ .uleb128 0x2 -+ .long 0x50ef -+ .uleb128 0x1 -+ .long 0xd3 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF0 -+ .byte 0x3 -+ .byte 0xa3 -+ .byte 0x2 -+ .long .LASF2 -+ .long 0x9d -+ .long 0xad -+ .uleb128 0x2 -+ .long 0x50ef -+ .uleb128 0x1 -+ .long 0xd3 -+ .uleb128 0x1 -+ .long 0x50fa -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF7 -+ .byte 0x3 -+ .byte 0xa7 -+ .byte 0xa -+ .long 0xd3 -+ .byte 0 -+ .uleb128 0x5e -+ .long .LASF923 -+ .long .LASF924 -+ .long 0xc7 -+ .uleb128 0x2 -+ .long 0x50ef -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF5 -+ .byte 0x3 -+ .byte 0x60 -+ .byte 0x30 -+ .long 0x318c -+ .byte 0x1 -+ .uleb128 0x5f -+ .byte 0x7 -+ .byte 0x4 -+ .long 0x3970 -+ .byte 0x3 -+ .byte 0xad -+ .byte 0xc -+ .long 0xf5 -+ .uleb128 0x23 -+ .long .LASF372 -+ .byte 0xf -+ .byte 0 -+ .uleb128 0x48 -+ .byte 0x10 -+ .byte 0x3 -+ .byte 0xb0 -+ .byte 0x7 -+ .long 0x117 -+ .uleb128 0x37 -+ .long .LASF3 -+ .byte 0x3 -+ .byte 0xb1 -+ .byte 0x13 -+ .long 0x5100 -+ .uleb128 0x37 -+ .long .LASF4 -+ .byte 0x3 -+ .byte 0xb2 -+ .byte 0x13 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF6 -+ .byte 0x3 -+ .byte 0x5c -+ .byte 0x32 -+ .long 0x31a4 -+ .byte 0x1 -+ .uleb128 0xa -+ .long 0x117 -+ .uleb128 0x60 -+ .long .LASF296 -+ .byte 0x3 -+ .byte 0x69 -+ .byte 0x1e -+ .long 0x124 -+ .byte 0x1 -+ .uleb128 0x6 -+ .long .LASF8 -+ .byte 0x3 -+ .byte 0xaa -+ .byte 0x14 -+ .long 0x52 -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF9 -+ .byte 0x3 -+ .byte 0xab -+ .byte 0x12 -+ .long 0x117 -+ .byte 0x8 -+ .uleb128 0x61 -+ .long 0xf5 -+ .byte 0x10 -+ .uleb128 0x20 -+ .long .LASF10 -+ .byte 0x3 -+ .byte 0xb6 -+ .byte 0x7 -+ .long .LASF11 -+ .long 0x16a -+ .long 0x175 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0xd3 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF12 -+ .byte 0x3 -+ .byte 0xba -+ .byte 0x7 -+ .long .LASF13 -+ .long 0x189 -+ .long 0x194 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF10 -+ .byte 0x3 -+ .byte 0xbe -+ .byte 0x7 -+ .long .LASF15 -+ .long 0xd3 -+ .long 0x1ac -+ .long 0x1b2 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF14 -+ .byte 0x3 -+ .byte 0xc2 -+ .byte 0x7 -+ .long .LASF16 -+ .long 0xd3 -+ .long 0x1ca -+ .long 0x1d0 -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF17 -+ .byte 0x3 -+ .byte 0x61 -+ .byte 0x35 -+ .long 0x3198 -+ .byte 0x1 -+ .uleb128 0x22 -+ .long .LASF14 -+ .byte 0x3 -+ .byte 0xcc -+ .byte 0x7 -+ .long .LASF18 -+ .long 0x1d0 -+ .long 0x1f5 -+ .long 0x1fb -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF19 -+ .byte 0x3 -+ .byte 0xd6 -+ .byte 0x7 -+ .long .LASF20 -+ .long 0x20f -+ .long 0x21a -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF21 -+ .byte 0x3 -+ .byte 0xda -+ .byte 0x7 -+ .long .LASF22 -+ .long 0x22e -+ .long 0x239 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF23 -+ .byte 0x3 -+ .byte 0xe1 -+ .byte 0x7 -+ .long .LASF24 -+ .long 0x448e -+ .long 0x251 -+ .long 0x257 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF25 -+ .byte 0x3 -+ .byte 0xe6 -+ .byte 0x7 -+ .long .LASF26 -+ .long 0xd3 -+ .long 0x26f -+ .long 0x27f -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5126 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF27 -+ .byte 0x3 -+ .byte 0xe9 -+ .byte 0x7 -+ .long .LASF28 -+ .long 0x293 -+ .long 0x299 -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF29 -+ .byte 0x3 -+ .byte 0xf0 -+ .byte 0x7 -+ .long .LASF30 -+ .long 0x2ad -+ .long 0x2b8 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x2b -+ .long .LASF31 -+ .byte 0x3 -+ .value 0x106 -+ .byte 0x7 -+ .long .LASF33 -+ .long 0x2cd -+ .long 0x2dd -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x2b -+ .long .LASF32 -+ .byte 0x3 -+ .value 0x11f -+ .byte 0x7 -+ .long .LASF34 -+ .long 0x2f2 -+ .long 0x302 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF35 -+ .byte 0x3 -+ .byte 0x5b -+ .byte 0x23 -+ .long 0x314 -+ .byte 0x1 -+ .uleb128 0xa -+ .long 0x302 -+ .uleb128 0x5 -+ .long .LASF293 -+ .byte 0x3 -+ .byte 0x54 -+ .byte 0x18 -+ .long 0x31d5 -+ .uleb128 0x27 -+ .long .LASF36 -+ .byte 0x3 -+ .value 0x122 -+ .byte 0x7 -+ .long .LASF37 -+ .long 0x512c -+ .long 0x339 -+ .long 0x33f -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF36 -+ .byte 0x3 -+ .value 0x126 -+ .byte 0x7 -+ .long .LASF38 -+ .long 0x5132 -+ .long 0x358 -+ .long 0x35e -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF39 -+ .byte 0x3 -+ .value 0x13a -+ .byte 0x7 -+ .long .LASF40 -+ .long 0x117 -+ .long 0x377 -+ .long 0x387 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x2b -+ .long .LASF41 -+ .byte 0x3 -+ .value 0x144 -+ .byte 0x7 -+ .long .LASF42 -+ .long 0x39c -+ .long 0x3b1 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF43 -+ .byte 0x3 -+ .value 0x14d -+ .byte 0x7 -+ .long .LASF44 -+ .long 0x117 -+ .long 0x3ca -+ .long 0x3da -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF45 -+ .byte 0x3 -+ .value 0x155 -+ .byte 0x7 -+ .long .LASF46 -+ .long 0x448e -+ .long 0x3f3 -+ .long 0x3fe -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x24 -+ .long .LASF47 -+ .byte 0x3 -+ .value 0x15e -+ .byte 0x7 -+ .long .LASF49 -+ .long 0x41f -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x24 -+ .long .LASF48 -+ .byte 0x3 -+ .value 0x167 -+ .byte 0x7 -+ .long .LASF50 -+ .long 0x440 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x24 -+ .long .LASF51 -+ .byte 0x3 -+ .value 0x170 -+ .byte 0x7 -+ .long .LASF52 -+ .long 0x461 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x24 -+ .long .LASF53 -+ .byte 0x3 -+ .value 0x183 -+ .byte 0x7 -+ .long .LASF54 -+ .long 0x482 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x482 -+ .uleb128 0x1 -+ .long 0x482 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF55 -+ .byte 0x3 -+ .byte 0x62 -+ .byte 0x44 -+ .long 0x31f5 -+ .byte 0x1 -+ .uleb128 0x24 -+ .long .LASF53 -+ .byte 0x3 -+ .value 0x187 -+ .byte 0x7 -+ .long .LASF56 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF57 -+ .byte 0x3 -+ .byte 0x64 -+ .byte 0x8 -+ .long 0x3434 -+ .byte 0x1 -+ .uleb128 0x24 -+ .long .LASF53 -+ .byte 0x3 -+ .value 0x18c -+ .byte 0x7 -+ .long .LASF58 -+ .long 0x4de -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x24 -+ .long .LASF53 -+ .byte 0x3 -+ .value 0x190 -+ .byte 0x7 -+ .long .LASF59 -+ .long 0x4ff -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF60 -+ .byte 0x3 -+ .value 0x195 -+ .byte 0x7 -+ .long .LASF61 -+ .long 0x39eb -+ .long 0x51f -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x2b -+ .long .LASF62 -+ .byte 0x3 -+ .value 0x1a2 -+ .byte 0x7 -+ .long .LASF63 -+ .long 0x534 -+ .long 0x53f -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x2b -+ .long .LASF64 -+ .byte 0x3 -+ .value 0x1a5 -+ .byte 0x7 -+ .long .LASF65 -+ .long 0x554 -+ .long 0x56e -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x2b -+ .long .LASF66 -+ .byte 0x3 -+ .value 0x1a9 -+ .byte 0x7 -+ .long .LASF67 -+ .long 0x583 -+ .long 0x593 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x1b3 -+ .byte 0x7 -+ .long .LASF69 -+ .byte 0x1 -+ .long 0x5a9 -+ .long 0x5af -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x3e -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x1bc -+ .byte 0x7 -+ .long .LASF84 -+ .byte 0x1 -+ .long 0x5c5 -+ .long 0x5d0 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x1c4 -+ .byte 0x7 -+ .long .LASF70 -+ .byte 0x1 -+ .long 0x5e6 -+ .long 0x5f1 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x1d1 -+ .byte 0x7 -+ .long .LASF71 -+ .byte 0x1 -+ .long 0x607 -+ .long 0x61c -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x1e0 -+ .byte 0x7 -+ .long .LASF72 -+ .byte 0x1 -+ .long 0x632 -+ .long 0x647 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x1f0 -+ .byte 0x7 -+ .long .LASF73 -+ .byte 0x1 -+ .long 0x65d -+ .long 0x677 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x202 -+ .byte 0x7 -+ .long .LASF74 -+ .byte 0x1 -+ .long 0x68d -+ .long 0x6a2 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x211 -+ .byte 0x7 -+ .long .LASF75 -+ .byte 0x1 -+ .long 0x6b8 -+ .long 0x6c8 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x220 -+ .byte 0x7 -+ .long .LASF76 -+ .byte 0x1 -+ .long 0x6de -+ .long 0x6f3 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x22c -+ .byte 0x7 -+ .long .LASF77 -+ .byte 0x1 -+ .long 0x709 -+ .long 0x714 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x513e -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x247 -+ .byte 0x7 -+ .long .LASF78 -+ .byte 0x1 -+ .long 0x72a -+ .long 0x73a -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x2891 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x24b -+ .byte 0x7 -+ .long .LASF79 -+ .byte 0x1 -+ .long 0x750 -+ .long 0x760 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF68 -+ .byte 0x3 -+ .value 0x24f -+ .byte 0x7 -+ .long .LASF80 -+ .byte 0x1 -+ .long 0x776 -+ .long 0x786 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x513e -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF81 -+ .byte 0x3 -+ .value 0x295 -+ .byte 0x7 -+ .long .LASF82 -+ .byte 0x1 -+ .long 0x79c -+ .long 0x7a7 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF83 -+ .byte 0x3 -+ .value 0x29d -+ .byte 0x7 -+ .long .LASF85 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x7c1 -+ .long 0x7cc -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF83 -+ .byte 0x3 -+ .value 0x2c4 -+ .byte 0x7 -+ .long .LASF86 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x7e6 -+ .long 0x7f1 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF83 -+ .byte 0x3 -+ .value 0x2cf -+ .byte 0x7 -+ .long .LASF87 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x80b -+ .long 0x816 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF83 -+ .byte 0x3 -+ .value 0x2e0 -+ .byte 0x7 -+ .long .LASF88 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x830 -+ .long 0x83b -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x513e -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF83 -+ .byte 0x3 -+ .value 0x31f -+ .byte 0x7 -+ .long .LASF89 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x855 -+ .long 0x860 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x2891 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF90 -+ .byte 0x3 -+ .value 0x33e -+ .byte 0x7 -+ .long .LASF91 -+ .long 0x482 -+ .byte 0x1 -+ .long 0x87a -+ .long 0x880 -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF90 -+ .byte 0x3 -+ .value 0x346 -+ .byte 0x7 -+ .long .LASF92 -+ .long 0x4b0 -+ .byte 0x1 -+ .long 0x89a -+ .long 0x8a0 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x31 -+ .string "end" -+ .byte 0x3 -+ .value 0x34e -+ .byte 0x7 -+ .long .LASF93 -+ .long 0x482 -+ .byte 0x1 -+ .long 0x8ba -+ .long 0x8c0 -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x31 -+ .string "end" -+ .byte 0x3 -+ .value 0x356 -+ .byte 0x7 -+ .long .LASF94 -+ .long 0x4b0 -+ .byte 0x1 -+ .long 0x8da -+ .long 0x8e0 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF95 -+ .byte 0x3 -+ .byte 0x66 -+ .byte 0x30 -+ .long 0x2989 -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF96 -+ .byte 0x3 -+ .value 0x35f -+ .byte 0x7 -+ .long .LASF97 -+ .long 0x8e0 -+ .byte 0x1 -+ .long 0x907 -+ .long 0x90d -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF98 -+ .byte 0x3 -+ .byte 0x65 -+ .byte 0x35 -+ .long 0x298e -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF96 -+ .byte 0x3 -+ .value 0x368 -+ .byte 0x7 -+ .long .LASF99 -+ .long 0x90d -+ .byte 0x1 -+ .long 0x934 -+ .long 0x93a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF100 -+ .byte 0x3 -+ .value 0x371 -+ .byte 0x7 -+ .long .LASF101 -+ .long 0x8e0 -+ .byte 0x1 -+ .long 0x954 -+ .long 0x95a -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF100 -+ .byte 0x3 -+ .value 0x37a -+ .byte 0x7 -+ .long .LASF102 -+ .long 0x90d -+ .byte 0x1 -+ .long 0x974 -+ .long 0x97a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF103 -+ .byte 0x3 -+ .value 0x383 -+ .byte 0x7 -+ .long .LASF104 -+ .long 0x4b0 -+ .byte 0x1 -+ .long 0x994 -+ .long 0x99a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF105 -+ .byte 0x3 -+ .value 0x38b -+ .byte 0x7 -+ .long .LASF106 -+ .long 0x4b0 -+ .byte 0x1 -+ .long 0x9b4 -+ .long 0x9ba -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF107 -+ .byte 0x3 -+ .value 0x394 -+ .byte 0x7 -+ .long .LASF108 -+ .long 0x90d -+ .byte 0x1 -+ .long 0x9d4 -+ .long 0x9da -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF109 -+ .byte 0x3 -+ .value 0x39d -+ .byte 0x7 -+ .long .LASF110 -+ .long 0x90d -+ .byte 0x1 -+ .long 0x9f4 -+ .long 0x9fa -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF111 -+ .byte 0x3 -+ .value 0x3a6 -+ .byte 0x7 -+ .long .LASF112 -+ .long 0x117 -+ .byte 0x1 -+ .long 0xa14 -+ .long 0xa1a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF113 -+ .byte 0x3 -+ .value 0x3ac -+ .byte 0x7 -+ .long .LASF114 -+ .long 0x117 -+ .byte 0x1 -+ .long 0xa34 -+ .long 0xa3a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF115 -+ .byte 0x3 -+ .value 0x3b1 -+ .byte 0x7 -+ .long .LASF116 -+ .long 0x117 -+ .byte 0x1 -+ .long 0xa54 -+ .long 0xa5a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF117 -+ .byte 0x3 -+ .value 0x3bf -+ .byte 0x7 -+ .long .LASF118 -+ .byte 0x1 -+ .long 0xa70 -+ .long 0xa80 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF117 -+ .byte 0x3 -+ .value 0x3cc -+ .byte 0x7 -+ .long .LASF119 -+ .byte 0x1 -+ .long 0xa96 -+ .long 0xaa1 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF120 -+ .byte 0x3 -+ .value 0x3d2 -+ .byte 0x7 -+ .long .LASF121 -+ .byte 0x1 -+ .long 0xab7 -+ .long 0xabd -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF122 -+ .byte 0x3 -+ .value 0x3e5 -+ .byte 0x7 -+ .long .LASF123 -+ .long 0x117 -+ .byte 0x1 -+ .long 0xad7 -+ .long 0xadd -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF124 -+ .byte 0x3 -+ .value 0x3fd -+ .byte 0x7 -+ .long .LASF125 -+ .byte 0x1 -+ .long 0xaf3 -+ .long 0xafe -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF126 -+ .byte 0x3 -+ .value 0x403 -+ .byte 0x7 -+ .long .LASF127 -+ .byte 0x1 -+ .long 0xb14 -+ .long 0xb1a -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF128 -+ .byte 0x3 -+ .value 0x40b -+ .byte 0x7 -+ .long .LASF129 -+ .long 0x448e -+ .byte 0x1 -+ .long 0xb34 -+ .long 0xb3a -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF130 -+ .byte 0x3 -+ .byte 0x5f -+ .byte 0x37 -+ .long 0x31bc -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF131 -+ .byte 0x3 -+ .value 0x41a -+ .byte 0x7 -+ .long .LASF132 -+ .long 0xb3a -+ .byte 0x1 -+ .long 0xb61 -+ .long 0xb6c -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF133 -+ .byte 0x3 -+ .byte 0x5e -+ .byte 0x32 -+ .long 0x31b0 -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF131 -+ .byte 0x3 -+ .value 0x42b -+ .byte 0x7 -+ .long .LASF134 -+ .long 0xb6c -+ .byte 0x1 -+ .long 0xb93 -+ .long 0xb9e -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x31 -+ .string "at" -+ .byte 0x3 -+ .value 0x440 -+ .byte 0x7 -+ .long .LASF135 -+ .long 0xb3a -+ .byte 0x1 -+ .long 0xbb7 -+ .long 0xbc2 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x31 -+ .string "at" -+ .byte 0x3 -+ .value 0x455 -+ .byte 0x7 -+ .long .LASF136 -+ .long 0xb6c -+ .byte 0x1 -+ .long 0xbdb -+ .long 0xbe6 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF137 -+ .byte 0x3 -+ .value 0x465 -+ .byte 0x7 -+ .long .LASF138 -+ .long 0xb6c -+ .byte 0x1 -+ .long 0xc00 -+ .long 0xc06 -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF137 -+ .byte 0x3 -+ .value 0x470 -+ .byte 0x7 -+ .long .LASF139 -+ .long 0xb3a -+ .byte 0x1 -+ .long 0xc20 -+ .long 0xc26 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF140 -+ .byte 0x3 -+ .value 0x47b -+ .byte 0x7 -+ .long .LASF141 -+ .long 0xb6c -+ .byte 0x1 -+ .long 0xc40 -+ .long 0xc46 -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF140 -+ .byte 0x3 -+ .value 0x486 -+ .byte 0x7 -+ .long .LASF142 -+ .long 0xb3a -+ .byte 0x1 -+ .long 0xc60 -+ .long 0xc66 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF143 -+ .byte 0x3 -+ .value 0x494 -+ .byte 0x7 -+ .long .LASF144 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xc80 -+ .long 0xc8b -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF143 -+ .byte 0x3 -+ .value 0x49d -+ .byte 0x7 -+ .long .LASF145 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xca5 -+ .long 0xcb0 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF143 -+ .byte 0x3 -+ .value 0x4a6 -+ .byte 0x7 -+ .long .LASF146 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xcca -+ .long 0xcd5 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF143 -+ .byte 0x3 -+ .value 0x4b3 -+ .byte 0x7 -+ .long .LASF147 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xcef -+ .long 0xcfa -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x2891 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF148 -+ .byte 0x3 -+ .value 0x4c9 -+ .byte 0x7 -+ .long .LASF149 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xd14 -+ .long 0xd1f -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF148 -+ .byte 0x3 -+ .value 0x4da -+ .byte 0x7 -+ .long .LASF150 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xd39 -+ .long 0xd4e -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF148 -+ .byte 0x3 -+ .value 0x4e6 -+ .byte 0x7 -+ .long .LASF151 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xd68 -+ .long 0xd78 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF148 -+ .byte 0x3 -+ .value 0x4f3 -+ .byte 0x7 -+ .long .LASF152 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xd92 -+ .long 0xd9d -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF148 -+ .byte 0x3 -+ .value 0x504 -+ .byte 0x7 -+ .long .LASF153 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xdb7 -+ .long 0xdc7 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF148 -+ .byte 0x3 -+ .value 0x50e -+ .byte 0x7 -+ .long .LASF154 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xde1 -+ .long 0xdec -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x2891 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF155 -+ .byte 0x3 -+ .value 0x549 -+ .byte 0x7 -+ .long .LASF156 -+ .byte 0x1 -+ .long 0xe02 -+ .long 0xe0d -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x558 -+ .byte 0x7 -+ .long .LASF158 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xe27 -+ .long 0xe32 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x568 -+ .byte 0x7 -+ .long .LASF159 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xe4c -+ .long 0xe57 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x513e -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x57f -+ .byte 0x7 -+ .long .LASF160 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xe71 -+ .long 0xe86 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x58f -+ .byte 0x7 -+ .long .LASF161 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xea0 -+ .long 0xeb0 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x59f -+ .byte 0x7 -+ .long .LASF162 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xeca -+ .long 0xed5 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x5b0 -+ .byte 0x7 -+ .long .LASF163 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xeef -+ .long 0xeff -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF157 -+ .byte 0x3 -+ .value 0x5cc -+ .byte 0x7 -+ .long .LASF164 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xf19 -+ .long 0xf24 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x2891 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x602 -+ .byte 0x7 -+ .long .LASF166 -+ .long 0x482 -+ .byte 0x1 -+ .long 0xf3e -+ .long 0xf53 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x650 -+ .byte 0x7 -+ .long .LASF167 -+ .long 0x482 -+ .byte 0x1 -+ .long 0xf6d -+ .long 0xf7d -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x2891 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x66b -+ .byte 0x7 -+ .long .LASF168 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xf97 -+ .long 0xfa7 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x682 -+ .byte 0x7 -+ .long .LASF169 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xfc1 -+ .long 0xfdb -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x699 -+ .byte 0x7 -+ .long .LASF170 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0xff5 -+ .long 0x100a -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x6ac -+ .byte 0x7 -+ .long .LASF171 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1024 -+ .long 0x1034 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x6c4 -+ .byte 0x7 -+ .long .LASF172 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x104e -+ .long 0x1063 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF165 -+ .byte 0x3 -+ .value 0x6d6 -+ .byte 0x7 -+ .long .LASF173 -+ .long 0x482 -+ .byte 0x1 -+ .long 0x107d -+ .long 0x108d -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF174 -+ .byte 0x3 -+ .byte 0x70 -+ .byte 0x1e -+ .long 0x4b0 -+ .byte 0x2 -+ .uleb128 0x4 -+ .long .LASF175 -+ .byte 0x3 -+ .value 0x713 -+ .byte 0x7 -+ .long .LASF176 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x10b4 -+ .long 0x10c4 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF175 -+ .byte 0x3 -+ .value 0x726 -+ .byte 0x7 -+ .long .LASF177 -+ .long 0x482 -+ .byte 0x1 -+ .long 0x10de -+ .long 0x10e9 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF175 -+ .byte 0x3 -+ .value 0x739 -+ .byte 0x7 -+ .long .LASF178 -+ .long 0x482 -+ .byte 0x1 -+ .long 0x1103 -+ .long 0x1113 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF179 -+ .byte 0x3 -+ .value 0x74c -+ .byte 0x7 -+ .long .LASF180 -+ .byte 0x1 -+ .long 0x1129 -+ .long 0x112f -+ .uleb128 0x2 -+ .long 0x5110 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x765 -+ .byte 0x7 -+ .long .LASF182 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1149 -+ .long 0x115e -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x77b -+ .byte 0x7 -+ .long .LASF183 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1178 -+ .long 0x1197 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x794 -+ .byte 0x7 -+ .long .LASF184 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x11b1 -+ .long 0x11cb -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x7ad -+ .byte 0x7 -+ .long .LASF185 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x11e5 -+ .long 0x11fa -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x7c5 -+ .byte 0x7 -+ .long .LASF186 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1214 -+ .long 0x122e -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x7d7 -+ .byte 0x7 -+ .long .LASF187 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1248 -+ .long 0x125d -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x7eb -+ .byte 0x7 -+ .long .LASF188 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1277 -+ .long 0x1291 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x801 -+ .byte 0x7 -+ .long .LASF189 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x12ab -+ .long 0x12c0 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x816 -+ .byte 0x7 -+ .long .LASF190 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x12da -+ .long 0x12f4 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x84f -+ .byte 0x7 -+ .long .LASF191 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x130e -+ .long 0x1328 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x85a -+ .byte 0x7 -+ .long .LASF192 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1342 -+ .long 0x135c -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x865 -+ .byte 0x7 -+ .long .LASF193 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1376 -+ .long 0x1390 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x482 -+ .uleb128 0x1 -+ .long 0x482 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x870 -+ .byte 0x7 -+ .long .LASF194 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x13aa -+ .long 0x13c4 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x108d -+ .uleb128 0x1 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF181 -+ .byte 0x3 -+ .value 0x889 -+ .byte 0x15 -+ .long .LASF195 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x13de -+ .long 0x13f3 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x4b0 -+ .uleb128 0x1 -+ .long 0x2891 -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF196 -+ .byte 0x3 -+ .value 0x8d3 -+ .byte 0x7 -+ .long .LASF197 -+ .long 0x5144 -+ .long 0x140c -+ .long 0x1426 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF198 -+ .byte 0x3 -+ .value 0x8d7 -+ .byte 0x7 -+ .long .LASF199 -+ .long 0x5144 -+ .long 0x143f -+ .long 0x1459 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x27 -+ .long .LASF200 -+ .byte 0x3 -+ .value 0x8db -+ .byte 0x7 -+ .long .LASF201 -+ .long 0x5144 -+ .long 0x1472 -+ .long 0x1482 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF202 -+ .byte 0x3 -+ .value 0x8ec -+ .byte 0x7 -+ .long .LASF203 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x149c -+ .long 0x14b1 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF204 -+ .byte 0x3 -+ .value 0x8f6 -+ .byte 0x7 -+ .long .LASF205 -+ .byte 0x1 -+ .long 0x14c7 -+ .long 0x14d2 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x5144 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF206 -+ .byte 0x3 -+ .value 0x900 -+ .byte 0x7 -+ .long .LASF207 -+ .long 0x3bba -+ .byte 0x1 -+ .long 0x14ec -+ .long 0x14f2 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF208 -+ .byte 0x3 -+ .value 0x90c -+ .byte 0x7 -+ .long .LASF209 -+ .long 0x3bba -+ .byte 0x1 -+ .long 0x150c -+ .long 0x1512 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF210 -+ .byte 0x3 -+ .value 0x91f -+ .byte 0x7 -+ .long .LASF211 -+ .long 0x302 -+ .byte 0x1 -+ .long 0x152c -+ .long 0x1532 -+ .uleb128 0x2 -+ .long 0x511b -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF212 -+ .byte 0x3 -+ .value 0x92f -+ .byte 0x7 -+ .long .LASF213 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x154c -+ .long 0x1561 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF212 -+ .byte 0x3 -+ .value 0x93d -+ .byte 0x7 -+ .long .LASF214 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x157b -+ .long 0x158b -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF212 -+ .byte 0x3 -+ .value 0x95d -+ .byte 0x7 -+ .long .LASF215 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x15a5 -+ .long 0x15b5 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF212 -+ .byte 0x3 -+ .value 0x96e -+ .byte 0x7 -+ .long .LASF216 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x15cf -+ .long 0x15df -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF217 -+ .byte 0x3 -+ .value 0x97b -+ .byte 0x7 -+ .long .LASF218 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x15f9 -+ .long 0x1609 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF217 -+ .byte 0x3 -+ .value 0x99d -+ .byte 0x7 -+ .long .LASF219 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1623 -+ .long 0x1638 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF217 -+ .byte 0x3 -+ .value 0x9ab -+ .byte 0x7 -+ .long .LASF220 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1652 -+ .long 0x1662 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF217 -+ .byte 0x3 -+ .value 0x9bc -+ .byte 0x7 -+ .long .LASF221 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x167c -+ .long 0x168c -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF222 -+ .byte 0x3 -+ .value 0x9ca -+ .byte 0x7 -+ .long .LASF223 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x16a6 -+ .long 0x16b6 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF222 -+ .byte 0x3 -+ .value 0x9ed -+ .byte 0x7 -+ .long .LASF224 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x16d0 -+ .long 0x16e5 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF222 -+ .byte 0x3 -+ .value 0x9fb -+ .byte 0x7 -+ .long .LASF225 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x16ff -+ .long 0x170f -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF222 -+ .byte 0x3 -+ .value 0xa0f -+ .byte 0x7 -+ .long .LASF226 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1729 -+ .long 0x1739 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF227 -+ .byte 0x3 -+ .value 0xa1e -+ .byte 0x7 -+ .long .LASF228 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1753 -+ .long 0x1763 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF227 -+ .byte 0x3 -+ .value 0xa41 -+ .byte 0x7 -+ .long .LASF229 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x177d -+ .long 0x1792 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF227 -+ .byte 0x3 -+ .value 0xa4f -+ .byte 0x7 -+ .long .LASF230 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x17ac -+ .long 0x17bc -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF227 -+ .byte 0x3 -+ .value 0xa63 -+ .byte 0x7 -+ .long .LASF231 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x17d6 -+ .long 0x17e6 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF232 -+ .byte 0x3 -+ .value 0xa71 -+ .byte 0x7 -+ .long .LASF233 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1800 -+ .long 0x1810 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF232 -+ .byte 0x3 -+ .value 0xa94 -+ .byte 0x7 -+ .long .LASF234 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x182a -+ .long 0x183f -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF232 -+ .byte 0x3 -+ .value 0xaa2 -+ .byte 0x7 -+ .long .LASF235 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1859 -+ .long 0x1869 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF232 -+ .byte 0x3 -+ .value 0xab4 -+ .byte 0x7 -+ .long .LASF236 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1883 -+ .long 0x1893 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF237 -+ .byte 0x3 -+ .value 0xac3 -+ .byte 0x7 -+ .long .LASF238 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x18ad -+ .long 0x18bd -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF237 -+ .byte 0x3 -+ .value 0xae6 -+ .byte 0x7 -+ .long .LASF239 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x18d7 -+ .long 0x18ec -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF237 -+ .byte 0x3 -+ .value 0xaf4 -+ .byte 0x7 -+ .long .LASF240 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1906 -+ .long 0x1916 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF237 -+ .byte 0x3 -+ .value 0xb06 -+ .byte 0x7 -+ .long .LASF241 -+ .long 0x117 -+ .byte 0x1 -+ .long 0x1930 -+ .long 0x1940 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF242 -+ .byte 0x3 -+ .value 0xb16 -+ .byte 0x7 -+ .long .LASF243 -+ .long 0x45 -+ .byte 0x1 -+ .long 0x195a -+ .long 0x196a -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF244 -+ .byte 0x3 -+ .value 0xb29 -+ .byte 0x7 -+ .long .LASF245 -+ .long 0x39eb -+ .byte 0x1 -+ .long 0x1984 -+ .long 0x198f -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF244 -+ .byte 0x3 -+ .value 0xb86 -+ .byte 0x7 -+ .long .LASF246 -+ .long 0x39eb -+ .byte 0x1 -+ .long 0x19a9 -+ .long 0x19be -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF244 -+ .byte 0x3 -+ .value 0xba0 -+ .byte 0x7 -+ .long .LASF247 -+ .long 0x39eb -+ .byte 0x1 -+ .long 0x19d8 -+ .long 0x19f7 -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x5138 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF244 -+ .byte 0x3 -+ .value 0xbb2 -+ .byte 0x7 -+ .long .LASF248 -+ .long 0x39eb -+ .byte 0x1 -+ .long 0x1a11 -+ .long 0x1a1c -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF244 -+ .byte 0x3 -+ .value 0xbca -+ .byte 0x7 -+ .long .LASF249 -+ .long 0x39eb -+ .byte 0x1 -+ .long 0x1a36 -+ .long 0x1a4b -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF244 -+ .byte 0x3 -+ .value 0xbe5 -+ .byte 0x7 -+ .long .LASF250 -+ .long 0x39eb -+ .byte 0x1 -+ .long 0x1a65 -+ .long 0x1a7f -+ .uleb128 0x2 -+ .long 0x511b -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x117 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF251 -+ .byte 0x3 -+ .value 0x5c2 -+ .byte 0x9 -+ .long .LASF252 -+ .long 0x5144 -+ .byte 0x1 -+ .long 0x1aa2 -+ .long 0x1ab2 -+ .uleb128 0xc -+ .long .LASF253 -+ .long 0x3f04 -+ .uleb128 0x2 -+ .long 0x5110 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .uleb128 0x25 -+ .long .LASF255 -+ .long 0x221e -+ .uleb128 0x25 -+ .long .LASF256 -+ .long 0x250f -+ .byte 0 -+ .uleb128 0xa -+ .long 0x45 -+ .uleb128 0x2c -+ .long .LASF260 -+ .long 0x1b66 -+ .uleb128 0x15 -+ .long .LASF257 -+ .byte 0x2 -+ .byte 0x50 -+ .byte 0x39 -+ .long 0x45 -+ .byte 0x1 -+ .uleb128 0x49 -+ .string "str" -+ .byte 0x2 -+ .byte 0xb2 -+ .byte 0x7 -+ .long .LASF364 -+ .long 0x1adc -+ .byte 0x1 -+ .long 0x1b02 -+ .long 0x1b08 -+ .uleb128 0x2 -+ .long 0x595b -+ .byte 0 -+ .uleb128 0x62 -+ .long .LASF258 -+ .byte 0x2 -+ .byte 0x6f -+ .byte 0x7 -+ .long .LASF281 -+ .byte 0x1 -+ .long 0x1b1d -+ .long 0x1b28 -+ .uleb128 0x2 -+ .long 0x51d6 -+ .uleb128 0x1 -+ .long 0x2a28 -+ .byte 0 -+ .uleb128 0x63 -+ .long .LASF259 -+ .long .LASF925 -+ .byte 0x1 -+ .long 0x1ad3 -+ .byte 0x1 -+ .long 0x1b3f -+ .long 0x1b4a -+ .uleb128 0x2 -+ .long 0x51d6 -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .uleb128 0x25 -+ .long .LASF255 -+ .long 0x221e -+ .uleb128 0x25 -+ .long .LASF256 -+ .long 0x250f -+ .byte 0 -+ .uleb128 0xa -+ .long 0x1ad3 -+ .uleb128 0x2c -+ .long .LASF261 -+ .long 0x1c0f -+ .uleb128 0x28 -+ .long .LASF257 -+ .byte 0x2 -+ .value 0x234 -+ .byte 0x36 -+ .long 0x45 -+ .byte 0x1 -+ .uleb128 0x31 -+ .string "str" -+ .byte 0x2 -+ .value 0x2a5 -+ .byte 0x7 -+ .long .LASF262 -+ .long 0x1b74 -+ .byte 0x1 -+ .long 0x1b9c -+ .long 0x1ba2 -+ .uleb128 0x2 -+ .long 0x5d4b -+ .byte 0 -+ .uleb128 0x4a -+ .long .LASF287 -+ .byte 0x2 -+ .value 0x275 -+ .byte 0x7 -+ .long .LASF428 -+ .byte 0x1 -+ .long 0x1b6b -+ .byte 0x1 -+ .long 0x1bbd -+ .long 0x1bcd -+ .uleb128 0x2 -+ .long 0x5d6e -+ .uleb128 0x2 -+ .long 0x39eb -+ .uleb128 0x2 -+ .long 0x5a24 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF263 -+ .byte 0x2 -+ .value 0x247 -+ .byte 0x7 -+ .long .LASF264 -+ .byte 0x1 -+ .long 0x1be3 -+ .long 0x1bf3 -+ .uleb128 0x2 -+ .long 0x5d6e -+ .uleb128 0x2 -+ .long 0x39eb -+ .uleb128 0x2 -+ .long 0x5a24 -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .uleb128 0x25 -+ .long .LASF255 -+ .long 0x221e -+ .uleb128 0x25 -+ .long .LASF256 -+ .long 0x250f -+ .byte 0 -+ .uleb128 0xa -+ .long 0x1b6b -+ .byte 0 -+ .uleb128 0x38 -+ .byte 0x7 -+ .value 0x118 -+ .byte 0x41 -+ .long 0x38 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x40 -+ .byte 0xb -+ .long 0x3a03 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x8d -+ .byte 0xb -+ .long 0x3979 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x8f -+ .byte 0xb -+ .long 0x3bc5 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x90 -+ .byte 0xb -+ .long 0x3bdc -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x91 -+ .byte 0xb -+ .long 0x3bf9 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x92 -+ .byte 0xb -+ .long 0x3c2c -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x93 -+ .byte 0xb -+ .long 0x3c48 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x94 -+ .byte 0xb -+ .long 0x3c6a -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x95 -+ .byte 0xb -+ .long 0x3c86 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x96 -+ .byte 0xb -+ .long 0x3ca3 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x97 -+ .byte 0xb -+ .long 0x3cc4 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x98 -+ .byte 0xb -+ .long 0x3cdb -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x99 -+ .byte 0xb -+ .long 0x3ce8 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x9a -+ .byte 0xb -+ .long 0x3d0f -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x9b -+ .byte 0xb -+ .long 0x3d35 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x9c -+ .byte 0xb -+ .long 0x3d52 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x9d -+ .byte 0xb -+ .long 0x3d7e -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0x9e -+ .byte 0xb -+ .long 0x3d9a -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xa0 -+ .byte 0xb -+ .long 0x3db1 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xa2 -+ .byte 0xb -+ .long 0x3dd3 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xa3 -+ .byte 0xb -+ .long 0x3df4 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xa4 -+ .byte 0xb -+ .long 0x3e10 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xa6 -+ .byte 0xb -+ .long 0x3e37 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xa9 -+ .byte 0xb -+ .long 0x3e5c -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xac -+ .byte 0xb -+ .long 0x3e82 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xae -+ .byte 0xb -+ .long 0x3ea7 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb0 -+ .byte 0xb -+ .long 0x3ec3 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb2 -+ .byte 0xb -+ .long 0x3ee3 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb3 -+ .byte 0xb -+ .long 0x3f0f -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb4 -+ .byte 0xb -+ .long 0x3f2a -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb5 -+ .byte 0xb -+ .long 0x3f45 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb6 -+ .byte 0xb -+ .long 0x3f60 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb7 -+ .byte 0xb -+ .long 0x3f7b -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb8 -+ .byte 0xb -+ .long 0x3f96 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xb9 -+ .byte 0xb -+ .long 0x4063 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xba -+ .byte 0xb -+ .long 0x4079 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xbb -+ .byte 0xb -+ .long 0x409a -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xbc -+ .byte 0xb -+ .long 0x40ba -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xbd -+ .byte 0xb -+ .long 0x40da -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xbe -+ .byte 0xb -+ .long 0x4106 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xbf -+ .byte 0xb -+ .long 0x4121 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc1 -+ .byte 0xb -+ .long 0x4143 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc3 -+ .byte 0xb -+ .long 0x415f -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc4 -+ .byte 0xb -+ .long 0x417f -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc5 -+ .byte 0xb -+ .long 0x41ac -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc6 -+ .byte 0xb -+ .long 0x41cd -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc7 -+ .byte 0xb -+ .long 0x41ed -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc8 -+ .byte 0xb -+ .long 0x4204 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xc9 -+ .byte 0xb -+ .long 0x4225 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xca -+ .byte 0xb -+ .long 0x4245 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xcb -+ .byte 0xb -+ .long 0x4265 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xcc -+ .byte 0xb -+ .long 0x4285 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xcd -+ .byte 0xb -+ .long 0x429d -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xce -+ .byte 0xb -+ .long 0x42b9 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xce -+ .byte 0xb -+ .long 0x42d8 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xcf -+ .byte 0xb -+ .long 0x42f7 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xcf -+ .byte 0xb -+ .long 0x4316 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xd0 -+ .byte 0xb -+ .long 0x4335 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xd0 -+ .byte 0xb -+ .long 0x4354 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xd1 -+ .byte 0xb -+ .long 0x4373 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xd1 -+ .byte 0xb -+ .long 0x4392 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xd2 -+ .byte 0xb -+ .long 0x43b1 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xd2 -+ .byte 0xb -+ .long 0x43d5 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x10b -+ .byte 0x16 -+ .long 0x43f9 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x10c -+ .byte 0x16 -+ .long 0x4415 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x10d -+ .byte 0x16 -+ .long 0x443d -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x11b -+ .byte 0xe -+ .long 0x4143 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x11e -+ .byte 0xe -+ .long 0x3e37 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x121 -+ .byte 0xe -+ .long 0x3e82 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x124 -+ .byte 0xe -+ .long 0x3ec3 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x128 -+ .byte 0xe -+ .long 0x43f9 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x129 -+ .byte 0xe -+ .long 0x4415 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x12a -+ .byte 0xe -+ .long 0x443d -+ .uleb128 0x13 -+ .long .LASF265 -+ .byte 0x1 -+ .byte 0x5 -+ .byte 0x5b -+ .byte 0xa -+ .long 0x1e95 -+ .uleb128 0x4b -+ .long .LASF265 -+ .byte 0x5 -+ .byte 0x5e -+ .byte 0xe -+ .long .LASF266 -+ .byte 0x1 -+ .long 0x1e8e -+ .uleb128 0x2 -+ .long 0x446a -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x1e70 -+ .uleb128 0x64 -+ .long .LASF312 -+ .byte 0x5 -+ .byte 0x62 -+ .byte 0x1a -+ .long .LASF926 -+ .long 0x1e95 -+ .uleb128 0x4c -+ .long .LASF435 -+ .byte 0x6 -+ .byte 0x34 -+ .byte 0xd -+ .long 0x208d -+ .uleb128 0x30 -+ .long .LASF268 -+ .byte 0x8 -+ .byte 0x6 -+ .byte 0x4f -+ .byte 0xb -+ .long 0x207f -+ .uleb128 0x6 -+ .long .LASF269 -+ .byte 0x6 -+ .byte 0x51 -+ .byte 0xd -+ .long 0x3977 -+ .byte 0 -+ .uleb128 0x65 -+ .long .LASF268 -+ .byte 0x6 -+ .byte 0x53 -+ .byte 0x10 -+ .long .LASF270 -+ .long 0x1ee4 -+ .long 0x1eef -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x3977 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF271 -+ .byte 0x6 -+ .byte 0x55 -+ .byte 0xc -+ .long .LASF272 -+ .long 0x1f03 -+ .long 0x1f09 -+ .uleb128 0x2 -+ .long 0x4470 -+ .byte 0 -+ .uleb128 0x20 -+ .long .LASF273 -+ .byte 0x6 -+ .byte 0x56 -+ .byte 0xc -+ .long .LASF274 -+ .long 0x1f1d -+ .long 0x1f23 -+ .uleb128 0x2 -+ .long 0x4470 -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF275 -+ .byte 0x6 -+ .byte 0x58 -+ .byte 0xd -+ .long .LASF276 -+ .long 0x3977 -+ .long 0x1f3b -+ .long 0x1f41 -+ .uleb128 0x2 -+ .long 0x4476 -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF268 -+ .byte 0x6 -+ .byte 0x60 -+ .byte 0x7 -+ .long .LASF277 -+ .byte 0x1 -+ .long 0x1f56 -+ .long 0x1f5c -+ .uleb128 0x2 -+ .long 0x4470 -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF268 -+ .byte 0x6 -+ .byte 0x62 -+ .byte 0x7 -+ .long .LASF278 -+ .byte 0x1 -+ .long 0x1f71 -+ .long 0x1f7c -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x447c -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF268 -+ .byte 0x6 -+ .byte 0x65 -+ .byte 0x7 -+ .long .LASF279 -+ .byte 0x1 -+ .long 0x1f91 -+ .long 0x1f9c -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x20ab -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF268 -+ .byte 0x6 -+ .byte 0x69 -+ .byte 0x7 -+ .long .LASF280 -+ .byte 0x1 -+ .long 0x1fb1 -+ .long 0x1fbc -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x4482 -+ .byte 0 -+ .uleb128 0x29 -+ .long .LASF83 -+ .byte 0x6 -+ .byte 0x76 -+ .byte 0x7 -+ .long .LASF282 -+ .long 0x4488 -+ .byte 0x1 -+ .long 0x1fd5 -+ .long 0x1fe0 -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x447c -+ .byte 0 -+ .uleb128 0x29 -+ .long .LASF83 -+ .byte 0x6 -+ .byte 0x7a -+ .byte 0x7 -+ .long .LASF283 -+ .long 0x4488 -+ .byte 0x1 -+ .long 0x1ff9 -+ .long 0x2004 -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x4482 -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF284 -+ .byte 0x6 -+ .byte 0x81 -+ .byte 0x7 -+ .long .LASF285 -+ .byte 0x1 -+ .long 0x2019 -+ .long 0x2024 -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF204 -+ .byte 0x6 -+ .byte 0x84 -+ .byte 0x7 -+ .long .LASF286 -+ .byte 0x1 -+ .long 0x2039 -+ .long 0x2044 -+ .uleb128 0x2 -+ .long 0x4470 -+ .uleb128 0x1 -+ .long 0x4488 -+ .byte 0 -+ .uleb128 0x66 -+ .long .LASF288 -+ .byte 0x6 -+ .byte 0x90 -+ .byte 0x10 -+ .long .LASF341 -+ .long 0x448e -+ .byte 0x1 -+ .long 0x205d -+ .long 0x2063 -+ .uleb128 0x2 -+ .long 0x4476 -+ .byte 0 -+ .uleb128 0x67 -+ .long .LASF289 -+ .byte 0x6 -+ .byte 0x99 -+ .byte 0x7 -+ .long .LASF290 -+ .long 0x449a -+ .byte 0x1 -+ .long 0x2078 -+ .uleb128 0x2 -+ .long 0x4476 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x1eb6 -+ .uleb128 0x3 -+ .byte 0x6 -+ .byte 0x49 -+ .byte 0x10 -+ .long 0x2095 -+ .byte 0 -+ .uleb128 0x3 -+ .byte 0x6 -+ .byte 0x39 -+ .byte 0x1a -+ .long 0x1eb6 -+ .uleb128 0x68 -+ .long .LASF291 -+ .byte 0x6 -+ .byte 0x45 -+ .byte 0x8 -+ .long .LASF292 -+ .long 0x20ab -+ .uleb128 0x1 -+ .long 0x1eb6 -+ .byte 0 -+ .uleb128 0x19 -+ .long .LASF294 -+ .byte 0x7 -+ .value 0x106 -+ .byte 0x1d -+ .long 0x4465 -+ .uleb128 0x3f -+ .long .LASF366 -+ .uleb128 0xa -+ .long 0x20b8 -+ .uleb128 0x13 -+ .long .LASF295 -+ .byte 0x1 -+ .byte 0x8 -+ .byte 0x39 -+ .byte 0xc -+ .long 0x2137 -+ .uleb128 0x4d -+ .long .LASF297 -+ .byte 0x8 -+ .byte 0x3b -+ .byte 0x2d -+ .long 0x4495 -+ .uleb128 0x5 -+ .long .LASF298 -+ .byte 0x8 -+ .byte 0x3c -+ .byte 0x2d -+ .long 0x448e -+ .uleb128 0x22 -+ .long .LASF299 -+ .byte 0x8 -+ .byte 0x3e -+ .byte 0x11 -+ .long .LASF300 -+ .long 0x20db -+ .long 0x20ff -+ .long 0x2105 -+ .uleb128 0x2 -+ .long 0x44a0 -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF301 -+ .byte 0x8 -+ .byte 0x43 -+ .byte 0x1c -+ .long .LASF302 -+ .long 0x20db -+ .long 0x211d -+ .long 0x2123 -+ .uleb128 0x2 -+ .long 0x44a0 -+ .byte 0 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x448e -+ .uleb128 0x4e -+ .string "__v" -+ .long 0x448e -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x20c2 -+ .uleb128 0x13 -+ .long .LASF303 -+ .byte 0x1 -+ .byte 0x8 -+ .byte 0x39 -+ .byte 0xc -+ .long 0x21b1 -+ .uleb128 0x4d -+ .long .LASF297 -+ .byte 0x8 -+ .byte 0x3b -+ .byte 0x2d -+ .long 0x4495 -+ .uleb128 0x5 -+ .long .LASF298 -+ .byte 0x8 -+ .byte 0x3c -+ .byte 0x2d -+ .long 0x448e -+ .uleb128 0x22 -+ .long .LASF304 -+ .byte 0x8 -+ .byte 0x3e -+ .byte 0x11 -+ .long .LASF305 -+ .long 0x2155 -+ .long 0x2179 -+ .long 0x217f -+ .uleb128 0x2 -+ .long 0x44a6 -+ .byte 0 -+ .uleb128 0x22 -+ .long .LASF301 -+ .byte 0x8 -+ .byte 0x43 -+ .byte 0x1c -+ .long .LASF306 -+ .long 0x2155 -+ .long 0x2197 -+ .long 0x219d -+ .uleb128 0x2 -+ .long 0x44a6 -+ .byte 0 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x448e -+ .uleb128 0x4e -+ .string "__v" -+ .long 0x448e -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x213c -+ .uleb128 0x19 -+ .long .LASF307 -+ .byte 0x7 -+ .value 0x102 -+ .byte 0x1a -+ .long 0x3927 -+ .uleb128 0x4f -+ .long .LASF308 -+ .byte 0x8 -+ .value 0x9bd -+ .byte 0xd -+ .uleb128 0x4f -+ .long .LASF309 -+ .byte 0x8 -+ .value 0xa0b -+ .byte 0xd -+ .uleb128 0x13 -+ .long .LASF310 -+ .byte 0x1 -+ .byte 0x9 -+ .byte 0x4c -+ .byte 0xa -+ .long 0x21fa -+ .uleb128 0x4b -+ .long .LASF310 -+ .byte 0x9 -+ .byte 0x4c -+ .byte 0x2b -+ .long .LASF311 -+ .byte 0x1 -+ .long 0x21f3 -+ .uleb128 0x2 -+ .long 0x44e2 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x21d5 -+ .uleb128 0x69 -+ .long .LASF313 -+ .byte 0x9 -+ .byte 0x4f -+ .byte 0x35 -+ .long 0x21fa -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0x6a -+ .long .LASF927 -+ .byte 0x1 -+ .byte 0x18 -+ .byte 0x59 -+ .byte 0xa -+ .uleb128 0x50 -+ .long .LASF314 -+ .byte 0xa -+ .byte 0x32 -+ .byte 0xd -+ .uleb128 0x32 -+ .long .LASF315 -+ .byte 0x1 -+ .byte 0xb -+ .value 0x122 -+ .byte 0xc -+ .long 0x240a -+ .uleb128 0x24 -+ .long .LASF157 -+ .byte 0xb -+ .value 0x12b -+ .byte 0x7 -+ .long .LASF316 -+ .long 0x2248 -+ .uleb128 0x1 -+ .long 0x4502 -+ .uleb128 0x1 -+ .long 0x4508 -+ .byte 0 -+ .uleb128 0x19 -+ .long .LASF317 -+ .byte 0xb -+ .value 0x124 -+ .byte 0x21 -+ .long 0x39df -+ .uleb128 0xa -+ .long 0x2248 -+ .uleb128 0x51 -+ .string "eq" -+ .byte 0xb -+ .value 0x12f -+ .byte 0x7 -+ .long .LASF318 -+ .long 0x448e -+ .long 0x2279 -+ .uleb128 0x1 -+ .long 0x4508 -+ .uleb128 0x1 -+ .long 0x4508 -+ .byte 0 -+ .uleb128 0x51 -+ .string "lt" -+ .byte 0xb -+ .value 0x133 -+ .byte 0x7 -+ .long .LASF319 -+ .long 0x448e -+ .long 0x2298 -+ .uleb128 0x1 -+ .long 0x4508 -+ .uleb128 0x1 -+ .long 0x4508 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF244 -+ .byte 0xb -+ .value 0x13b -+ .byte 0x7 -+ .long .LASF320 -+ .long 0x39eb -+ .long 0x22bd -+ .uleb128 0x1 -+ .long 0x450e -+ .uleb128 0x1 -+ .long 0x450e -+ .uleb128 0x1 -+ .long 0x21b6 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF113 -+ .byte 0xb -+ .value 0x150 -+ .byte 0x7 -+ .long .LASF321 -+ .long 0x21b6 -+ .long 0x22d8 -+ .uleb128 0x1 -+ .long 0x450e -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF212 -+ .byte 0xb -+ .value 0x15a -+ .byte 0x7 -+ .long .LASF322 -+ .long 0x450e -+ .long 0x22fd -+ .uleb128 0x1 -+ .long 0x450e -+ .uleb128 0x1 -+ .long 0x21b6 -+ .uleb128 0x1 -+ .long 0x4508 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF323 -+ .byte 0xb -+ .value 0x168 -+ .byte 0x7 -+ .long .LASF324 -+ .long 0x4514 -+ .long 0x2322 -+ .uleb128 0x1 -+ .long 0x4514 -+ .uleb128 0x1 -+ .long 0x450e -+ .uleb128 0x1 -+ .long 0x21b6 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF202 -+ .byte 0xb -+ .value 0x170 -+ .byte 0x7 -+ .long .LASF325 -+ .long 0x4514 -+ .long 0x2347 -+ .uleb128 0x1 -+ .long 0x4514 -+ .uleb128 0x1 -+ .long 0x450e -+ .uleb128 0x1 -+ .long 0x21b6 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF157 -+ .byte 0xb -+ .value 0x178 -+ .byte 0x7 -+ .long .LASF326 -+ .long 0x4514 -+ .long 0x236c -+ .uleb128 0x1 -+ .long 0x4514 -+ .uleb128 0x1 -+ .long 0x21b6 -+ .uleb128 0x1 -+ .long 0x2248 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF327 -+ .byte 0xb -+ .value 0x180 -+ .byte 0x7 -+ .long .LASF328 -+ .long 0x2248 -+ .long 0x2387 -+ .uleb128 0x1 -+ .long 0x451a -+ .byte 0 -+ .uleb128 0x19 -+ .long .LASF329 -+ .byte 0xb -+ .value 0x125 -+ .byte 0x21 -+ .long 0x39eb -+ .uleb128 0xa -+ .long 0x2387 -+ .uleb128 0x14 -+ .long .LASF330 -+ .byte 0xb -+ .value 0x186 -+ .byte 0x7 -+ .long .LASF331 -+ .long 0x2387 -+ .long 0x23b4 -+ .uleb128 0x1 -+ .long 0x4508 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF332 -+ .byte 0xb -+ .value 0x18a -+ .byte 0x7 -+ .long .LASF333 -+ .long 0x448e -+ .long 0x23d4 -+ .uleb128 0x1 -+ .long 0x451a -+ .uleb128 0x1 -+ .long 0x451a -+ .byte 0 -+ .uleb128 0x6b -+ .string "eof" -+ .byte 0xb -+ .value 0x18e -+ .byte 0x7 -+ .long .LASF928 -+ .long 0x2387 -+ .uleb128 0x14 -+ .long .LASF334 -+ .byte 0xb -+ .value 0x192 -+ .byte 0x7 -+ .long .LASF335 -+ .long 0x2387 -+ .long 0x2400 -+ .uleb128 0x1 -+ .long 0x451a -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x2f -+ .byte 0xb -+ .long 0x4615 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x30 -+ .byte 0xb -+ .long 0x4621 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x31 -+ .byte 0xb -+ .long 0x462d -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x32 -+ .byte 0xb -+ .long 0x4639 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x34 -+ .byte 0xb -+ .long 0x46d5 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x35 -+ .byte 0xb -+ .long 0x46e1 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x36 -+ .byte 0xb -+ .long 0x46ed -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x37 -+ .byte 0xb -+ .long 0x46f9 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x39 -+ .byte 0xb -+ .long 0x4675 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x3a -+ .byte 0xb -+ .long 0x4681 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x3b -+ .byte 0xb -+ .long 0x468d -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x3c -+ .byte 0xb -+ .long 0x4699 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x3e -+ .byte 0xb -+ .long 0x474d -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x3f -+ .byte 0xb -+ .long 0x4735 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x41 -+ .byte 0xb -+ .long 0x4645 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x42 -+ .byte 0xb -+ .long 0x4651 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x43 -+ .byte 0xb -+ .long 0x465d -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x44 -+ .byte 0xb -+ .long 0x4669 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x46 -+ .byte 0xb -+ .long 0x4705 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x47 -+ .byte 0xb -+ .long 0x4711 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x48 -+ .byte 0xb -+ .long 0x471d -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x49 -+ .byte 0xb -+ .long 0x4729 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x4b -+ .byte 0xb -+ .long 0x46a5 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x4c -+ .byte 0xb -+ .long 0x46b1 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x4d -+ .byte 0xb -+ .long 0x46bd -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x4e -+ .byte 0xb -+ .long 0x46c9 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x50 -+ .byte 0xb -+ .long 0x4759 -+ .uleb128 0x3 -+ .byte 0xc -+ .byte 0x51 -+ .byte 0xb -+ .long 0x4741 -+ .uleb128 0x3 -+ .byte 0xd -+ .byte 0x35 -+ .byte 0xb -+ .long 0x4765 -+ .uleb128 0x3 -+ .byte 0xd -+ .byte 0x36 -+ .byte 0xb -+ .long 0x48ab -+ .uleb128 0x3 -+ .byte 0xd -+ .byte 0x37 -+ .byte 0xb -+ .long 0x48c6 -+ .uleb128 0x19 -+ .long .LASF336 -+ .byte 0x7 -+ .value 0x103 -+ .byte 0x1c -+ .long 0x41a0 -+ .uleb128 0x30 -+ .long .LASF337 -+ .byte 0x1 -+ .byte 0xe -+ .byte 0x6f -+ .byte 0xb -+ .long 0x25a0 -+ .uleb128 0x6c -+ .long 0x2eb8 -+ .byte 0 -+ .byte 0x1 -+ .uleb128 0x1d -+ .long .LASF338 -+ .byte 0xe -+ .byte 0x89 -+ .byte 0x7 -+ .long .LASF339 -+ .byte 0x1 -+ .long 0x2538 -+ .long 0x253e -+ .uleb128 0x2 -+ .long 0x4967 -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF338 -+ .byte 0xe -+ .byte 0x8c -+ .byte 0x7 -+ .long .LASF340 -+ .byte 0x1 -+ .long 0x2553 -+ .long 0x255e -+ .uleb128 0x2 -+ .long 0x4967 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x6d -+ .long .LASF83 -+ .byte 0xe -+ .byte 0x91 -+ .byte 0x12 -+ .long .LASF342 -+ .long 0x4978 -+ .byte 0x1 -+ .byte 0x1 -+ .long 0x2578 -+ .long 0x2583 -+ .uleb128 0x2 -+ .long 0x4967 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x6e -+ .long .LASF343 -+ .byte 0xe -+ .byte 0x98 -+ .byte 0x7 -+ .long .LASF344 -+ .byte 0x1 -+ .long 0x2594 -+ .uleb128 0x2 -+ .long 0x4967 -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x250f -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x7f -+ .byte 0xb -+ .long 0x49a6 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x80 -+ .byte 0xb -+ .long 0x49da -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x86 -+ .byte 0xb -+ .long 0x4a41 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x89 -+ .byte 0xb -+ .long 0x4a5f -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x8c -+ .byte 0xb -+ .long 0x4a7a -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x8d -+ .byte 0xb -+ .long 0x4a90 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x8e -+ .byte 0xb -+ .long 0x4aa7 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x8f -+ .byte 0xb -+ .long 0x4abe -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x91 -+ .byte 0xb -+ .long 0x4ae8 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x94 -+ .byte 0xb -+ .long 0x4b05 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x96 -+ .byte 0xb -+ .long 0x4b1c -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x99 -+ .byte 0xb -+ .long 0x4b38 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x9a -+ .byte 0xb -+ .long 0x4b54 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x9b -+ .byte 0xb -+ .long 0x4b74 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0x9d -+ .byte 0xb -+ .long 0x4b95 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa0 -+ .byte 0xb -+ .long 0x4bb7 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa3 -+ .byte 0xb -+ .long 0x4bcb -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa5 -+ .byte 0xb -+ .long 0x4bd8 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa6 -+ .byte 0xb -+ .long 0x4beb -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa7 -+ .byte 0xb -+ .long 0x4c0c -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa8 -+ .byte 0xb -+ .long 0x4c2c -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xa9 -+ .byte 0xb -+ .long 0x4c4c -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xab -+ .byte 0xb -+ .long 0x4c63 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xac -+ .byte 0xb -+ .long 0x4c83 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xf0 -+ .byte 0x16 -+ .long 0x4a0e -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xf5 -+ .byte 0x16 -+ .long 0x30a4 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xf6 -+ .byte 0x16 -+ .long 0x4c9e -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xf8 -+ .byte 0x16 -+ .long 0x4cba -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xf9 -+ .byte 0x16 -+ .long 0x4d11 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xfa -+ .byte 0x16 -+ .long 0x4cd1 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xfb -+ .byte 0x16 -+ .long 0x4cf1 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xfc -+ .byte 0x16 -+ .long 0x4d2c -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x62 -+ .byte 0xb -+ .long 0x3ba7 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x63 -+ .byte 0xb -+ .long 0x4dd1 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x65 -+ .byte 0xb -+ .long 0x4e48 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x66 -+ .byte 0xb -+ .long 0x4e5b -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x67 -+ .byte 0xb -+ .long 0x4e71 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x68 -+ .byte 0xb -+ .long 0x4e88 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x69 -+ .byte 0xb -+ .long 0x4e9f -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x6a -+ .byte 0xb -+ .long 0x4eb5 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x6b -+ .byte 0xb -+ .long 0x4ecc -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x6c -+ .byte 0xb -+ .long 0x4eee -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x6d -+ .byte 0xb -+ .long 0x4f0e -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x71 -+ .byte 0xb -+ .long 0x4f29 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x72 -+ .byte 0xb -+ .long 0x4f4f -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x74 -+ .byte 0xb -+ .long 0x4f6f -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x75 -+ .byte 0xb -+ .long 0x4f90 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x76 -+ .byte 0xb -+ .long 0x4fb2 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x78 -+ .byte 0xb -+ .long 0x4fc9 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x79 -+ .byte 0xb -+ .long 0x4fe0 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x7e -+ .byte 0xb -+ .long 0x4fec -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x83 -+ .byte 0xb -+ .long 0x4fff -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x84 -+ .byte 0xb -+ .long 0x5015 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x85 -+ .byte 0xb -+ .long 0x5030 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x87 -+ .byte 0xb -+ .long 0x5043 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x88 -+ .byte 0xb -+ .long 0x505b -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x8b -+ .byte 0xb -+ .long 0x5081 -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x8d -+ .byte 0xb -+ .long 0x508d -+ .uleb128 0x3 -+ .byte 0x10 -+ .byte 0x8f -+ .byte 0xb -+ .long 0x50a3 -+ .uleb128 0x32 -+ .long .LASF345 -+ .byte 0x1 -+ .byte 0x11 -+ .value 0x187 -+ .byte 0xc -+ .long 0x2891 -+ .uleb128 0x19 -+ .long .LASF5 -+ .byte 0x11 -+ .value 0x18f -+ .byte 0xd -+ .long 0x3f04 -+ .uleb128 0x14 -+ .long .LASF346 -+ .byte 0x11 -+ .value 0x1ba -+ .byte 0x7 -+ .long .LASF347 -+ .long 0x278b -+ .long 0x27b8 -+ .uleb128 0x1 -+ .long 0x50d7 -+ .uleb128 0x1 -+ .long 0x27ca -+ .byte 0 -+ .uleb128 0x19 -+ .long .LASF35 -+ .byte 0x11 -+ .value 0x18a -+ .byte 0xd -+ .long 0x250f -+ .uleb128 0xa -+ .long 0x27b8 -+ .uleb128 0x19 -+ .long .LASF6 -+ .byte 0x11 -+ .value 0x19e -+ .byte 0xd -+ .long 0x21b6 -+ .uleb128 0x14 -+ .long .LASF346 -+ .byte 0x11 -+ .value 0x1c8 -+ .byte 0x7 -+ .long .LASF348 -+ .long 0x278b -+ .long 0x27fc -+ .uleb128 0x1 -+ .long 0x50d7 -+ .uleb128 0x1 -+ .long 0x27ca -+ .uleb128 0x1 -+ .long 0x27fc -+ .byte 0 -+ .uleb128 0x19 -+ .long .LASF349 -+ .byte 0x11 -+ .value 0x198 -+ .byte 0xd -+ .long 0x493d -+ .uleb128 0x24 -+ .long .LASF350 -+ .byte 0x11 -+ .value 0x1d4 -+ .byte 0x7 -+ .long .LASF351 -+ .long 0x282a -+ .uleb128 0x1 -+ .long 0x50d7 -+ .uleb128 0x1 -+ .long 0x278b -+ .uleb128 0x1 -+ .long 0x27ca -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF115 -+ .byte 0x11 -+ .value 0x1f8 -+ .byte 0x7 -+ .long .LASF352 -+ .long 0x27ca -+ .long 0x2845 -+ .uleb128 0x1 -+ .long 0x50dd -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF353 -+ .byte 0x11 -+ .value 0x201 -+ .byte 0x7 -+ .long .LASF354 -+ .long 0x27b8 -+ .long 0x2860 -+ .uleb128 0x1 -+ .long 0x50dd -+ .byte 0 -+ .uleb128 0x19 -+ .long .LASF298 -+ .byte 0x11 -+ .value 0x18c -+ .byte 0xd -+ .long 0x39df -+ .uleb128 0x19 -+ .long .LASF17 -+ .byte 0x11 -+ .value 0x192 -+ .byte 0xd -+ .long 0x3bba -+ .uleb128 0x19 -+ .long .LASF355 -+ .byte 0x11 -+ .value 0x1ad -+ .byte 0x8 -+ .long 0x250f -+ .uleb128 0xc -+ .long .LASF256 -+ .long 0x250f -+ .byte 0 -+ .uleb128 0x30 -+ .long .LASF356 -+ .byte 0x10 -+ .byte 0x12 -+ .byte 0x2f -+ .byte 0xb -+ .long 0x2984 -+ .uleb128 0x15 -+ .long .LASF55 -+ .byte 0x12 -+ .byte 0x36 -+ .byte 0x1a -+ .long 0x3bba -+ .byte 0x1 -+ .uleb128 0x6 -+ .long .LASF357 -+ .byte 0x12 -+ .byte 0x3a -+ .byte 0x12 -+ .long 0x289e -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF6 -+ .byte 0x12 -+ .byte 0x35 -+ .byte 0x18 -+ .long 0x21b6 -+ .byte 0x1 -+ .uleb128 0x6 -+ .long .LASF358 -+ .byte 0x12 -+ .byte 0x3b -+ .byte 0x13 -+ .long 0x28b8 -+ .byte 0x8 -+ .uleb128 0x20 -+ .long .LASF359 -+ .byte 0x12 -+ .byte 0x3e -+ .byte 0x11 -+ .long .LASF360 -+ .long 0x28e6 -+ .long 0x28f6 -+ .uleb128 0x2 -+ .long 0x514a -+ .uleb128 0x1 -+ .long 0x28f6 -+ .uleb128 0x1 -+ .long 0x28b8 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF57 -+ .byte 0x12 -+ .byte 0x37 -+ .byte 0x1a -+ .long 0x3bba -+ .byte 0x1 -+ .uleb128 0x1d -+ .long .LASF359 -+ .byte 0x12 -+ .byte 0x42 -+ .byte 0x11 -+ .long .LASF361 -+ .byte 0x1 -+ .long 0x2918 -+ .long 0x291e -+ .uleb128 0x2 -+ .long 0x514a -+ .byte 0 -+ .uleb128 0x29 -+ .long .LASF111 -+ .byte 0x12 -+ .byte 0x47 -+ .byte 0x7 -+ .long .LASF362 -+ .long 0x28b8 -+ .byte 0x1 -+ .long 0x2937 -+ .long 0x293d -+ .uleb128 0x2 -+ .long 0x5150 -+ .byte 0 -+ .uleb128 0x29 -+ .long .LASF90 -+ .byte 0x12 -+ .byte 0x4b -+ .byte 0x7 -+ .long .LASF363 -+ .long 0x28f6 -+ .byte 0x1 -+ .long 0x2956 -+ .long 0x295c -+ .uleb128 0x2 -+ .long 0x5150 -+ .byte 0 -+ .uleb128 0x49 -+ .string "end" -+ .byte 0x12 -+ .byte 0x4f -+ .byte 0x7 -+ .long .LASF365 -+ .long 0x28f6 -+ .byte 0x1 -+ .long 0x2975 -+ .long 0x297b -+ .uleb128 0x2 -+ .long 0x5150 -+ .byte 0 -+ .uleb128 0x1a -+ .string "_E" -+ .long 0x39df -+ .byte 0 -+ .uleb128 0xa -+ .long 0x2891 -+ .uleb128 0x3f -+ .long .LASF367 -+ .uleb128 0x3f -+ .long .LASF368 -+ .uleb128 0x46 -+ .long .LASF370 -+ .byte 0x3 -+ .value 0x1a9e -+ .byte 0x14 -+ .long 0x29b3 -+ .uleb128 0x52 -+ .long .LASF371 -+ .byte 0x3 -+ .value 0x1aa0 -+ .byte 0x14 -+ .uleb128 0x38 -+ .byte 0x3 -+ .value 0x1aa0 -+ .byte 0x14 -+ .long 0x29a0 -+ .byte 0 -+ .uleb128 0x38 -+ .byte 0x3 -+ .value 0x1a9e -+ .byte 0x14 -+ .long 0x2993 -+ .uleb128 0x6f -+ .string "_V2" -+ .byte 0x13 -+ .byte 0x47 -+ .byte 0x14 -+ .uleb128 0x53 -+ .byte 0x13 -+ .byte 0x47 -+ .byte 0x14 -+ .long 0x29bc -+ .uleb128 0x70 -+ .long .LASF929 -+ .byte 0x5 -+ .byte 0x4 -+ .long 0x39eb -+ .byte 0x14 -+ .byte 0x6f -+ .byte 0x8 -+ .long 0x2a1f -+ .uleb128 0x23 -+ .long .LASF373 -+ .byte 0x1 -+ .uleb128 0x23 -+ .long .LASF374 -+ .byte 0x2 -+ .uleb128 0x23 -+ .long .LASF375 -+ .byte 0x4 -+ .uleb128 0x23 -+ .long .LASF376 -+ .byte 0x8 -+ .uleb128 0x23 -+ .long .LASF377 -+ .byte 0x10 -+ .uleb128 0x23 -+ .long .LASF378 -+ .byte 0x20 -+ .uleb128 0x54 -+ .long .LASF379 -+ .long 0x10000 -+ .uleb128 0x54 -+ .long .LASF380 -+ .long 0x7fffffff -+ .uleb128 0x71 -+ .long .LASF381 -+ .sleb128 -2147483648 -+ .byte 0 -+ .uleb128 0x2c -+ .long .LASF382 -+ .long 0x2a37 -+ .uleb128 0x28 -+ .long .LASF383 -+ .byte 0x14 -+ .value 0x1ad -+ .byte 0x1b -+ .long 0x29cc -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x52 -+ .byte 0xb -+ .long 0x5162 -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x53 -+ .byte 0xb -+ .long 0x5156 -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x54 -+ .byte 0xb -+ .long 0x3979 -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x5c -+ .byte 0xb -+ .long 0x5174 -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x65 -+ .byte 0xb -+ .long 0x518f -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x68 -+ .byte 0xb -+ .long 0x51aa -+ .uleb128 0x3 -+ .byte 0x15 -+ .byte 0x69 -+ .byte 0xb -+ .long 0x51c0 -+ .uleb128 0x2c -+ .long .LASF384 -+ .long 0x2adb -+ .uleb128 0x55 -+ .long .LASF385 -+ .byte 0x16 -+ .byte 0x5d -+ .byte 0x7 -+ .long .LASF386 -+ .byte 0x1 -+ .long 0x2a6f -+ .byte 0x1 -+ .long 0x2a92 -+ .long 0x2aa2 -+ .uleb128 0x2 -+ .long 0x5a19 -+ .uleb128 0x2 -+ .long 0x39eb -+ .uleb128 0x2 -+ .long 0x5a24 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF387 -+ .byte 0x16 -+ .value 0x186 -+ .byte 0x7 -+ .long .LASF388 -+ .byte 0x2 -+ .long 0x2ab8 -+ .long 0x2ac8 -+ .uleb128 0x2 -+ .long 0x5a19 -+ .uleb128 0x2 -+ .long 0x39eb -+ .uleb128 0x2 -+ .long 0x5a24 -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .uleb128 0x25 -+ .long .LASF255 -+ .long 0x221e -+ .byte 0 -+ .uleb128 0x2c -+ .long .LASF389 -+ .long 0x2ba5 -+ .uleb128 0x15 -+ .long .LASF317 -+ .byte 0x17 -+ .byte 0x83 -+ .byte 0x1b -+ .long 0x39df -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF390 -+ .byte 0x17 -+ .value 0x218 -+ .byte 0x7 -+ .long .LASF391 -+ .long 0x574a -+ .byte 0x2 -+ .long 0x2b0b -+ .long 0x2b11 -+ .uleb128 0x2 -+ .long 0x5750 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF392 -+ .byte 0x17 -+ .value 0x1ef -+ .byte 0x7 -+ .long .LASF393 -+ .long 0x574a -+ .byte 0x2 -+ .long 0x2b2b -+ .long 0x2b31 -+ .uleb128 0x2 -+ .long 0x5750 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF394 -+ .byte 0x17 -+ .value 0x21b -+ .byte 0x7 -+ .long .LASF395 -+ .long 0x574a -+ .byte 0x2 -+ .long 0x2b4b -+ .long 0x2b51 -+ .uleb128 0x2 -+ .long 0x5750 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF396 -+ .byte 0x17 -+ .value 0x1d6 -+ .byte 0x7 -+ .long .LASF397 -+ .byte 0x2 -+ .long 0x2b67 -+ .long 0x2b6d -+ .uleb128 0x2 -+ .long 0x582b -+ .byte 0 -+ .uleb128 0x55 -+ .long .LASF398 -+ .byte 0x17 -+ .byte 0xcc -+ .byte 0x7 -+ .long .LASF399 -+ .byte 0x1 -+ .long 0x2adb -+ .byte 0x1 -+ .long 0x2b87 -+ .long 0x2b92 -+ .uleb128 0x2 -+ .long 0x582b -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .uleb128 0x25 -+ .long .LASF255 -+ .long 0x221e -+ .byte 0 -+ .uleb128 0xa -+ .long 0x2adb -+ .uleb128 0x13 -+ .long .LASF400 -+ .byte 0x1 -+ .byte 0x18 -+ .byte 0xb2 -+ .byte 0xc -+ .long 0x2be5 -+ .uleb128 0x5 -+ .long .LASF401 -+ .byte 0x18 -+ .byte 0xb6 -+ .byte 0x2b -+ .long 0x2502 -+ .uleb128 0x5 -+ .long .LASF5 -+ .byte 0x18 -+ .byte 0xb7 -+ .byte 0x2b -+ .long 0x3f04 -+ .uleb128 0x5 -+ .long .LASF133 -+ .byte 0x18 -+ .byte 0xb8 -+ .byte 0x2b -+ .long 0x495b -+ .uleb128 0xc -+ .long .LASF402 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x32 -+ .long .LASF403 -+ .byte 0x1 -+ .byte 0x8 -+ .value 0x5ae -+ .byte 0xc -+ .long 0x2c0a -+ .uleb128 0x19 -+ .long .LASF404 -+ .byte 0x8 -+ .value 0x5af -+ .byte 0x15 -+ .long 0x250f -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x4978 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF405 -+ .byte 0x1 -+ .byte 0x18 -+ .byte 0xbd -+ .byte 0xc -+ .long 0x2c45 -+ .uleb128 0x5 -+ .long .LASF401 -+ .byte 0x18 -+ .byte 0xc1 -+ .byte 0x2b -+ .long 0x2502 -+ .uleb128 0x5 -+ .long .LASF5 -+ .byte 0x18 -+ .byte 0xc2 -+ .byte 0x2b -+ .long 0x3bba -+ .uleb128 0x5 -+ .long .LASF133 -+ .byte 0x18 -+ .byte 0xc3 -+ .byte 0x2b -+ .long 0x4961 -+ .uleb128 0xc -+ .long .LASF402 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x32 -+ .long .LASF406 -+ .byte 0x1 -+ .byte 0x8 -+ .value 0x80a -+ .byte 0xc -+ .long 0x2c61 -+ .uleb128 0x19 -+ .long .LASF404 -+ .byte 0x8 -+ .value 0x80b -+ .byte 0x18 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF407 -+ .byte 0x1 -+ .byte 0x19 -+ .byte 0x80 -+ .byte 0xc -+ .long 0x2c9e -+ .uleb128 0x5 -+ .long .LASF5 -+ .byte 0x19 -+ .byte 0x83 -+ .byte 0x14 -+ .long 0x3f04 -+ .uleb128 0x18 -+ .long .LASF408 -+ .byte 0x19 -+ .byte 0x92 -+ .byte 0x7 -+ .long .LASF409 -+ .long 0x2c6e -+ .long 0x2c94 -+ .uleb128 0x1 -+ .long 0x5214 -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF410 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF411 -+ .byte 0x19 -+ .byte 0x4b -+ .byte 0xb -+ .long 0x2c53 -+ .uleb128 0x32 -+ .long .LASF412 -+ .byte 0x1 -+ .byte 0x8 -+ .value 0x80a -+ .byte 0xc -+ .long 0x2cc6 -+ .uleb128 0x19 -+ .long .LASF404 -+ .byte 0x8 -+ .value 0x80b -+ .byte 0x18 -+ .long 0x39e6 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF413 -+ .byte 0x1 -+ .byte 0x19 -+ .byte 0x80 -+ .byte 0xc -+ .long 0x2d03 -+ .uleb128 0x5 -+ .long .LASF5 -+ .byte 0x19 -+ .byte 0x83 -+ .byte 0x14 -+ .long 0x3bba -+ .uleb128 0x18 -+ .long .LASF408 -+ .byte 0x19 -+ .byte 0x92 -+ .byte 0x7 -+ .long .LASF414 -+ .long 0x2cd3 -+ .long 0x2cf9 -+ .uleb128 0x1 -+ .long 0x521a -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF410 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF411 -+ .byte 0x19 -+ .byte 0x4b -+ .byte 0xb -+ .long 0x2cb8 -+ .uleb128 0x13 -+ .long .LASF415 -+ .byte 0x1 -+ .byte 0x1a -+ .byte 0x66 -+ .byte 0xc -+ .long 0x2d2e -+ .uleb128 0x56 -+ .byte 0x7 -+ .byte 0x4 -+ .long 0x3970 -+ .byte 0x1a -+ .byte 0x68 -+ .byte 0xc -+ .uleb128 0x23 -+ .long .LASF416 -+ .byte 0x1 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF417 -+ .byte 0x1 -+ .byte 0x1a -+ .byte 0x5f -+ .byte 0xc -+ .long 0x2d4d -+ .uleb128 0x56 -+ .byte 0x7 -+ .byte 0x4 -+ .long 0x3970 -+ .byte 0x1a -+ .byte 0x61 -+ .byte 0xc -+ .uleb128 0x23 -+ .long .LASF416 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF418 -+ .byte 0x1b -+ .byte 0x8a -+ .byte 0x5 -+ .long .LASF419 -+ .long 0x3bba -+ .long 0x2d70 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39e6 -+ .uleb128 0x1 -+ .long 0x4961 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF420 -+ .byte 0x1b -+ .byte 0x2f -+ .byte 0x5 -+ .long .LASF421 -+ .long 0x3bba -+ .long 0x2d93 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39e6 -+ .uleb128 0x1 -+ .long 0x4961 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF422 -+ .byte 0x1b -+ .byte 0x8a -+ .byte 0x5 -+ .long .LASF423 -+ .long 0x3f04 -+ .long 0x2db6 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x495b -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF424 -+ .byte 0x1b -+ .byte 0x2f -+ .byte 0x5 -+ .long .LASF425 -+ .long 0x3f04 -+ .long 0x2dd9 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39df -+ .uleb128 0x1 -+ .long 0x495b -+ .byte 0 -+ .uleb128 0x2c -+ .long .LASF426 -+ .long 0x2e37 -+ .uleb128 0x4a -+ .long .LASF427 -+ .byte 0x1c -+ .value 0x11a -+ .byte 0x7 -+ .long .LASF429 -+ .byte 0x1 -+ .long 0x2dd9 -+ .byte 0x1 -+ .long 0x2dfd -+ .long 0x2e08 -+ .uleb128 0x2 -+ .long 0x5abb -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF430 -+ .byte 0x1c -+ .value 0x1cc -+ .byte 0x7 -+ .long .LASF431 -+ .byte 0x2 -+ .long 0x2e1e -+ .long 0x2e24 -+ .uleb128 0x2 -+ .long 0x5abb -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF254 -+ .long 0x39df -+ .uleb128 0x25 -+ .long .LASF255 -+ .long 0x221e -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF432 -+ .byte 0x1b -+ .byte 0x63 -+ .byte 0x5 -+ .long .LASF433 -+ .long 0x5cc5 -+ .long 0x2e5a -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x4978 -+ .uleb128 0x1 -+ .long 0x4978 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF434 -+ .byte 0x1d -+ .byte 0x99 -+ .byte 0x26 -+ .long 0x1b6b -+ .byte 0 -+ .uleb128 0x72 -+ .long .LASF436 -+ .byte 0x7 -+ .value 0x11a -+ .byte 0xb -+ .long 0x38f8 -+ .uleb128 0x52 -+ .long .LASF369 -+ .byte 0x7 -+ .value 0x11c -+ .byte 0x41 -+ .uleb128 0x38 -+ .byte 0x7 -+ .value 0x11c -+ .byte 0x41 -+ .long 0x2e74 -+ .uleb128 0x3 -+ .byte 0x4 -+ .byte 0xfb -+ .byte 0xb -+ .long 0x43f9 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x104 -+ .byte 0xb -+ .long 0x4415 -+ .uleb128 0x1e -+ .byte 0x4 -+ .value 0x105 -+ .byte 0xb -+ .long 0x443d -+ .uleb128 0x50 -+ .long .LASF437 -+ .byte 0x1e -+ .byte 0x23 -+ .byte 0xb -+ .uleb128 0x3 -+ .byte 0x1f -+ .byte 0x2c -+ .byte 0xe -+ .long 0x21b6 -+ .uleb128 0x3 -+ .byte 0x1f -+ .byte 0x2d -+ .byte 0xe -+ .long 0x2502 -+ .uleb128 0x30 -+ .long .LASF438 -+ .byte 0x1 -+ .byte 0x1f -+ .byte 0x3a -+ .byte 0xb -+ .long 0x3020 -+ .uleb128 0x1d -+ .long .LASF439 -+ .byte 0x1f -+ .byte 0x50 -+ .byte 0x7 -+ .long .LASF440 -+ .byte 0x1 -+ .long 0x2eda -+ .long 0x2ee0 -+ .uleb128 0x2 -+ .long 0x4944 -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF439 -+ .byte 0x1f -+ .byte 0x53 -+ .byte 0x7 -+ .long .LASF441 -+ .byte 0x1 -+ .long 0x2ef5 -+ .long 0x2f00 -+ .uleb128 0x2 -+ .long 0x4944 -+ .uleb128 0x1 -+ .long 0x494f -+ .byte 0 -+ .uleb128 0x1d -+ .long .LASF442 -+ .byte 0x1f -+ .byte 0x59 -+ .byte 0x7 -+ .long .LASF443 -+ .byte 0x1 -+ .long 0x2f15 -+ .long 0x2f20 -+ .uleb128 0x2 -+ .long 0x4944 -+ .uleb128 0x2 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF5 -+ .byte 0x1f -+ .byte 0x3f -+ .byte 0x1a -+ .long 0x3f04 -+ .byte 0x1 -+ .uleb128 0x29 -+ .long .LASF444 -+ .byte 0x1f -+ .byte 0x5c -+ .byte 0x7 -+ .long .LASF445 -+ .long 0x2f20 -+ .byte 0x1 -+ .long 0x2f46 -+ .long 0x2f51 -+ .uleb128 0x2 -+ .long 0x4955 -+ .uleb128 0x1 -+ .long 0x2f51 -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF133 -+ .byte 0x1f -+ .byte 0x41 -+ .byte 0x1a -+ .long 0x495b -+ .byte 0x1 -+ .uleb128 0x15 -+ .long .LASF17 -+ .byte 0x1f -+ .byte 0x40 -+ .byte 0x1a -+ .long 0x3bba -+ .byte 0x1 -+ .uleb128 0x29 -+ .long .LASF444 -+ .byte 0x1f -+ .byte 0x60 -+ .byte 0x7 -+ .long .LASF446 -+ .long 0x2f5e -+ .byte 0x1 -+ .long 0x2f84 -+ .long 0x2f8f -+ .uleb128 0x2 -+ .long 0x4955 -+ .uleb128 0x1 -+ .long 0x2f8f -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF130 -+ .byte 0x1f -+ .byte 0x42 -+ .byte 0x1a -+ .long 0x4961 -+ .byte 0x1 -+ .uleb128 0x29 -+ .long .LASF346 -+ .byte 0x1f -+ .byte 0x66 -+ .byte 0x7 -+ .long .LASF447 -+ .long 0x2f20 -+ .byte 0x1 -+ .long 0x2fb5 -+ .long 0x2fc5 -+ .uleb128 0x2 -+ .long 0x4944 -+ .uleb128 0x1 -+ .long 0x2fc5 -+ .uleb128 0x1 -+ .long 0x493d -+ .byte 0 -+ .uleb128 0x15 -+ .long .LASF6 -+ .byte 0x1f -+ .byte 0x3d -+ .byte 0x1a -+ .long 0x21b6 -+ .byte 0x1 -+ .uleb128 0x1d -+ .long .LASF350 -+ .byte 0x1f -+ .byte 0x77 -+ .byte 0x7 -+ .long .LASF448 -+ .byte 0x1 -+ .long 0x2fe7 -+ .long 0x2ff7 -+ .uleb128 0x2 -+ .long 0x4944 -+ .uleb128 0x1 -+ .long 0x2f20 -+ .uleb128 0x1 -+ .long 0x2fc5 -+ .byte 0 -+ .uleb128 0x29 -+ .long .LASF115 -+ .byte 0x1f -+ .byte 0x84 -+ .byte 0x7 -+ .long .LASF449 -+ .long 0x2fc5 -+ .byte 0x1 -+ .long 0x3010 -+ .long 0x3016 -+ .uleb128 0x2 -+ .long 0x4955 -+ .byte 0 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39df -+ .byte 0 -+ .uleb128 0xa -+ .long 0x2eb8 -+ .uleb128 0x13 -+ .long .LASF450 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x3d -+ .byte 0xc -+ .long 0x306c -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0x46 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF452 -+ .byte 0x20 -+ .byte 0x47 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF453 -+ .byte 0x20 -+ .byte 0x4b -+ .byte 0x1b -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF454 -+ .byte 0x20 -+ .byte 0x4e -+ .byte 0x1b -+ .long 0x39f2 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xc8 -+ .byte 0xb -+ .long 0x4a0e -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xd8 -+ .byte 0xb -+ .long 0x4c9e -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xe3 -+ .byte 0xb -+ .long 0x4cba -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xe4 -+ .byte 0xb -+ .long 0x4cd1 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xe5 -+ .byte 0xb -+ .long 0x4cf1 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xe7 -+ .byte 0xb -+ .long 0x4d11 -+ .uleb128 0x3 -+ .byte 0xf -+ .byte 0xe8 -+ .byte 0xb -+ .long 0x4d2c -+ .uleb128 0x73 -+ .string "div" -+ .byte 0xf -+ .byte 0xd5 -+ .byte 0x3 -+ .long .LASF930 -+ .long 0x4a0e -+ .long 0x30c3 -+ .uleb128 0x1 -+ .long 0x4436 -+ .uleb128 0x1 -+ .long 0x4436 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF456 -+ .byte 0x1 -+ .byte 0x21 -+ .byte 0x32 -+ .byte 0xa -+ .long 0x31f5 -+ .uleb128 0x3 -+ .byte 0x21 -+ .byte 0x32 -+ .byte 0xa -+ .long 0x27d7 -+ .uleb128 0x3 -+ .byte 0x21 -+ .byte 0x32 -+ .byte 0xa -+ .long 0x2798 -+ .uleb128 0x3 -+ .byte 0x21 -+ .byte 0x32 -+ .byte 0xa -+ .long 0x2809 -+ .uleb128 0x3 -+ .byte 0x21 -+ .byte 0x32 -+ .byte 0xa -+ .long 0x282a -+ .uleb128 0x47 -+ .long 0x277d -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF457 -+ .byte 0x21 -+ .byte 0x61 -+ .byte 0x13 -+ .long .LASF458 -+ .long 0x250f -+ .long 0x3110 -+ .uleb128 0x1 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x74 -+ .long .LASF459 -+ .byte 0x21 -+ .byte 0x64 -+ .byte 0x11 -+ .long .LASF931 -+ .long 0x312b -+ .uleb128 0x1 -+ .long 0x4978 -+ .uleb128 0x1 -+ .long 0x4978 -+ .byte 0 -+ .uleb128 0x33 -+ .long .LASF460 -+ .byte 0x21 -+ .byte 0x67 -+ .byte 0x1b -+ .long .LASF462 -+ .long 0x448e -+ .uleb128 0x33 -+ .long .LASF461 -+ .byte 0x21 -+ .byte 0x6a -+ .byte 0x1b -+ .long .LASF463 -+ .long 0x448e -+ .uleb128 0x33 -+ .long .LASF464 -+ .byte 0x21 -+ .byte 0x6d -+ .byte 0x1b -+ .long .LASF465 -+ .long 0x448e -+ .uleb128 0x33 -+ .long .LASF466 -+ .byte 0x21 -+ .byte 0x70 -+ .byte 0x1b -+ .long .LASF467 -+ .long 0x448e -+ .uleb128 0x33 -+ .long .LASF468 -+ .byte 0x21 -+ .byte 0x73 -+ .byte 0x1b -+ .long .LASF469 -+ .long 0x448e -+ .uleb128 0x5 -+ .long .LASF298 -+ .byte 0x21 -+ .byte 0x3a -+ .byte 0x35 -+ .long 0x2860 -+ .uleb128 0xa -+ .long 0x317b -+ .uleb128 0x5 -+ .long .LASF5 -+ .byte 0x21 -+ .byte 0x3b -+ .byte 0x35 -+ .long 0x278b -+ .uleb128 0x5 -+ .long .LASF17 -+ .byte 0x21 -+ .byte 0x3c -+ .byte 0x35 -+ .long 0x286d -+ .uleb128 0x5 -+ .long .LASF6 -+ .byte 0x21 -+ .byte 0x3d -+ .byte 0x35 -+ .long 0x27ca -+ .uleb128 0x5 -+ .long .LASF133 -+ .byte 0x21 -+ .byte 0x40 -+ .byte 0x35 -+ .long 0x50e3 -+ .uleb128 0x5 -+ .long .LASF130 -+ .byte 0x21 -+ .byte 0x41 -+ .byte 0x35 -+ .long 0x50e9 -+ .uleb128 0x13 -+ .long .LASF470 -+ .byte 0x1 -+ .byte 0x21 -+ .byte 0x77 -+ .byte 0xe -+ .long 0x31eb -+ .uleb128 0x5 -+ .long .LASF471 -+ .byte 0x21 -+ .byte 0x78 -+ .byte 0x41 -+ .long 0x287a -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39df -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF256 -+ .long 0x250f -+ .byte 0 -+ .uleb128 0x57 -+ .long .LASF472 -+ .byte 0x8 -+ .byte 0x22 -+ .value 0x310 -+ .byte 0xb -+ .long 0x342f -+ .uleb128 0x58 -+ .long .LASF473 -+ .byte 0x22 -+ .value 0x313 -+ .byte 0x11 -+ .long 0x3f04 -+ .byte 0 -+ .byte 0x2 -+ .uleb128 0x10 -+ .long .LASF474 -+ .byte 0x22 -+ .value 0x31f -+ .byte 0x1a -+ .long .LASF475 -+ .byte 0x1 -+ .long 0x3228 -+ .long 0x322e -+ .uleb128 0x2 -+ .long 0x5220 -+ .byte 0 -+ .uleb128 0x3e -+ .long .LASF474 -+ .byte 0x22 -+ .value 0x323 -+ .byte 0x7 -+ .long .LASF476 -+ .byte 0x1 -+ .long 0x3244 -+ .long 0x324f -+ .uleb128 0x2 -+ .long 0x5220 -+ .uleb128 0x1 -+ .long 0x522b -+ .byte 0 -+ .uleb128 0x28 -+ .long .LASF133 -+ .byte 0x22 -+ .value 0x31c -+ .byte 0x32 -+ .long 0x2bcf -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF477 -+ .byte 0x22 -+ .value 0x330 -+ .byte 0x7 -+ .long .LASF478 -+ .long 0x324f -+ .byte 0x1 -+ .long 0x3277 -+ .long 0x327d -+ .uleb128 0x2 -+ .long 0x5231 -+ .byte 0 -+ .uleb128 0x28 -+ .long .LASF5 -+ .byte 0x22 -+ .value 0x31d -+ .byte 0x32 -+ .long 0x2bc3 -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF479 -+ .byte 0x22 -+ .value 0x334 -+ .byte 0x7 -+ .long .LASF480 -+ .long 0x327d -+ .byte 0x1 -+ .long 0x32a5 -+ .long 0x32ab -+ .uleb128 0x2 -+ .long 0x5231 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF481 -+ .byte 0x22 -+ .value 0x338 -+ .byte 0x7 -+ .long .LASF482 -+ .long 0x523c -+ .byte 0x1 -+ .long 0x32c5 -+ .long 0x32cb -+ .uleb128 0x2 -+ .long 0x5220 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF481 -+ .byte 0x22 -+ .value 0x33f -+ .byte 0x7 -+ .long .LASF483 -+ .long 0x31f5 -+ .byte 0x1 -+ .long 0x32e5 -+ .long 0x32f0 -+ .uleb128 0x2 -+ .long 0x5220 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF484 -+ .byte 0x22 -+ .value 0x344 -+ .byte 0x7 -+ .long .LASF485 -+ .long 0x523c -+ .byte 0x1 -+ .long 0x330a -+ .long 0x3310 -+ .uleb128 0x2 -+ .long 0x5220 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF484 -+ .byte 0x22 -+ .value 0x34b -+ .byte 0x7 -+ .long .LASF486 -+ .long 0x31f5 -+ .byte 0x1 -+ .long 0x332a -+ .long 0x3335 -+ .uleb128 0x2 -+ .long 0x5220 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF131 -+ .byte 0x22 -+ .value 0x350 -+ .byte 0x7 -+ .long .LASF487 -+ .long 0x324f -+ .byte 0x1 -+ .long 0x334f -+ .long 0x335a -+ .uleb128 0x2 -+ .long 0x5231 -+ .uleb128 0x1 -+ .long 0x335a -+ .byte 0 -+ .uleb128 0x28 -+ .long .LASF401 -+ .byte 0x22 -+ .value 0x31b -+ .byte 0x38 -+ .long 0x2bb7 -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF143 -+ .byte 0x22 -+ .value 0x354 -+ .byte 0x7 -+ .long .LASF488 -+ .long 0x523c -+ .byte 0x1 -+ .long 0x3382 -+ .long 0x338d -+ .uleb128 0x2 -+ .long 0x5220 -+ .uleb128 0x1 -+ .long 0x335a -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF489 -+ .byte 0x22 -+ .value 0x358 -+ .byte 0x7 -+ .long .LASF490 -+ .long 0x31f5 -+ .byte 0x1 -+ .long 0x33a7 -+ .long 0x33b2 -+ .uleb128 0x2 -+ .long 0x5231 -+ .uleb128 0x1 -+ .long 0x335a -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF491 -+ .byte 0x22 -+ .value 0x35c -+ .byte 0x7 -+ .long .LASF492 -+ .long 0x523c -+ .byte 0x1 -+ .long 0x33cc -+ .long 0x33d7 -+ .uleb128 0x2 -+ .long 0x5220 -+ .uleb128 0x1 -+ .long 0x335a -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF493 -+ .byte 0x22 -+ .value 0x360 -+ .byte 0x7 -+ .long .LASF494 -+ .long 0x31f5 -+ .byte 0x1 -+ .long 0x33f1 -+ .long 0x33fc -+ .uleb128 0x2 -+ .long 0x5231 -+ .uleb128 0x1 -+ .long 0x335a -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF495 -+ .byte 0x22 -+ .value 0x364 -+ .byte 0x7 -+ .long .LASF496 -+ .long 0x522b -+ .byte 0x1 -+ .long 0x3416 -+ .long 0x341c -+ .uleb128 0x2 -+ .long 0x5231 -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF402 -+ .long 0x3f04 -+ .uleb128 0xc -+ .long .LASF497 -+ .long 0x45 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x31f5 -+ .uleb128 0x57 -+ .long .LASF498 -+ .byte 0x8 -+ .byte 0x22 -+ .value 0x310 -+ .byte 0xb -+ .long 0x3698 -+ .uleb128 0x58 -+ .long .LASF473 -+ .byte 0x22 -+ .value 0x313 -+ .byte 0x11 -+ .long 0x3bba -+ .byte 0 -+ .byte 0x2 -+ .uleb128 0x10 -+ .long .LASF474 -+ .byte 0x22 -+ .value 0x31f -+ .byte 0x1a -+ .long .LASF499 -+ .byte 0x1 -+ .long 0x3467 -+ .long 0x346d -+ .uleb128 0x2 -+ .long 0x51f2 -+ .byte 0 -+ .uleb128 0x3e -+ .long .LASF474 -+ .byte 0x22 -+ .value 0x323 -+ .byte 0x7 -+ .long .LASF500 -+ .byte 0x1 -+ .long 0x3483 -+ .long 0x348e -+ .uleb128 0x2 -+ .long 0x51f2 -+ .uleb128 0x1 -+ .long 0x51fd -+ .byte 0 -+ .uleb128 0x28 -+ .long .LASF133 -+ .byte 0x22 -+ .value 0x31c -+ .byte 0x32 -+ .long 0x2c2f -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF477 -+ .byte 0x22 -+ .value 0x330 -+ .byte 0x7 -+ .long .LASF501 -+ .long 0x348e -+ .byte 0x1 -+ .long 0x34b6 -+ .long 0x34bc -+ .uleb128 0x2 -+ .long 0x5203 -+ .byte 0 -+ .uleb128 0x28 -+ .long .LASF5 -+ .byte 0x22 -+ .value 0x31d -+ .byte 0x32 -+ .long 0x2c23 -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF479 -+ .byte 0x22 -+ .value 0x334 -+ .byte 0x7 -+ .long .LASF502 -+ .long 0x34bc -+ .byte 0x1 -+ .long 0x34e4 -+ .long 0x34ea -+ .uleb128 0x2 -+ .long 0x5203 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF481 -+ .byte 0x22 -+ .value 0x338 -+ .byte 0x7 -+ .long .LASF503 -+ .long 0x520e -+ .byte 0x1 -+ .long 0x3504 -+ .long 0x350a -+ .uleb128 0x2 -+ .long 0x51f2 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF481 -+ .byte 0x22 -+ .value 0x33f -+ .byte 0x7 -+ .long .LASF504 -+ .long 0x3434 -+ .byte 0x1 -+ .long 0x3524 -+ .long 0x352f -+ .uleb128 0x2 -+ .long 0x51f2 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF484 -+ .byte 0x22 -+ .value 0x344 -+ .byte 0x7 -+ .long .LASF505 -+ .long 0x520e -+ .byte 0x1 -+ .long 0x3549 -+ .long 0x354f -+ .uleb128 0x2 -+ .long 0x51f2 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF484 -+ .byte 0x22 -+ .value 0x34b -+ .byte 0x7 -+ .long .LASF506 -+ .long 0x3434 -+ .byte 0x1 -+ .long 0x3569 -+ .long 0x3574 -+ .uleb128 0x2 -+ .long 0x51f2 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF131 -+ .byte 0x22 -+ .value 0x350 -+ .byte 0x7 -+ .long .LASF507 -+ .long 0x348e -+ .byte 0x1 -+ .long 0x358e -+ .long 0x3599 -+ .uleb128 0x2 -+ .long 0x5203 -+ .uleb128 0x1 -+ .long 0x3599 -+ .byte 0 -+ .uleb128 0x28 -+ .long .LASF401 -+ .byte 0x22 -+ .value 0x31b -+ .byte 0x38 -+ .long 0x2c17 -+ .byte 0x1 -+ .uleb128 0x4 -+ .long .LASF143 -+ .byte 0x22 -+ .value 0x354 -+ .byte 0x7 -+ .long .LASF508 -+ .long 0x520e -+ .byte 0x1 -+ .long 0x35c1 -+ .long 0x35cc -+ .uleb128 0x2 -+ .long 0x51f2 -+ .uleb128 0x1 -+ .long 0x3599 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF489 -+ .byte 0x22 -+ .value 0x358 -+ .byte 0x7 -+ .long .LASF509 -+ .long 0x3434 -+ .byte 0x1 -+ .long 0x35e6 -+ .long 0x35f1 -+ .uleb128 0x2 -+ .long 0x5203 -+ .uleb128 0x1 -+ .long 0x3599 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF491 -+ .byte 0x22 -+ .value 0x35c -+ .byte 0x7 -+ .long .LASF510 -+ .long 0x520e -+ .byte 0x1 -+ .long 0x360b -+ .long 0x3616 -+ .uleb128 0x2 -+ .long 0x51f2 -+ .uleb128 0x1 -+ .long 0x3599 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF493 -+ .byte 0x22 -+ .value 0x360 -+ .byte 0x7 -+ .long .LASF511 -+ .long 0x3434 -+ .byte 0x1 -+ .long 0x3630 -+ .long 0x363b -+ .uleb128 0x2 -+ .long 0x5203 -+ .uleb128 0x1 -+ .long 0x3599 -+ .byte 0 -+ .uleb128 0x4 -+ .long .LASF495 -+ .byte 0x22 -+ .value 0x364 -+ .byte 0x7 -+ .long .LASF512 -+ .long 0x51fd -+ .byte 0x1 -+ .long 0x3655 -+ .long 0x365b -+ .uleb128 0x2 -+ .long 0x5203 -+ .byte 0 -+ .uleb128 0x10 -+ .long .LASF513 -+ .byte 0x22 -+ .value 0x328 -+ .byte 0x9 -+ .long .LASF514 -+ .byte 0x1 -+ .long 0x367a -+ .long 0x3685 -+ .uleb128 0xc -+ .long .LASF515 -+ .long 0x3f04 -+ .uleb128 0x2 -+ .long 0x51f2 -+ .uleb128 0x1 -+ .long 0x5391 -+ .byte 0 -+ .uleb128 0xc -+ .long .LASF402 -+ .long 0x3bba -+ .uleb128 0xc -+ .long .LASF497 -+ .long 0x45 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x3434 -+ .uleb128 0x13 -+ .long .LASF516 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x9c -+ .byte 0xc -+ .long 0x36e4 -+ .uleb128 0xf -+ .long .LASF517 -+ .byte 0x20 -+ .byte 0x9f -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0xa2 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF518 -+ .byte 0x20 -+ .byte 0xa3 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF519 -+ .byte 0x20 -+ .byte 0xa4 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x3906 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF520 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x9c -+ .byte 0xc -+ .long 0x372b -+ .uleb128 0xf -+ .long .LASF517 -+ .byte 0x20 -+ .byte 0x9f -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0xa2 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF518 -+ .byte 0x20 -+ .byte 0xa3 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF519 -+ .byte 0x20 -+ .byte 0xa4 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x390d -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF521 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x9c -+ .byte 0xc -+ .long 0x3772 -+ .uleb128 0xf -+ .long .LASF517 -+ .byte 0x20 -+ .byte 0x9f -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0xa2 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF518 -+ .byte 0x20 -+ .byte 0xa3 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF519 -+ .byte 0x20 -+ .byte 0xa4 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x3914 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF522 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x3d -+ .byte 0xc -+ .long 0x37b9 -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0x46 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF452 -+ .byte 0x20 -+ .byte 0x47 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF453 -+ .byte 0x20 -+ .byte 0x4b -+ .byte 0x1b -+ .long 0x392e -+ .uleb128 0xf -+ .long .LASF454 -+ .byte 0x20 -+ .byte 0x4e -+ .byte 0x1b -+ .long 0x392e -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x3927 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF523 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x3d -+ .byte 0xc -+ .long 0x3800 -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0x46 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF452 -+ .byte 0x20 -+ .byte 0x47 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF453 -+ .byte 0x20 -+ .byte 0x4b -+ .byte 0x1b -+ .long 0x39e6 -+ .uleb128 0xf -+ .long .LASF454 -+ .byte 0x20 -+ .byte 0x4e -+ .byte 0x1b -+ .long 0x39e6 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x39df -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF524 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x3d -+ .byte 0xc -+ .long 0x3847 -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0x46 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF452 -+ .byte 0x20 -+ .byte 0x47 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF453 -+ .byte 0x20 -+ .byte 0x4b -+ .byte 0x1b -+ .long 0x44c8 -+ .uleb128 0xf -+ .long .LASF454 -+ .byte 0x20 -+ .byte 0x4e -+ .byte 0x1b -+ .long 0x44c8 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x44c1 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF525 -+ .byte 0x1 -+ .byte 0x20 -+ .byte 0x3d -+ .byte 0xc -+ .long 0x388e -+ .uleb128 0xf -+ .long .LASF451 -+ .byte 0x20 -+ .byte 0x46 -+ .byte 0x19 -+ .long 0x4495 -+ .uleb128 0xf -+ .long .LASF452 -+ .byte 0x20 -+ .byte 0x47 -+ .byte 0x18 -+ .long 0x39f2 -+ .uleb128 0xf -+ .long .LASF453 -+ .byte 0x20 -+ .byte 0x4b -+ .byte 0x1b -+ .long 0x41a7 -+ .uleb128 0xf -+ .long .LASF454 -+ .byte 0x20 -+ .byte 0x4e -+ .byte 0x1b -+ .long 0x41a7 -+ .uleb128 0xc -+ .long .LASF455 -+ .long 0x41a0 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF526 -+ .byte 0x22 -+ .value 0x3da -+ .byte 0x5 -+ .long .LASF527 -+ .long 0x3599 -+ .long 0x38c0 -+ .uleb128 0xc -+ .long .LASF402 -+ .long 0x3bba -+ .uleb128 0xc -+ .long .LASF497 -+ .long 0x45 -+ .uleb128 0x1 -+ .long 0x5354 -+ .uleb128 0x1 -+ .long 0x5354 -+ .byte 0 -+ .uleb128 0x75 -+ .long .LASF528 -+ .byte 0x22 -+ .value 0x3ce -+ .byte 0x5 -+ .long .LASF529 -+ .long 0x41a0 -+ .uleb128 0xc -+ .long .LASF530 -+ .long 0x3bba -+ .uleb128 0xc -+ .long .LASF531 -+ .long 0x3f04 -+ .uleb128 0xc -+ .long .LASF497 -+ .long 0x45 -+ .uleb128 0x1 -+ .long 0x5354 -+ .uleb128 0x1 -+ .long 0x5391 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x16 -+ .byte 0x20 -+ .byte 0x3 -+ .long .LASF532 -+ .uleb128 0x16 -+ .byte 0x10 -+ .byte 0x4 -+ .long .LASF533 -+ .uleb128 0x16 -+ .byte 0x4 -+ .byte 0x4 -+ .long .LASF534 -+ .uleb128 0x16 -+ .byte 0x8 -+ .byte 0x4 -+ .long .LASF535 -+ .uleb128 0x16 -+ .byte 0x10 -+ .byte 0x4 -+ .long .LASF536 -+ .uleb128 0x5 -+ .long .LASF307 -+ .byte 0x23 -+ .byte 0xd1 -+ .byte 0x17 -+ .long 0x3927 -+ .uleb128 0x16 -+ .byte 0x8 -+ .byte 0x7 -+ .long .LASF537 -+ .uleb128 0xa -+ .long 0x3927 -+ .uleb128 0x76 -+ .long .LASF932 -+ .byte 0x18 -+ .byte 0x24 -+ .byte 0 -+ .long 0x3970 -+ .uleb128 0x39 -+ .long .LASF538 -+ .byte 0x24 -+ .byte 0 -+ .long 0x3970 -+ .byte 0 -+ .uleb128 0x39 -+ .long .LASF539 -+ .byte 0x24 -+ .byte 0 -+ .long 0x3970 -+ .byte 0x4 -+ .uleb128 0x39 -+ .long .LASF540 -+ .byte 0x24 -+ .byte 0 -+ .long 0x3977 -+ .byte 0x8 -+ .uleb128 0x39 -+ .long .LASF541 -+ .byte 0x24 -+ .byte 0 -+ .long 0x3977 -+ .byte 0x10 -+ .byte 0 -+ .uleb128 0x16 -+ .byte 0x4 -+ .byte 0x7 -+ .long .LASF542 -+ .uleb128 0x77 -+ .byte 0x8 -+ .uleb128 0x5 -+ .long .LASF543 -+ .byte 0x25 -+ .byte 0x14 -+ .byte 0x17 -+ .long 0x3970 -+ .uleb128 0x3a -+ .byte 0x8 -+ .byte 0x26 -+ .byte 0xe -+ .byte 0x1 -+ .long .LASF754 -+ .long 0x39cf -+ .uleb128 0x48 -+ .byte 0x4 -+ .byte 0x26 -+ .byte 0x11 -+ .byte 0x3 -+ .long 0x39b4 -+ .uleb128 0x37 -+ .long .LASF544 -+ .byte 0x26 -+ .byte 0x12 -+ .byte 0x13 -+ .long 0x3970 -+ .uleb128 0x37 -+ .long .LASF545 -+ .byte 0x26 -+ .byte 0x13 -+ .byte 0xa -+ .long 0x39cf -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF546 -+ .byte 0x26 -+ .byte 0xf -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF416 -+ .byte 0x26 -+ .byte 0x14 -+ .byte 0x5 -+ .long 0x3992 -+ .byte 0x4 -+ .byte 0 -+ .uleb128 0x2d -+ .long 0x39df -+ .long 0x39df -+ .uleb128 0x34 -+ .long 0x3927 -+ .byte 0x3 -+ .byte 0 -+ .uleb128 0x16 -+ .byte 0x1 -+ .byte 0x6 -+ .long .LASF547 -+ .uleb128 0xa -+ .long 0x39df -+ .uleb128 0x78 -+ .byte 0x4 -+ .byte 0x5 -+ .string "int" -+ .uleb128 0xa -+ .long 0x39eb -+ .uleb128 0x5 -+ .long .LASF548 -+ .byte 0x26 -+ .byte 0x15 -+ .byte 0x3 -+ .long 0x3985 -+ .uleb128 0x5 -+ .long .LASF549 -+ .byte 0x27 -+ .byte 0x6 -+ .byte 0x15 -+ .long 0x39f7 -+ .uleb128 0xa -+ .long 0x3a03 -+ .uleb128 0x5 -+ .long .LASF550 -+ .byte 0x28 -+ .byte 0x5 -+ .byte 0x19 -+ .long 0x3a20 -+ .uleb128 0x13 -+ .long .LASF551 -+ .byte 0xd8 -+ .byte 0x29 -+ .byte 0x31 -+ .byte 0x8 -+ .long 0x3ba7 -+ .uleb128 0x6 -+ .long .LASF552 -+ .byte 0x29 -+ .byte 0x33 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF553 -+ .byte 0x29 -+ .byte 0x36 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x8 -+ .uleb128 0x6 -+ .long .LASF554 -+ .byte 0x29 -+ .byte 0x37 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x10 -+ .uleb128 0x6 -+ .long .LASF555 -+ .byte 0x29 -+ .byte 0x38 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x18 -+ .uleb128 0x6 -+ .long .LASF556 -+ .byte 0x29 -+ .byte 0x39 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x20 -+ .uleb128 0x6 -+ .long .LASF557 -+ .byte 0x29 -+ .byte 0x3a -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x28 -+ .uleb128 0x6 -+ .long .LASF558 -+ .byte 0x29 -+ .byte 0x3b -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x30 -+ .uleb128 0x6 -+ .long .LASF559 -+ .byte 0x29 -+ .byte 0x3c -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x38 -+ .uleb128 0x6 -+ .long .LASF560 -+ .byte 0x29 -+ .byte 0x3d -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x40 -+ .uleb128 0x6 -+ .long .LASF561 -+ .byte 0x29 -+ .byte 0x40 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x48 -+ .uleb128 0x6 -+ .long .LASF562 -+ .byte 0x29 -+ .byte 0x41 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x50 -+ .uleb128 0x6 -+ .long .LASF563 -+ .byte 0x29 -+ .byte 0x42 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x58 -+ .uleb128 0x6 -+ .long .LASF564 -+ .byte 0x29 -+ .byte 0x44 -+ .byte 0x16 -+ .long 0x4d89 -+ .byte 0x60 -+ .uleb128 0x6 -+ .long .LASF565 -+ .byte 0x29 -+ .byte 0x46 -+ .byte 0x14 -+ .long 0x4d8f -+ .byte 0x68 -+ .uleb128 0x6 -+ .long .LASF566 -+ .byte 0x29 -+ .byte 0x48 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x70 -+ .uleb128 0x6 -+ .long .LASF567 -+ .byte 0x29 -+ .byte 0x49 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x74 -+ .uleb128 0x6 -+ .long .LASF568 -+ .byte 0x29 -+ .byte 0x4a -+ .byte 0xb -+ .long 0x45fd -+ .byte 0x78 -+ .uleb128 0x6 -+ .long .LASF569 -+ .byte 0x29 -+ .byte 0x4d -+ .byte 0x12 -+ .long 0x3bb3 -+ .byte 0x80 -+ .uleb128 0x6 -+ .long .LASF570 -+ .byte 0x29 -+ .byte 0x4e -+ .byte 0xf -+ .long 0x44ba -+ .byte 0x82 -+ .uleb128 0x6 -+ .long .LASF571 -+ .byte 0x29 -+ .byte 0x4f -+ .byte 0x8 -+ .long 0x4d95 -+ .byte 0x83 -+ .uleb128 0x6 -+ .long .LASF572 -+ .byte 0x29 -+ .byte 0x51 -+ .byte 0xf -+ .long 0x4da5 -+ .byte 0x88 -+ .uleb128 0x6 -+ .long .LASF573 -+ .byte 0x29 -+ .byte 0x59 -+ .byte 0xd -+ .long 0x4609 -+ .byte 0x90 -+ .uleb128 0x6 -+ .long .LASF574 -+ .byte 0x29 -+ .byte 0x5b -+ .byte 0x17 -+ .long 0x4db0 -+ .byte 0x98 -+ .uleb128 0x6 -+ .long .LASF575 -+ .byte 0x29 -+ .byte 0x5c -+ .byte 0x19 -+ .long 0x4dbb -+ .byte 0xa0 -+ .uleb128 0x6 -+ .long .LASF576 -+ .byte 0x29 -+ .byte 0x5d -+ .byte 0x14 -+ .long 0x4d8f -+ .byte 0xa8 -+ .uleb128 0x6 -+ .long .LASF577 -+ .byte 0x29 -+ .byte 0x5e -+ .byte 0x9 -+ .long 0x3977 -+ .byte 0xb0 -+ .uleb128 0x6 -+ .long .LASF578 -+ .byte 0x29 -+ .byte 0x5f -+ .byte 0xa -+ .long 0x391b -+ .byte 0xb8 -+ .uleb128 0x6 -+ .long .LASF579 -+ .byte 0x29 -+ .byte 0x60 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0xc0 -+ .uleb128 0x6 -+ .long .LASF580 -+ .byte 0x29 -+ .byte 0x62 -+ .byte 0x8 -+ .long 0x4dc1 -+ .byte 0xc4 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF581 -+ .byte 0x2a -+ .byte 0x7 -+ .byte 0x19 -+ .long 0x3a20 -+ .uleb128 0x16 -+ .byte 0x2 -+ .byte 0x7 -+ .long .LASF582 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x39e6 -+ .uleb128 0xa -+ .long 0x3bba -+ .uleb128 0x9 -+ .long .LASF583 -+ .byte 0x2b -+ .value 0x13e -+ .byte 0x1 -+ .long 0x3979 -+ .long 0x3bdc -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF584 -+ .byte 0x2b -+ .value 0x2d6 -+ .byte 0xf -+ .long 0x3979 -+ .long 0x3bf3 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3a14 -+ .uleb128 0x9 -+ .long .LASF585 -+ .byte 0x2c -+ .value 0x180 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x39eb -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3c20 -+ .uleb128 0x16 -+ .byte 0x4 -+ .byte 0x5 -+ .long .LASF586 -+ .uleb128 0xa -+ .long 0x3c20 -+ .uleb128 0x9 -+ .long .LASF587 -+ .byte 0x2b -+ .value 0x2e4 -+ .byte 0xf -+ .long 0x3979 -+ .long 0x3c48 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF588 -+ .byte 0x2b -+ .value 0x2fa -+ .byte 0xc -+ .long 0x39eb -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3c27 -+ .uleb128 0x9 -+ .long .LASF589 -+ .byte 0x2b -+ .value 0x23d -+ .byte 0xc -+ .long 0x39eb -+ .long 0x3c86 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF590 -+ .byte 0x2c -+ .value 0x159 -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x3ca3 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF591 -+ .byte 0x2b -+ .value 0x280 -+ .byte 0xc -+ .long .LASF592 -+ .long 0x39eb -+ .long 0x3cc4 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF593 -+ .byte 0x2b -+ .value 0x2d7 -+ .byte 0xf -+ .long 0x3979 -+ .long 0x3cdb -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x59 -+ .long .LASF745 -+ .byte 0x2b -+ .value 0x2dd -+ .byte 0xf -+ .long 0x3979 -+ .uleb128 0x9 -+ .long .LASF594 -+ .byte 0x2b -+ .value 0x149 -+ .byte 0x1 -+ .long 0x391b -+ .long 0x3d09 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3d09 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3a03 -+ .uleb128 0x9 -+ .long .LASF595 -+ .byte 0x2b -+ .value 0x128 -+ .byte 0xf -+ .long 0x391b -+ .long 0x3d35 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3d09 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF596 -+ .byte 0x2b -+ .value 0x124 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x3d4c -+ .uleb128 0x1 -+ .long 0x3d4c -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3a0f -+ .uleb128 0x9 -+ .long .LASF597 -+ .byte 0x2c -+ .value 0x1da -+ .byte 0x1 -+ .long 0x391b -+ .long 0x3d78 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3d78 -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3d09 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3bba -+ .uleb128 0x9 -+ .long .LASF598 -+ .byte 0x2b -+ .value 0x2e5 -+ .byte 0xf -+ .long 0x3979 -+ .long 0x3d9a -+ .uleb128 0x1 -+ .long 0x3c20 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF599 -+ .byte 0x2b -+ .value 0x2eb -+ .byte 0xf -+ .long 0x3979 -+ .long 0x3db1 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF600 -+ .byte 0x2c -+ .value 0x11d -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x3dd3 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF601 -+ .byte 0x2b -+ .value 0x287 -+ .byte 0xc -+ .long .LASF602 -+ .long 0x39eb -+ .long 0x3df4 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF603 -+ .byte 0x2b -+ .value 0x302 -+ .byte 0xf -+ .long 0x3979 -+ .long 0x3e10 -+ .uleb128 0x1 -+ .long 0x3979 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF604 -+ .byte 0x2c -+ .value 0x16c -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x3e31 -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3e31 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3933 -+ .uleb128 0x14 -+ .long .LASF605 -+ .byte 0x2b -+ .value 0x2b5 -+ .byte 0xc -+ .long .LASF606 -+ .long 0x39eb -+ .long 0x3e5c -+ .uleb128 0x1 -+ .long 0x3bf3 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3e31 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF607 -+ .byte 0x2c -+ .value 0x13b -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x3e82 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3e31 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF608 -+ .byte 0x2b -+ .value 0x2bc -+ .byte 0xc -+ .long .LASF609 -+ .long 0x39eb -+ .long 0x3ea7 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3e31 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF610 -+ .byte 0x2c -+ .value 0x166 -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x3ec3 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3e31 -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF611 -+ .byte 0x2b -+ .value 0x2b9 -+ .byte 0xc -+ .long .LASF612 -+ .long 0x39eb -+ .long 0x3ee3 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3e31 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF613 -+ .byte 0x2c -+ .value 0x1b8 -+ .byte 0x1 -+ .long 0x391b -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .uleb128 0x1 -+ .long 0x3d09 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x39df -+ .uleb128 0xa -+ .long 0x3f04 -+ .uleb128 0xe -+ .long .LASF614 -+ .byte 0x2c -+ .byte 0xf6 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x3f2a -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF615 -+ .byte 0x2b -+ .byte 0x6a -+ .byte 0xc -+ .long 0x39eb -+ .long 0x3f45 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF616 -+ .byte 0x2b -+ .byte 0x83 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x3f60 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF617 -+ .byte 0x2c -+ .byte 0x98 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x3f7b -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF618 -+ .byte 0x2b -+ .byte 0xbb -+ .byte 0xf -+ .long 0x391b -+ .long 0x3f96 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF619 -+ .byte 0x2b -+ .value 0x342 -+ .byte 0xf -+ .long 0x391b -+ .long 0x3fbc -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3fbc -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x405e -+ .uleb128 0x79 -+ .string "tm" -+ .byte 0x38 -+ .byte 0x2d -+ .byte 0x7 -+ .byte 0x8 -+ .long 0x405e -+ .uleb128 0x6 -+ .long .LASF620 -+ .byte 0x2d -+ .byte 0x9 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF621 -+ .byte 0x2d -+ .byte 0xa -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x4 -+ .uleb128 0x6 -+ .long .LASF622 -+ .byte 0x2d -+ .byte 0xb -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x8 -+ .uleb128 0x6 -+ .long .LASF623 -+ .byte 0x2d -+ .byte 0xc -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0xc -+ .uleb128 0x6 -+ .long .LASF624 -+ .byte 0x2d -+ .byte 0xd -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x10 -+ .uleb128 0x6 -+ .long .LASF625 -+ .byte 0x2d -+ .byte 0xe -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x14 -+ .uleb128 0x6 -+ .long .LASF626 -+ .byte 0x2d -+ .byte 0xf -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x18 -+ .uleb128 0x6 -+ .long .LASF627 -+ .byte 0x2d -+ .byte 0x10 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x1c -+ .uleb128 0x6 -+ .long .LASF628 -+ .byte 0x2d -+ .byte 0x11 -+ .byte 0x7 -+ .long 0x39eb -+ .byte 0x20 -+ .uleb128 0x6 -+ .long .LASF629 -+ .byte 0x2d -+ .byte 0x14 -+ .byte 0xc -+ .long 0x41a0 -+ .byte 0x28 -+ .uleb128 0x6 -+ .long .LASF630 -+ .byte 0x2d -+ .byte 0x15 -+ .byte 0xf -+ .long 0x3bba -+ .byte 0x30 -+ .byte 0 -+ .uleb128 0xa -+ .long 0x3fc2 -+ .uleb128 0xe -+ .long .LASF631 -+ .byte 0x2b -+ .byte 0xde -+ .byte 0xf -+ .long 0x391b -+ .long 0x4079 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF632 -+ .byte 0x2c -+ .value 0x107 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x409a -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF633 -+ .byte 0x2b -+ .byte 0x6d -+ .byte 0xc -+ .long 0x39eb -+ .long 0x40ba -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF634 -+ .byte 0x2c -+ .byte 0xbf -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x40da -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF635 -+ .byte 0x2c -+ .value 0x1fc -+ .byte 0x1 -+ .long 0x391b -+ .long 0x4100 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x4100 -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x3d09 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3c64 -+ .uleb128 0xe -+ .long .LASF636 -+ .byte 0x2b -+ .byte 0xbf -+ .byte 0xf -+ .long 0x391b -+ .long 0x4121 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF637 -+ .byte 0x2b -+ .value 0x179 -+ .byte 0xf -+ .long 0x390d -+ .long 0x413d -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3c1a -+ .uleb128 0x9 -+ .long .LASF638 -+ .byte 0x2b -+ .value 0x17e -+ .byte 0xe -+ .long 0x3906 -+ .long 0x415f -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF639 -+ .byte 0x2b -+ .byte 0xd9 -+ .byte 0x11 -+ .long 0x3c1a -+ .long 0x417f -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF640 -+ .byte 0x2b -+ .value 0x1ac -+ .byte 0x11 -+ .long 0x41a0 -+ .long 0x41a0 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x16 -+ .byte 0x8 -+ .byte 0x5 -+ .long .LASF641 -+ .uleb128 0xa -+ .long 0x41a0 -+ .uleb128 0x9 -+ .long .LASF642 -+ .byte 0x2b -+ .value 0x1b1 -+ .byte 0x1a -+ .long 0x3927 -+ .long 0x41cd -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF643 -+ .byte 0x2b -+ .byte 0x87 -+ .byte 0xf -+ .long 0x391b -+ .long 0x41ed -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF644 -+ .byte 0x2b -+ .value 0x144 -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x4204 -+ .uleb128 0x1 -+ .long 0x3979 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF645 -+ .byte 0x2b -+ .value 0x102 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4225 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF646 -+ .byte 0x2c -+ .byte 0x27 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x4245 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF647 -+ .byte 0x2c -+ .byte 0x44 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x4265 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF648 -+ .byte 0x2c -+ .byte 0x81 -+ .byte 0x1 -+ .long 0x3c1a -+ .long 0x4285 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c20 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF649 -+ .byte 0x2c -+ .value 0x153 -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x429d -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x14 -+ .long .LASF650 -+ .byte 0x2b -+ .value 0x284 -+ .byte 0xc -+ .long .LASF651 -+ .long 0x39eb -+ .long 0x42b9 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF652 -+ .byte 0x2b -+ .byte 0xa1 -+ .byte 0x1d -+ .long .LASF652 -+ .long 0x3c64 -+ .long 0x42d8 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF652 -+ .byte 0x2b -+ .byte 0x9f -+ .byte 0x17 -+ .long .LASF652 -+ .long 0x3c1a -+ .long 0x42f7 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c20 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF653 -+ .byte 0x2b -+ .byte 0xc5 -+ .byte 0x1d -+ .long .LASF653 -+ .long 0x3c64 -+ .long 0x4316 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF653 -+ .byte 0x2b -+ .byte 0xc3 -+ .byte 0x17 -+ .long .LASF653 -+ .long 0x3c1a -+ .long 0x4335 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF654 -+ .byte 0x2b -+ .byte 0xab -+ .byte 0x1d -+ .long .LASF654 -+ .long 0x3c64 -+ .long 0x4354 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF654 -+ .byte 0x2b -+ .byte 0xa9 -+ .byte 0x17 -+ .long .LASF654 -+ .long 0x3c1a -+ .long 0x4373 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c20 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF655 -+ .byte 0x2b -+ .byte 0xd0 -+ .byte 0x1d -+ .long .LASF655 -+ .long 0x3c64 -+ .long 0x4392 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF655 -+ .byte 0x2b -+ .byte 0xce -+ .byte 0x17 -+ .long .LASF655 -+ .long 0x3c1a -+ .long 0x43b1 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c64 -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF656 -+ .byte 0x2b -+ .byte 0xf9 -+ .byte 0x1d -+ .long .LASF656 -+ .long 0x3c64 -+ .long 0x43d5 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x18 -+ .long .LASF656 -+ .byte 0x2b -+ .byte 0xf7 -+ .byte 0x17 -+ .long .LASF656 -+ .long 0x3c1a -+ .long 0x43f9 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3c20 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF657 -+ .byte 0x2b -+ .value 0x180 -+ .byte 0x14 -+ .long 0x3914 -+ .long 0x4415 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF658 -+ .byte 0x2b -+ .value 0x1b9 -+ .byte 0x16 -+ .long 0x4436 -+ .long 0x4436 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x16 -+ .byte 0x8 -+ .byte 0x5 -+ .long .LASF659 -+ .uleb128 0x9 -+ .long .LASF660 -+ .byte 0x2b -+ .value 0x1c0 -+ .byte 0x1f -+ .long 0x445e -+ .long 0x445e -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x413d -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x16 -+ .byte 0x8 -+ .byte 0x7 -+ .long .LASF661 -+ .uleb128 0x7a -+ .long .LASF933 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1e70 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1eb6 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x207f -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x207f -+ .uleb128 0x3b -+ .byte 0x8 -+ .long 0x1eb6 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x1eb6 -+ .uleb128 0x16 -+ .byte 0x1 -+ .byte 0x2 -+ .long .LASF662 -+ .uleb128 0xa -+ .long 0x448e -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x20bd -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2137 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x21b1 -+ .uleb128 0x16 -+ .byte 0x1 -+ .byte 0x8 -+ .long .LASF663 -+ .uleb128 0x16 -+ .byte 0x10 -+ .byte 0x7 -+ .long .LASF664 -+ .uleb128 0x16 -+ .byte 0x1 -+ .byte 0x6 -+ .long .LASF665 -+ .uleb128 0x16 -+ .byte 0x2 -+ .byte 0x5 -+ .long .LASF666 -+ .uleb128 0xa -+ .long 0x44c1 -+ .uleb128 0x16 -+ .byte 0x10 -+ .byte 0x5 -+ .long .LASF667 -+ .uleb128 0x16 -+ .byte 0x2 -+ .byte 0x10 -+ .long .LASF668 -+ .uleb128 0x16 -+ .byte 0x4 -+ .byte 0x10 -+ .long .LASF669 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x21d5 -+ .uleb128 0x7b -+ .long 0x21ff -+ .uleb128 0x4c -+ .long .LASF670 -+ .byte 0xa -+ .byte 0x38 -+ .byte 0xb -+ .long 0x4502 -+ .uleb128 0x53 -+ .byte 0xa -+ .byte 0x3a -+ .byte 0x18 -+ .long 0x2216 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x2248 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x2255 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2255 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2248 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x2394 -+ .uleb128 0x5 -+ .long .LASF671 -+ .byte 0x2e -+ .byte 0x25 -+ .byte 0x15 -+ .long 0x44ba -+ .uleb128 0x5 -+ .long .LASF672 -+ .byte 0x2e -+ .byte 0x26 -+ .byte 0x17 -+ .long 0x44ac -+ .uleb128 0x5 -+ .long .LASF673 -+ .byte 0x2e -+ .byte 0x27 -+ .byte 0x1a -+ .long 0x44c1 -+ .uleb128 0x5 -+ .long .LASF674 -+ .byte 0x2e -+ .byte 0x28 -+ .byte 0x1c -+ .long 0x3bb3 -+ .uleb128 0x5 -+ .long .LASF675 -+ .byte 0x2e -+ .byte 0x29 -+ .byte 0x14 -+ .long 0x39eb -+ .uleb128 0xa -+ .long 0x4550 -+ .uleb128 0x5 -+ .long .LASF676 -+ .byte 0x2e -+ .byte 0x2a -+ .byte 0x16 -+ .long 0x3970 -+ .uleb128 0x5 -+ .long .LASF677 -+ .byte 0x2e -+ .byte 0x2c -+ .byte 0x19 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF678 -+ .byte 0x2e -+ .byte 0x2d -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF679 -+ .byte 0x2e -+ .byte 0x34 -+ .byte 0x12 -+ .long 0x4520 -+ .uleb128 0x5 -+ .long .LASF680 -+ .byte 0x2e -+ .byte 0x35 -+ .byte 0x13 -+ .long 0x452c -+ .uleb128 0x5 -+ .long .LASF681 -+ .byte 0x2e -+ .byte 0x36 -+ .byte 0x13 -+ .long 0x4538 -+ .uleb128 0x5 -+ .long .LASF682 -+ .byte 0x2e -+ .byte 0x37 -+ .byte 0x14 -+ .long 0x4544 -+ .uleb128 0x5 -+ .long .LASF683 -+ .byte 0x2e -+ .byte 0x38 -+ .byte 0x13 -+ .long 0x4550 -+ .uleb128 0x5 -+ .long .LASF684 -+ .byte 0x2e -+ .byte 0x39 -+ .byte 0x14 -+ .long 0x4561 -+ .uleb128 0x5 -+ .long .LASF685 -+ .byte 0x2e -+ .byte 0x3a -+ .byte 0x13 -+ .long 0x456d -+ .uleb128 0x5 -+ .long .LASF686 -+ .byte 0x2e -+ .byte 0x3b -+ .byte 0x14 -+ .long 0x4579 -+ .uleb128 0x5 -+ .long .LASF687 -+ .byte 0x2e -+ .byte 0x48 -+ .byte 0x12 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF688 -+ .byte 0x2e -+ .byte 0x49 -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF689 -+ .byte 0x2e -+ .byte 0x98 -+ .byte 0x19 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF690 -+ .byte 0x2e -+ .byte 0x99 -+ .byte 0x1b -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF691 -+ .byte 0x2f -+ .byte 0x18 -+ .byte 0x12 -+ .long 0x4520 -+ .uleb128 0x5 -+ .long .LASF692 -+ .byte 0x2f -+ .byte 0x19 -+ .byte 0x13 -+ .long 0x4538 -+ .uleb128 0x5 -+ .long .LASF693 -+ .byte 0x2f -+ .byte 0x1a -+ .byte 0x13 -+ .long 0x4550 -+ .uleb128 0x5 -+ .long .LASF694 -+ .byte 0x2f -+ .byte 0x1b -+ .byte 0x13 -+ .long 0x456d -+ .uleb128 0x5 -+ .long .LASF695 -+ .byte 0x30 -+ .byte 0x18 -+ .byte 0x13 -+ .long 0x452c -+ .uleb128 0x5 -+ .long .LASF696 -+ .byte 0x30 -+ .byte 0x19 -+ .byte 0x14 -+ .long 0x4544 -+ .uleb128 0x5 -+ .long .LASF697 -+ .byte 0x30 -+ .byte 0x1a -+ .byte 0x14 -+ .long 0x4561 -+ .uleb128 0x5 -+ .long .LASF698 -+ .byte 0x30 -+ .byte 0x1b -+ .byte 0x14 -+ .long 0x4579 -+ .uleb128 0x5 -+ .long .LASF699 -+ .byte 0x31 -+ .byte 0x2b -+ .byte 0x18 -+ .long 0x4585 -+ .uleb128 0x5 -+ .long .LASF700 -+ .byte 0x31 -+ .byte 0x2c -+ .byte 0x19 -+ .long 0x459d -+ .uleb128 0x5 -+ .long .LASF701 -+ .byte 0x31 -+ .byte 0x2d -+ .byte 0x19 -+ .long 0x45b5 -+ .uleb128 0x5 -+ .long .LASF702 -+ .byte 0x31 -+ .byte 0x2e -+ .byte 0x19 -+ .long 0x45cd -+ .uleb128 0x5 -+ .long .LASF703 -+ .byte 0x31 -+ .byte 0x31 -+ .byte 0x19 -+ .long 0x4591 -+ .uleb128 0x5 -+ .long .LASF704 -+ .byte 0x31 -+ .byte 0x32 -+ .byte 0x1a -+ .long 0x45a9 -+ .uleb128 0x5 -+ .long .LASF705 -+ .byte 0x31 -+ .byte 0x33 -+ .byte 0x1a -+ .long 0x45c1 -+ .uleb128 0x5 -+ .long .LASF706 -+ .byte 0x31 -+ .byte 0x34 -+ .byte 0x1a -+ .long 0x45d9 -+ .uleb128 0x5 -+ .long .LASF707 -+ .byte 0x31 -+ .byte 0x3a -+ .byte 0x16 -+ .long 0x44ba -+ .uleb128 0x5 -+ .long .LASF708 -+ .byte 0x31 -+ .byte 0x3c -+ .byte 0x13 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF709 -+ .byte 0x31 -+ .byte 0x3d -+ .byte 0x13 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF710 -+ .byte 0x31 -+ .byte 0x3e -+ .byte 0x13 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF711 -+ .byte 0x31 -+ .byte 0x47 -+ .byte 0x18 -+ .long 0x44ac -+ .uleb128 0x5 -+ .long .LASF712 -+ .byte 0x31 -+ .byte 0x49 -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF713 -+ .byte 0x31 -+ .byte 0x4a -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF714 -+ .byte 0x31 -+ .byte 0x4b -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF715 -+ .byte 0x31 -+ .byte 0x57 -+ .byte 0x13 -+ .long 0x41a0 -+ .uleb128 0x5 -+ .long .LASF716 -+ .byte 0x31 -+ .byte 0x5a -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF717 -+ .byte 0x31 -+ .byte 0x65 -+ .byte 0x15 -+ .long 0x45e5 -+ .uleb128 0x5 -+ .long .LASF718 -+ .byte 0x31 -+ .byte 0x66 -+ .byte 0x16 -+ .long 0x45f1 -+ .uleb128 0x13 -+ .long .LASF719 -+ .byte 0x60 -+ .byte 0x32 -+ .byte 0x33 -+ .byte 0x8 -+ .long 0x48ab -+ .uleb128 0x6 -+ .long .LASF720 -+ .byte 0x32 -+ .byte 0x37 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF721 -+ .byte 0x32 -+ .byte 0x38 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x8 -+ .uleb128 0x6 -+ .long .LASF722 -+ .byte 0x32 -+ .byte 0x3e -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x10 -+ .uleb128 0x6 -+ .long .LASF723 -+ .byte 0x32 -+ .byte 0x44 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x18 -+ .uleb128 0x6 -+ .long .LASF724 -+ .byte 0x32 -+ .byte 0x45 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x20 -+ .uleb128 0x6 -+ .long .LASF725 -+ .byte 0x32 -+ .byte 0x46 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x28 -+ .uleb128 0x6 -+ .long .LASF726 -+ .byte 0x32 -+ .byte 0x47 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x30 -+ .uleb128 0x6 -+ .long .LASF727 -+ .byte 0x32 -+ .byte 0x48 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x38 -+ .uleb128 0x6 -+ .long .LASF728 -+ .byte 0x32 -+ .byte 0x49 -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x40 -+ .uleb128 0x6 -+ .long .LASF729 -+ .byte 0x32 -+ .byte 0x4a -+ .byte 0x9 -+ .long 0x3f04 -+ .byte 0x48 -+ .uleb128 0x6 -+ .long .LASF730 -+ .byte 0x32 -+ .byte 0x4b -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x50 -+ .uleb128 0x6 -+ .long .LASF731 -+ .byte 0x32 -+ .byte 0x4c -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x51 -+ .uleb128 0x6 -+ .long .LASF732 -+ .byte 0x32 -+ .byte 0x4e -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x52 -+ .uleb128 0x6 -+ .long .LASF733 -+ .byte 0x32 -+ .byte 0x50 -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x53 -+ .uleb128 0x6 -+ .long .LASF734 -+ .byte 0x32 -+ .byte 0x52 -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x54 -+ .uleb128 0x6 -+ .long .LASF735 -+ .byte 0x32 -+ .byte 0x54 -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x55 -+ .uleb128 0x6 -+ .long .LASF736 -+ .byte 0x32 -+ .byte 0x5b -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x56 -+ .uleb128 0x6 -+ .long .LASF737 -+ .byte 0x32 -+ .byte 0x5c -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x57 -+ .uleb128 0x6 -+ .long .LASF738 -+ .byte 0x32 -+ .byte 0x5f -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x58 -+ .uleb128 0x6 -+ .long .LASF739 -+ .byte 0x32 -+ .byte 0x61 -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x59 -+ .uleb128 0x6 -+ .long .LASF740 -+ .byte 0x32 -+ .byte 0x63 -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x5a -+ .uleb128 0x6 -+ .long .LASF741 -+ .byte 0x32 -+ .byte 0x65 -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x5b -+ .uleb128 0x6 -+ .long .LASF742 -+ .byte 0x32 -+ .byte 0x6c -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x5c -+ .uleb128 0x6 -+ .long .LASF743 -+ .byte 0x32 -+ .byte 0x6d -+ .byte 0x8 -+ .long 0x39df -+ .byte 0x5d -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF744 -+ .byte 0x32 -+ .byte 0x7a -+ .byte 0xe -+ .long 0x3f04 -+ .long 0x48c6 -+ .uleb128 0x1 -+ .long 0x39eb -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x40 -+ .long .LASF746 -+ .byte 0x32 -+ .byte 0x7d -+ .byte 0x16 -+ .long 0x48d2 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4765 -+ .uleb128 0x2d -+ .long 0x3f04 -+ .long 0x48e8 -+ .uleb128 0x34 -+ .long 0x3927 -+ .byte 0x1 -+ .byte 0 -+ .uleb128 0x1b -+ .long .LASF747 -+ .byte 0x33 -+ .byte 0x9f -+ .byte 0xe -+ .long 0x48d8 -+ .uleb128 0x1b -+ .long .LASF748 -+ .byte 0x33 -+ .byte 0xa0 -+ .byte 0xc -+ .long 0x39eb -+ .uleb128 0x1b -+ .long .LASF749 -+ .byte 0x33 -+ .byte 0xa1 -+ .byte 0x11 -+ .long 0x41a0 -+ .uleb128 0x1b -+ .long .LASF750 -+ .byte 0x33 -+ .byte 0xa6 -+ .byte 0xe -+ .long 0x48d8 -+ .uleb128 0x1b -+ .long .LASF751 -+ .byte 0x33 -+ .byte 0xae -+ .byte 0xc -+ .long 0x39eb -+ .uleb128 0x1b -+ .long .LASF752 -+ .byte 0x33 -+ .byte 0xaf -+ .byte 0x11 -+ .long 0x41a0 -+ .uleb128 0x7c -+ .long .LASF753 -+ .byte 0x33 -+ .value 0x112 -+ .byte 0xc -+ .long 0x39eb -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4943 -+ .uleb128 0x7d -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2eb8 -+ .uleb128 0xa -+ .long 0x4944 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x3020 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3020 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x39df -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x39e6 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x250f -+ .uleb128 0xa -+ .long 0x4967 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x25a0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x250f -+ .uleb128 0x3a -+ .byte 0x8 -+ .byte 0x34 -+ .byte 0x3b -+ .byte 0x3 -+ .long .LASF755 -+ .long 0x49a6 -+ .uleb128 0x6 -+ .long .LASF756 -+ .byte 0x34 -+ .byte 0x3c -+ .byte 0x9 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x41 -+ .string "rem" -+ .byte 0x34 -+ .byte 0x3d -+ .byte 0x9 -+ .long 0x39eb -+ .byte 0x4 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF757 -+ .byte 0x34 -+ .byte 0x3e -+ .byte 0x5 -+ .long 0x497e -+ .uleb128 0x3a -+ .byte 0x10 -+ .byte 0x34 -+ .byte 0x43 -+ .byte 0x3 -+ .long .LASF758 -+ .long 0x49da -+ .uleb128 0x6 -+ .long .LASF756 -+ .byte 0x34 -+ .byte 0x44 -+ .byte 0xe -+ .long 0x41a0 -+ .byte 0 -+ .uleb128 0x41 -+ .string "rem" -+ .byte 0x34 -+ .byte 0x45 -+ .byte 0xe -+ .long 0x41a0 -+ .byte 0x8 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF759 -+ .byte 0x34 -+ .byte 0x46 -+ .byte 0x5 -+ .long 0x49b2 -+ .uleb128 0x3a -+ .byte 0x10 -+ .byte 0x34 -+ .byte 0x4d -+ .byte 0x3 -+ .long .LASF760 -+ .long 0x4a0e -+ .uleb128 0x6 -+ .long .LASF756 -+ .byte 0x34 -+ .byte 0x4e -+ .byte 0x13 -+ .long 0x4436 -+ .byte 0 -+ .uleb128 0x41 -+ .string "rem" -+ .byte 0x34 -+ .byte 0x4f -+ .byte 0x13 -+ .long 0x4436 -+ .byte 0x8 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF761 -+ .byte 0x34 -+ .byte 0x50 -+ .byte 0x5 -+ .long 0x49e6 -+ .uleb128 0x19 -+ .long .LASF762 -+ .byte 0x34 -+ .value 0x328 -+ .byte 0xf -+ .long 0x4a27 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4a2d -+ .uleb128 0x7e -+ .long 0x39eb -+ .long 0x4a41 -+ .uleb128 0x1 -+ .long 0x493d -+ .uleb128 0x1 -+ .long 0x493d -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF763 -+ .byte 0x34 -+ .value 0x253 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4a58 -+ .uleb128 0x1 -+ .long 0x4a58 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4a5e -+ .uleb128 0x7f -+ .uleb128 0x14 -+ .long .LASF764 -+ .byte 0x34 -+ .value 0x258 -+ .byte 0x12 -+ .long .LASF764 -+ .long 0x39eb -+ .long 0x4a7a -+ .uleb128 0x1 -+ .long 0x4a58 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF765 -+ .byte 0x35 -+ .byte 0x19 -+ .byte 0x1 -+ .long 0x390d -+ .long 0x4a90 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF766 -+ .byte 0x34 -+ .value 0x169 -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x4aa7 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF767 -+ .byte 0x34 -+ .value 0x16e -+ .byte 0x1 -+ .long 0x41a0 -+ .long 0x4abe -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF768 -+ .byte 0x36 -+ .byte 0x14 -+ .byte 0x1 -+ .long 0x3977 -+ .long 0x4ae8 -+ .uleb128 0x1 -+ .long 0x493d -+ .uleb128 0x1 -+ .long 0x493d -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x4a1a -+ .byte 0 -+ .uleb128 0x80 -+ .string "div" -+ .byte 0x34 -+ .value 0x354 -+ .byte 0xe -+ .long 0x49a6 -+ .long 0x4b05 -+ .uleb128 0x1 -+ .long 0x39eb -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF769 -+ .byte 0x34 -+ .value 0x27a -+ .byte 0xe -+ .long 0x3f04 -+ .long 0x4b1c -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF770 -+ .byte 0x34 -+ .value 0x356 -+ .byte 0xf -+ .long 0x49da -+ .long 0x4b38 -+ .uleb128 0x1 -+ .long 0x41a0 -+ .uleb128 0x1 -+ .long 0x41a0 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF771 -+ .byte 0x34 -+ .value 0x39a -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4b54 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF772 -+ .byte 0x37 -+ .byte 0x71 -+ .byte 0x1 -+ .long 0x391b -+ .long 0x4b74 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF773 -+ .byte 0x34 -+ .value 0x39d -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4b95 -+ .uleb128 0x1 -+ .long 0x3c1a -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x2f -+ .long .LASF776 -+ .byte 0x34 -+ .value 0x33e -+ .byte 0xd -+ .long 0x4bb7 -+ .uleb128 0x1 -+ .long 0x3977 -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x4a1a -+ .byte 0 -+ .uleb128 0x81 -+ .long .LASF774 -+ .byte 0x34 -+ .value 0x26f -+ .byte 0xd -+ .long 0x4bcb -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x59 -+ .long .LASF775 -+ .byte 0x34 -+ .value 0x1c5 -+ .byte 0xc -+ .long 0x39eb -+ .uleb128 0x2f -+ .long .LASF777 -+ .byte 0x34 -+ .value 0x1c7 -+ .byte 0xd -+ .long 0x4beb -+ .uleb128 0x1 -+ .long 0x3970 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF778 -+ .byte 0x34 -+ .byte 0x75 -+ .byte 0xf -+ .long 0x390d -+ .long 0x4c06 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3f04 -+ .uleb128 0xe -+ .long .LASF779 -+ .byte 0x34 -+ .byte 0xb0 -+ .byte 0x11 -+ .long 0x41a0 -+ .long 0x4c2c -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF780 -+ .byte 0x34 -+ .byte 0xb4 -+ .byte 0x1a -+ .long 0x3927 -+ .long 0x4c4c -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF781 -+ .byte 0x34 -+ .value 0x310 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4c63 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF782 -+ .byte 0x37 -+ .byte 0x90 -+ .byte 0x1 -+ .long 0x391b -+ .long 0x4c83 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3c64 -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF783 -+ .byte 0x37 -+ .byte 0x53 -+ .byte 0x1 -+ .long 0x39eb -+ .long 0x4c9e -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x3c20 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF784 -+ .byte 0x34 -+ .value 0x35a -+ .byte 0x1e -+ .long 0x4a0e -+ .long 0x4cba -+ .uleb128 0x1 -+ .long 0x4436 -+ .uleb128 0x1 -+ .long 0x4436 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF785 -+ .byte 0x34 -+ .value 0x175 -+ .byte 0x1 -+ .long 0x4436 -+ .long 0x4cd1 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF786 -+ .byte 0x34 -+ .byte 0xc8 -+ .byte 0x16 -+ .long 0x4436 -+ .long 0x4cf1 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF787 -+ .byte 0x34 -+ .byte 0xcd -+ .byte 0x1f -+ .long 0x445e -+ .long 0x4d11 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF788 -+ .byte 0x34 -+ .byte 0x7b -+ .byte 0xe -+ .long 0x3906 -+ .long 0x4d2c -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF789 -+ .byte 0x34 -+ .byte 0x7e -+ .byte 0x14 -+ .long 0x3914 -+ .long 0x4d47 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4c06 -+ .byte 0 -+ .uleb128 0x13 -+ .long .LASF790 -+ .byte 0x10 -+ .byte 0x38 -+ .byte 0xa -+ .byte 0x10 -+ .long 0x4d6f -+ .uleb128 0x6 -+ .long .LASF791 -+ .byte 0x38 -+ .byte 0xc -+ .byte 0xb -+ .long 0x45fd -+ .byte 0 -+ .uleb128 0x6 -+ .long .LASF792 -+ .byte 0x38 -+ .byte 0xd -+ .byte 0xf -+ .long 0x39f7 -+ .byte 0x8 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF793 -+ .byte 0x38 -+ .byte 0xe -+ .byte 0x3 -+ .long 0x4d47 -+ .uleb128 0x82 -+ .long .LASF934 -+ .byte 0x29 -+ .byte 0x2b -+ .byte 0xe -+ .uleb128 0x42 -+ .long .LASF794 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4d84 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3a20 -+ .uleb128 0x2d -+ .long 0x39df -+ .long 0x4da5 -+ .uleb128 0x34 -+ .long 0x3927 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4d7b -+ .uleb128 0x42 -+ .long .LASF795 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4dab -+ .uleb128 0x42 -+ .long .LASF796 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4db6 -+ .uleb128 0x2d -+ .long 0x39df -+ .long 0x4dd1 -+ .uleb128 0x34 -+ .long 0x3927 -+ .byte 0x13 -+ .byte 0 -+ .uleb128 0x5 -+ .long .LASF797 -+ .byte 0x39 -+ .byte 0x54 -+ .byte 0x12 -+ .long 0x4d6f -+ .uleb128 0xa -+ .long 0x4dd1 -+ .uleb128 0x1b -+ .long .LASF798 -+ .byte 0x39 -+ .byte 0x89 -+ .byte 0xe -+ .long 0x4dee -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3ba7 -+ .uleb128 0x1b -+ .long .LASF799 -+ .byte 0x39 -+ .byte 0x8a -+ .byte 0xe -+ .long 0x4dee -+ .uleb128 0x1b -+ .long .LASF800 -+ .byte 0x39 -+ .byte 0x8b -+ .byte 0xe -+ .long 0x4dee -+ .uleb128 0x1b -+ .long .LASF801 -+ .byte 0x3a -+ .byte 0x1a -+ .byte 0xc -+ .long 0x39eb -+ .uleb128 0x2d -+ .long 0x3bc0 -+ .long 0x4e24 -+ .uleb128 0x83 -+ .byte 0 -+ .uleb128 0x1b -+ .long .LASF802 -+ .byte 0x3a -+ .byte 0x1b -+ .byte 0x1a -+ .long 0x4e18 -+ .uleb128 0x1b -+ .long .LASF803 -+ .byte 0x3a -+ .byte 0x1e -+ .byte 0xc -+ .long 0x39eb -+ .uleb128 0x1b -+ .long .LASF804 -+ .byte 0x3a -+ .byte 0x1f -+ .byte 0x1a -+ .long 0x4e18 -+ .uleb128 0x2f -+ .long .LASF805 -+ .byte 0x39 -+ .value 0x2f5 -+ .byte 0xd -+ .long 0x4e5b -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF806 -+ .byte 0x39 -+ .byte 0xd5 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4e71 -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF807 -+ .byte 0x39 -+ .value 0x2f7 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4e88 -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF808 -+ .byte 0x39 -+ .value 0x2f9 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4e9f -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF809 -+ .byte 0x39 -+ .byte 0xda -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4eb5 -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF810 -+ .byte 0x39 -+ .value 0x1e5 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4ecc -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF811 -+ .byte 0x39 -+ .value 0x2db -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4ee8 -+ .uleb128 0x1 -+ .long 0x4dee -+ .uleb128 0x1 -+ .long 0x4ee8 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4dd1 -+ .uleb128 0xe -+ .long .LASF812 -+ .byte 0x3b -+ .byte 0xff -+ .byte 0x1 -+ .long 0x3f04 -+ .long 0x4f0e -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x39eb -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF813 -+ .byte 0x39 -+ .byte 0xf6 -+ .byte 0xe -+ .long 0x4dee -+ .long 0x4f29 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF814 -+ .byte 0x3b -+ .value 0x11c -+ .byte 0x1 -+ .long 0x391b -+ .long 0x4f4f -+ .uleb128 0x1 -+ .long 0x3977 -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x391b -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF815 -+ .byte 0x39 -+ .byte 0xfc -+ .byte 0xe -+ .long 0x4dee -+ .long 0x4f6f -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF816 -+ .byte 0x39 -+ .value 0x2ac -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4f90 -+ .uleb128 0x1 -+ .long 0x4dee -+ .uleb128 0x1 -+ .long 0x41a0 -+ .uleb128 0x1 -+ .long 0x39eb -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF817 -+ .byte 0x39 -+ .value 0x2e0 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4fac -+ .uleb128 0x1 -+ .long 0x4dee -+ .uleb128 0x1 -+ .long 0x4fac -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x4ddd -+ .uleb128 0x9 -+ .long .LASF818 -+ .byte 0x39 -+ .value 0x2b1 -+ .byte 0x11 -+ .long 0x41a0 -+ .long 0x4fc9 -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF819 -+ .byte 0x39 -+ .value 0x1e6 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x4fe0 -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x40 -+ .long .LASF820 -+ .byte 0x3c -+ .byte 0x2f -+ .byte 0x1 -+ .long 0x39eb -+ .uleb128 0x2f -+ .long .LASF821 -+ .byte 0x39 -+ .value 0x307 -+ .byte 0xd -+ .long 0x4fff -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF822 -+ .byte 0x39 -+ .byte 0x92 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x5015 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF823 -+ .byte 0x39 -+ .byte 0x94 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x5030 -+ .uleb128 0x1 -+ .long 0x3bba -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x2f -+ .long .LASF824 -+ .byte 0x39 -+ .value 0x2b6 -+ .byte 0xd -+ .long 0x5043 -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x2f -+ .long .LASF825 -+ .byte 0x39 -+ .value 0x130 -+ .byte 0xd -+ .long 0x505b -+ .uleb128 0x1 -+ .long 0x4dee -+ .uleb128 0x1 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF826 -+ .byte 0x39 -+ .value 0x134 -+ .byte 0xc -+ .long 0x39eb -+ .long 0x5081 -+ .uleb128 0x1 -+ .long 0x4dee -+ .uleb128 0x1 -+ .long 0x3f04 -+ .uleb128 0x1 -+ .long 0x39eb -+ .uleb128 0x1 -+ .long 0x391b -+ .byte 0 -+ .uleb128 0x40 -+ .long .LASF827 -+ .byte 0x39 -+ .byte 0xad -+ .byte 0xe -+ .long 0x4dee -+ .uleb128 0xe -+ .long .LASF828 -+ .byte 0x39 -+ .byte 0xbb -+ .byte 0xe -+ .long 0x3f04 -+ .long 0x50a3 -+ .uleb128 0x1 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x9 -+ .long .LASF829 -+ .byte 0x39 -+ .value 0x27f -+ .byte 0xc -+ .long 0x39eb -+ .long 0x50bf -+ .uleb128 0x1 -+ .long 0x39eb -+ .uleb128 0x1 -+ .long 0x4dee -+ .byte 0 -+ .uleb128 0x1b -+ .long .LASF830 -+ .byte 0x3d -+ .byte 0x2d -+ .byte 0xe -+ .long 0x3f04 -+ .uleb128 0x1b -+ .long .LASF831 -+ .byte 0x3d -+ .byte 0x2e -+ .byte 0xe -+ .long 0x3f04 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x27b8 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x27c5 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x317b -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x3187 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x52 -+ .uleb128 0xa -+ .long 0x50ef -+ .uleb128 0x3b -+ .byte 0x8 -+ .long 0x250f -+ .uleb128 0x2d -+ .long 0x39df -+ .long 0x5110 -+ .uleb128 0x34 -+ .long 0x3927 -+ .byte 0xf -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x45 -+ .uleb128 0xa -+ .long 0x5110 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1ace -+ .uleb128 0xa -+ .long 0x511b -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x117 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x302 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x30f -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x1ace -+ .uleb128 0x3b -+ .byte 0x8 -+ .long 0x45 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x45 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2891 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2984 -+ .uleb128 0x5 -+ .long .LASF832 -+ .byte 0x3e -+ .byte 0x26 -+ .byte 0x1b -+ .long 0x3927 -+ .uleb128 0x5 -+ .long .LASF833 -+ .byte 0x3f -+ .byte 0x30 -+ .byte 0x1a -+ .long 0x516e -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x455c -+ .uleb128 0xe -+ .long .LASF834 -+ .byte 0x3e -+ .byte 0x9f -+ .byte 0xc -+ .long 0x39eb -+ .long 0x518f -+ .uleb128 0x1 -+ .long 0x3979 -+ .uleb128 0x1 -+ .long 0x5156 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF835 -+ .byte 0x3f -+ .byte 0x37 -+ .byte 0xf -+ .long 0x3979 -+ .long 0x51aa -+ .uleb128 0x1 -+ .long 0x3979 -+ .uleb128 0x1 -+ .long 0x5162 -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF836 -+ .byte 0x3f -+ .byte 0x34 -+ .byte 0x12 -+ .long 0x5162 -+ .long 0x51c0 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0xe -+ .long .LASF837 -+ .byte 0x3e -+ .byte 0x9b -+ .byte 0x11 -+ .long 0x5156 -+ .long 0x51d6 -+ .uleb128 0x1 -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1ad3 -+ .uleb128 0xa -+ .long 0x51d6 -+ .uleb128 0x5 -+ .long .LASF404 -+ .byte 0x1 -+ .byte 0x17 -+ .byte 0x7 -+ .long 0x39eb -+ .uleb128 0xa -+ .long 0x51e1 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3434 -+ .uleb128 0xa -+ .long 0x51f2 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x3bc0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x3698 -+ .uleb128 0xa -+ .long 0x5203 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x3434 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x2c9e -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x2d03 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x31f5 -+ .uleb128 0xa -+ .long 0x5220 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x3f0a -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x342f -+ .uleb128 0xa -+ .long 0x5231 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x31f5 -+ .uleb128 0x1c -+ .long .LASF838 -+ .long 0x20cf -+ .byte 0 -+ .uleb128 0x1c -+ .long .LASF839 -+ .long 0x2149 -+ .byte 0x1 -+ .uleb128 0x1c -+ .long .LASF840 -+ .long 0x3032 -+ .byte 0x1 -+ .uleb128 0x1c -+ .long .LASF841 -+ .long 0x303e -+ .byte 0x1f -+ .uleb128 0x84 -+ .long .LASF842 -+ .long 0x304a -+ .long 0x7fffffff -+ .uleb128 0x43 -+ .long .LASF843 -+ .long 0x3056 -+ .sleb128 -2147483648 -+ .uleb128 0x1c -+ .long .LASF844 -+ .long 0x36ce -+ .byte 0x26 -+ .uleb128 0x44 -+ .long .LASF845 -+ .long 0x3715 -+ .value 0x134 -+ .uleb128 0x44 -+ .long .LASF846 -+ .long 0x375c -+ .value 0x1344 -+ .uleb128 0x1c -+ .long .LASF847 -+ .long 0x377f -+ .byte 0 -+ .uleb128 0x1c -+ .long .LASF848 -+ .long 0x378b -+ .byte 0x40 -+ .uleb128 0x1c -+ .long .LASF849 -+ .long 0x37c6 -+ .byte 0x1 -+ .uleb128 0x1c -+ .long .LASF850 -+ .long 0x37d2 -+ .byte 0x7 -+ .uleb128 0x1c -+ .long .LASF851 -+ .long 0x37de -+ .byte 0x7f -+ .uleb128 0x1c -+ .long .LASF852 -+ .long 0x380d -+ .byte 0x1 -+ .uleb128 0x1c -+ .long .LASF853 -+ .long 0x3819 -+ .byte 0xf -+ .uleb128 0x44 -+ .long .LASF854 -+ .long 0x3825 -+ .value 0x7fff -+ .uleb128 0x43 -+ .long .LASF855 -+ .long 0x3831 -+ .sleb128 -32768 -+ .uleb128 0x1c -+ .long .LASF856 -+ .long 0x3854 -+ .byte 0x1 -+ .uleb128 0x1c -+ .long .LASF857 -+ .long 0x3860 -+ .byte 0x3f -+ .uleb128 0x85 -+ .long .LASF858 -+ .long 0x386c -+ .quad 0x7fffffffffffffff -+ .uleb128 0x43 -+ .long .LASF859 -+ .long 0x3878 -+ .sleb128 -9223372036854775808 -+ .uleb128 0xb -+ .long 0x363b -+ .long 0x534a -+ .byte 0x3 -+ .long 0x5354 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5209 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x3698 -+ .uleb128 0x21 -+ .long 0x388e -+ .byte 0x3 -+ .long 0x5391 -+ .uleb128 0xc -+ .long .LASF402 -+ .long 0x3bba -+ .uleb128 0xc -+ .long .LASF497 -+ .long 0x45 -+ .uleb128 0x17 -+ .long .LASF860 -+ .byte 0x22 -+ .value 0x3da -+ .byte 0x3f -+ .long 0x5354 -+ .uleb128 0x17 -+ .long .LASF861 -+ .byte 0x22 -+ .value 0x3db -+ .byte 0x38 -+ .long 0x5354 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x342f -+ .uleb128 0x21 -+ .long 0x38c0 -+ .byte 0x3 -+ .long 0x53d7 -+ .uleb128 0xc -+ .long .LASF530 -+ .long 0x3bba -+ .uleb128 0xc -+ .long .LASF531 -+ .long 0x3f04 -+ .uleb128 0xc -+ .long .LASF497 -+ .long 0x45 -+ .uleb128 0x17 -+ .long .LASF860 -+ .byte 0x22 -+ .value 0x3ce -+ .byte 0x40 -+ .long 0x5354 -+ .uleb128 0x17 -+ .long .LASF861 -+ .byte 0x22 -+ .value 0x3cf -+ .byte 0x39 -+ .long 0x5391 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x33fc -+ .long 0x53e5 -+ .byte 0x3 -+ .long 0x53ef -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5237 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x322e -+ .long 0x53fd -+ .byte 0x2 -+ .long 0x5414 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5226 -+ .uleb128 0x2a -+ .string "__i" -+ .byte 0x22 -+ .value 0x323 -+ .byte 0x2a -+ .long 0x522b -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x53ef -+ .long .LASF868 -+ .long 0x5425 -+ .long 0x5430 -+ .uleb128 0xd -+ .long 0x53fd -+ .uleb128 0xd -+ .long 0x5406 -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2d4d -+ .byte 0x3 -+ .long 0x5450 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39e6 -+ .uleb128 0x1f -+ .string "__r" -+ .byte 0x1b -+ .byte 0x8a -+ .byte 0x14 -+ .long 0x4961 -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2d70 -+ .byte 0x3 -+ .long 0x5470 -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39e6 -+ .uleb128 0x1f -+ .string "__r" -+ .byte 0x1b -+ .byte 0x2f -+ .byte 0x16 -+ .long 0x4961 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2fd2 -+ .long 0x547e -+ .byte 0x3 -+ .long 0x5499 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x494a -+ .uleb128 0x1f -+ .string "__p" -+ .byte 0x1f -+ .byte 0x77 -+ .byte 0x1a -+ .long 0x2f20 -+ .uleb128 0x1 -+ .long 0x2fc5 -+ .byte 0 -+ .uleb128 0xb -+ .long 0xe0d -+ .long 0x54a7 -+ .byte 0x3 -+ .long 0x54be -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x17 -+ .long .LASF863 -+ .byte 0x3 -+ .value 0x558 -+ .byte 0x22 -+ .long 0x5138 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x12f4 -+ .long 0x54cc -+ .byte 0x3 -+ .long 0x550a -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x17 -+ .long .LASF864 -+ .byte 0x3 -+ .value 0x84f -+ .byte 0x20 -+ .long 0x108d -+ .uleb128 0x17 -+ .long .LASF865 -+ .byte 0x3 -+ .value 0x84f -+ .byte 0x37 -+ .long 0x108d -+ .uleb128 0x17 -+ .long .LASF866 -+ .byte 0x3 -+ .value 0x850 -+ .byte 0x10 -+ .long 0x3f04 -+ .uleb128 0x17 -+ .long .LASF867 -+ .byte 0x3 -+ .value 0x850 -+ .byte 0x1e -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x365b -+ .long 0x5521 -+ .byte 0x2 -+ .long 0x5538 -+ .uleb128 0xc -+ .long .LASF515 -+ .long 0x3f04 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x51f8 -+ .uleb128 0x2a -+ .string "__i" -+ .byte 0x22 -+ .value 0x32b -+ .byte 0x1f -+ .long 0x5391 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x550a -+ .long .LASF869 -+ .long 0x5552 -+ .long 0x555d -+ .uleb128 0xc -+ .long .LASF515 -+ .long 0x3f04 -+ .uleb128 0xd -+ .long 0x5521 -+ .uleb128 0xd -+ .long 0x552a -+ .byte 0 -+ .uleb128 0xb -+ .long 0x8a0 -+ .long 0x556b -+ .byte 0x3 -+ .long 0x5575 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x860 -+ .long 0x5583 -+ .byte 0x3 -+ .long 0x558d -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x3b1 -+ .long 0x559b -+ .byte 0x3 -+ .long 0x55cc -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .uleb128 0x17 -+ .long .LASF791 -+ .byte 0x3 -+ .value 0x14d -+ .byte 0x1a -+ .long 0x117 -+ .uleb128 0x17 -+ .long .LASF870 -+ .byte 0x3 -+ .value 0x14d -+ .byte 0x2b -+ .long 0x117 -+ .uleb128 0x3c -+ .long .LASF872 -+ .byte 0x3 -+ .value 0x14f -+ .byte 0xd -+ .long 0x4495 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x35e -+ .long 0x55da -+ .byte 0x3 -+ .long 0x55fe -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .uleb128 0x17 -+ .long .LASF791 -+ .byte 0x3 -+ .value 0x13a -+ .byte 0x1a -+ .long 0x117 -+ .uleb128 0x2a -+ .string "__s" -+ .byte 0x3 -+ .value 0x13a -+ .byte 0x2d -+ .long 0x3bba -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2cdf -+ .byte 0x3 -+ .long 0x5615 -+ .uleb128 0x1f -+ .string "__r" -+ .byte 0x19 -+ .byte 0x92 -+ .byte 0x31 -+ .long 0x521a -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2ee0 -+ .long 0x5623 -+ .byte 0x2 -+ .long 0x5632 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x494a -+ .uleb128 0x1 -+ .long 0x494f -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5615 -+ .long .LASF871 -+ .long 0x5643 -+ .long 0x564e -+ .uleb128 0xd -+ .long 0x5623 -+ .uleb128 0xd -+ .long 0x562c -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2d93 -+ .byte 0x3 -+ .long 0x566e -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39df -+ .uleb128 0x1f -+ .string "__r" -+ .byte 0x1b -+ .byte 0x8a -+ .byte 0x14 -+ .long 0x495b -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2db6 -+ .byte 0x3 -+ .long 0x568e -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x39df -+ .uleb128 0x1f -+ .string "__r" -+ .byte 0x1b -+ .byte 0x2f -+ .byte 0x16 -+ .long 0x495b -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2809 -+ .byte 0x3 -+ .long 0x56c0 -+ .uleb128 0x2a -+ .string "__a" -+ .byte 0x11 -+ .value 0x1d4 -+ .byte 0x22 -+ .long 0x50d7 -+ .uleb128 0x2a -+ .string "__p" -+ .byte 0x11 -+ .value 0x1d4 -+ .byte 0x2f -+ .long 0x278b -+ .uleb128 0x2a -+ .string "__n" -+ .byte 0x11 -+ .value 0x1d4 -+ .byte 0x3e -+ .long 0x27ca -+ .byte 0 -+ .uleb128 0xb -+ .long 0x7a7 -+ .long 0x56ce -+ .byte 0x3 -+ .long 0x570f -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x17 -+ .long .LASF863 -+ .byte 0x3 -+ .value 0x29d -+ .byte 0x25 -+ .long 0x5138 -+ .uleb128 0x86 -+ .uleb128 0x3c -+ .long .LASF873 -+ .byte 0x3 -+ .value 0x2af -+ .byte 0x12 -+ .long 0x392e -+ .uleb128 0x3c -+ .long .LASF874 -+ .byte 0x3 -+ .value 0x2b0 -+ .byte 0xc -+ .long 0x250f -+ .uleb128 0x3c -+ .long .LASF875 -+ .byte 0x3 -+ .value 0x2b2 -+ .byte 0xc -+ .long 0x3f04 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x1a7f -+ .long 0x5726 -+ .byte 0x3 -+ .long 0x574a -+ .uleb128 0xc -+ .long .LASF253 -+ .long 0x3f04 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x17 -+ .long .LASF876 -+ .byte 0x3 -+ .value 0x5c2 -+ .byte 0x1f -+ .long 0x3f04 -+ .uleb128 0x17 -+ .long .LASF877 -+ .byte 0x3 -+ .value 0x5c2 -+ .byte 0x37 -+ .long 0x3f04 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2ae4 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2ba5 -+ .uleb128 0xa -+ .long 0x5750 -+ .uleb128 0xb -+ .long 0x2af1 -+ .long 0x5769 -+ .byte 0x3 -+ .long 0x5773 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5756 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2b11 -+ .long 0x5781 -+ .byte 0x3 -+ .long 0x578b -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5756 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2b31 -+ .long 0x5799 -+ .byte 0x3 -+ .long 0x57a3 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5756 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x5af -+ .long 0x57b1 -+ .byte 0x2 -+ .long 0x57c8 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x2a -+ .string "__a" -+ .byte 0x3 -+ .value 0x1bc -+ .byte 0x22 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x57a3 -+ .long .LASF878 -+ .long 0x57d9 -+ .long 0x57e4 -+ .uleb128 0xd -+ .long 0x57b1 -+ .uleb128 0xd -+ .long 0x57ba -+ .byte 0 -+ .uleb128 0xb -+ .long 0x1512 -+ .long 0x57f2 -+ .byte 0x3 -+ .long 0x57fc -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x593 -+ .long 0x580a -+ .byte 0x2 -+ .long 0x5814 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x57fc -+ .long .LASF879 -+ .long 0x5825 -+ .long 0x582b -+ .uleb128 0xd -+ .long 0x580a -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2adb -+ .uleb128 0xa -+ .long 0x582b -+ .uleb128 0xb -+ .long 0x2b51 -+ .long 0x5844 -+ .byte 0x2 -+ .long 0x584e -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5831 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5836 -+ .long .LASF880 -+ .long 0x585f -+ .long 0x5865 -+ .uleb128 0xd -+ .long 0x5844 -+ .byte 0 -+ .uleb128 0x5a -+ .long 0x1197 -+ .long 0x5872 -+ .long 0x58b0 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x17 -+ .long .LASF791 -+ .byte 0x3 -+ .value 0x794 -+ .byte 0x19 -+ .long 0x117 -+ .uleb128 0x17 -+ .long .LASF881 -+ .byte 0x3 -+ .value 0x794 -+ .byte 0x2a -+ .long 0x117 -+ .uleb128 0x2a -+ .string "__s" -+ .byte 0x3 -+ .value 0x794 -+ .byte 0x3e -+ .long 0x3bba -+ .uleb128 0x17 -+ .long .LASF882 -+ .byte 0x3 -+ .value 0x795 -+ .byte 0x12 -+ .long 0x117 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x33f -+ .long 0x58be -+ .byte 0x3 -+ .long 0x58c8 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x1dd -+ .long 0x58d6 -+ .byte 0x3 -+ .long 0x58e0 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x253e -+ .long 0x58ee -+ .byte 0x2 -+ .long 0x5904 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x496d -+ .uleb128 0x1f -+ .string "__a" -+ .byte 0xe -+ .byte 0x8c -+ .byte 0x22 -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x58e0 -+ .long .LASF883 -+ .long 0x5915 -+ .long 0x5920 -+ .uleb128 0xd -+ .long 0x58ee -+ .uleb128 0xd -+ .long 0x58f7 -+ .byte 0 -+ .uleb128 0x21 -+ .long 0x2c7a -+ .byte 0x3 -+ .long 0x5937 -+ .uleb128 0x1f -+ .string "__r" -+ .byte 0x19 -+ .byte 0x92 -+ .byte 0x31 -+ .long 0x5214 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x299 -+ .long 0x5945 -+ .byte 0x3 -+ .long 0x595b -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x35 -+ .long .LASF884 -+ .byte 0x3 -+ .byte 0xf0 -+ .byte 0x1c -+ .long 0x117 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1b66 -+ .uleb128 0xa -+ .long 0x595b -+ .uleb128 0x5a -+ .long 0x1ae9 -+ .long 0x5973 -+ .long 0x598a -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5961 -+ .uleb128 0x87 -+ .long .LASF885 -+ .byte 0x2 -+ .byte 0xb4 -+ .byte 0x10 -+ .long 0x1adc -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2b6d -+ .long 0x5998 -+ .byte 0x2 -+ .long 0x59ab -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5831 -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x598a -+ .long .LASF887 -+ .long 0x59bc -+ .long 0x59c2 -+ .uleb128 0xd -+ .long 0x5998 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x598a -+ .long .LASF888 -+ .long 0x59d3 -+ .long 0x59d9 -+ .uleb128 0xd -+ .long 0x5998 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x1b08 -+ .long 0x59e7 -+ .byte 0x2 -+ .long 0x59fd -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x51dc -+ .uleb128 0x35 -+ .long .LASF889 -+ .byte 0x2 -+ .byte 0x6f -+ .byte 0x2a -+ .long 0x2a28 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x59d9 -+ .long .LASF890 -+ .long 0x5a0e -+ .long 0x5a19 -+ .uleb128 0xd -+ .long 0x59e7 -+ .uleb128 0xd -+ .long 0x59f0 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2a6f -+ .uleb128 0xa -+ .long 0x5a19 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x493d -+ .uleb128 0xa -+ .long 0x5a24 -+ .uleb128 0xb -+ .long 0x2a78 -+ .long 0x5a3d -+ .byte 0x2 -+ .long 0x5a59 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5a1f -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .uleb128 0x7 -+ .long .LASF891 -+ .long 0x5a2a -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5a2f -+ .long .LASF892 -+ .long 0x5a6a -+ .long 0x5a75 -+ .uleb128 0xd -+ .long 0x5a3d -+ .uleb128 0xd -+ .long 0x5a4f -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2aa2 -+ .long 0x5a83 -+ .byte 0x2 -+ .long 0x5a9f -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5a1f -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .uleb128 0x7 -+ .long .LASF891 -+ .long 0x5a2a -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5a75 -+ .long .LASF893 -+ .long 0x5ab0 -+ .long 0x5abb -+ .uleb128 0xd -+ .long 0x5a83 -+ .uleb128 0xd -+ .long 0x5a95 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x2dd9 -+ .uleb128 0xa -+ .long 0x5abb -+ .uleb128 0xb -+ .long 0x2de2 -+ .long 0x5ad4 -+ .byte 0x2 -+ .long 0x5ae7 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5ac1 -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5ac6 -+ .long .LASF894 -+ .long 0x5af8 -+ .long 0x5afe -+ .uleb128 0xd -+ .long 0x5ad4 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5ac6 -+ .long .LASF895 -+ .long 0x5b0f -+ .long 0x5b15 -+ .uleb128 0xd -+ .long 0x5ad4 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2e08 -+ .long 0x5b23 -+ .byte 0x2 -+ .long 0x5b2d -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5ac1 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5b15 -+ .long .LASF896 -+ .long 0x5b3e -+ .long 0x5b44 -+ .uleb128 0xd -+ .long 0x5b23 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x9fa -+ .long 0x5b52 -+ .byte 0x3 -+ .long 0x5b5c -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x65 -+ .long 0x5b6a -+ .byte 0x2 -+ .long 0x5b8c -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x50f5 -+ .uleb128 0x35 -+ .long .LASF897 -+ .byte 0x3 -+ .byte 0xa0 -+ .byte 0x17 -+ .long 0xd3 -+ .uleb128 0x1f -+ .string "__a" -+ .byte 0x3 -+ .byte 0xa0 -+ .byte 0x2c -+ .long 0x4972 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5b5c -+ .long .LASF898 -+ .long 0x5b9d -+ .long 0x5bad -+ .uleb128 0xd -+ .long 0x5b6a -+ .uleb128 0xd -+ .long 0x5b73 -+ .uleb128 0xd -+ .long 0x5b7f -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2f00 -+ .long 0x5bbb -+ .byte 0x2 -+ .long 0x5bce -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x494a -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5bad -+ .long .LASF899 -+ .long 0x5bdf -+ .long 0x5be5 -+ .uleb128 0xd -+ .long 0x5bbb -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2ec5 -+ .long 0x5bf3 -+ .byte 0x2 -+ .long 0x5bfd -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x494a -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5be5 -+ .long .LASF900 -+ .long 0x5c0e -+ .long 0x5c14 -+ .uleb128 0xd -+ .long 0x5bf3 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x21a -+ .long 0x5c22 -+ .byte 0x3 -+ .long 0x5c38 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x1f -+ .string "__n" -+ .byte 0x3 -+ .byte 0xda -+ .byte 0x1f -+ .long 0x117 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x175 -+ .long 0x5c46 -+ .byte 0x3 -+ .long 0x5c5c -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x35 -+ .long .LASF901 -+ .byte 0x3 -+ .byte 0xba -+ .byte 0x1b -+ .long 0x117 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x239 -+ .long 0x5c6a -+ .byte 0x3 -+ .long 0x5c74 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x89 -+ .long 0x5c82 -+ .byte 0x2 -+ .long 0x5ca4 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x50f5 -+ .uleb128 0x35 -+ .long .LASF897 -+ .byte 0x3 -+ .byte 0xa3 -+ .byte 0x17 -+ .long 0xd3 -+ .uleb128 0x1f -+ .string "__a" -+ .byte 0x3 -+ .byte 0xa3 -+ .byte 0x27 -+ .long 0x50fa -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5c74 -+ .long .LASF902 -+ .long 0x5cb5 -+ .long 0x5cc5 -+ .uleb128 0xd -+ .long 0x5c82 -+ .uleb128 0xd -+ .long 0x5c8b -+ .uleb128 0xd -+ .long 0x5c97 -+ .byte 0 -+ .uleb128 0x3b -+ .byte 0x8 -+ .long 0x2bf3 -+ .uleb128 0x21 -+ .long 0x2e37 -+ .byte 0x3 -+ .long 0x5ceb -+ .uleb128 0x1a -+ .string "_Tp" -+ .long 0x4978 -+ .uleb128 0x1f -+ .string "__t" -+ .byte 0x1b -+ .byte 0x63 -+ .byte 0x10 -+ .long 0x4978 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x320 -+ .long 0x5cf9 -+ .byte 0x3 -+ .long 0x5d03 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x1b2 -+ .long 0x5d11 -+ .byte 0x3 -+ .long 0x5d1b -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x27f -+ .long 0x5d29 -+ .byte 0x3 -+ .long 0x5d33 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x194 -+ .long 0x5d41 -+ .byte 0x3 -+ .long 0x5d4b -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5121 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1c0f -+ .uleb128 0xa -+ .long 0x5d4b -+ .uleb128 0xb -+ .long 0x1b82 -+ .long 0x5d64 -+ .byte 0x3 -+ .long 0x5d6e -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5d51 -+ .byte 0 -+ .uleb128 0x8 -+ .byte 0x8 -+ .long 0x1b6b -+ .uleb128 0xa -+ .long 0x5d6e -+ .uleb128 0xb -+ .long 0x1ba2 -+ .long 0x5d87 -+ .byte 0x2 -+ .long 0x5da3 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5d74 -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .uleb128 0x7 -+ .long .LASF891 -+ .long 0x5a2a -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5d79 -+ .long .LASF903 -+ .long 0x5db4 -+ .long 0x5dba -+ .uleb128 0xd -+ .long 0x5d87 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5d79 -+ .long .LASF904 -+ .long 0x5dcb -+ .long 0x5dd1 -+ .uleb128 0xd -+ .long 0x5d87 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x1bcd -+ .long 0x5ddf -+ .byte 0x2 -+ .long 0x5dfb -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5d74 -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .uleb128 0x7 -+ .long .LASF891 -+ .long 0x5a2a -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5dd1 -+ .long .LASF905 -+ .long 0x5e0c -+ .long 0x5e12 -+ .uleb128 0xd -+ .long 0x5ddf -+ .byte 0 -+ .uleb128 0x5b -+ .long 0x1b28 -+ .byte 0x2 -+ .byte 0x41 -+ .byte 0xb -+ .long 0x5e23 -+ .byte 0x2 -+ .long 0x5e36 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x51dc -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5e12 -+ .long .LASF906 -+ .long 0x5e47 -+ .long 0x5e4d -+ .uleb128 0xd -+ .long 0x5e23 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5e12 -+ .long .LASF907 -+ .long 0x5e5e -+ .long 0x5e64 -+ .uleb128 0xd -+ .long 0x5e23 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2583 -+ .long 0x5e72 -+ .byte 0x2 -+ .long 0x5e85 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x496d -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5e64 -+ .long .LASF908 -+ .long 0x5e96 -+ .long 0x5e9c -+ .uleb128 0xd -+ .long 0x5e72 -+ .byte 0 -+ .uleb128 0xb -+ .long 0x2523 -+ .long 0x5eaa -+ .byte 0x2 -+ .long 0x5eb4 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x496d -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5e9c -+ .long .LASF909 -+ .long 0x5ec5 -+ .long 0x5ecb -+ .uleb128 0xd -+ .long 0x5eaa -+ .byte 0 -+ .uleb128 0xb -+ .long 0x786 -+ .long 0x5ed9 -+ .byte 0x2 -+ .long 0x5eec -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x5116 -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5ecb -+ .long .LASF910 -+ .long 0x5efd -+ .long 0x5f03 -+ .uleb128 0xd -+ .long 0x5ed9 -+ .byte 0 -+ .uleb128 0x5b -+ .long 0xba -+ .byte 0x3 -+ .byte 0x9a -+ .byte 0xe -+ .long 0x5f14 -+ .byte 0x2 -+ .long 0x5f27 -+ .uleb128 0x7 -+ .long .LASF862 -+ .long 0x50f5 -+ .uleb128 0x7 -+ .long .LASF886 -+ .long 0x39f2 -+ .byte 0 -+ .uleb128 0x12 -+ .long 0x5f03 -+ .long .LASF911 -+ .long 0x5f38 -+ .long 0x5f3e -+ .uleb128 0xd -+ .long 0x5f14 -+ .byte 0 -+ .uleb128 0x88 -+ .long .LASF912 -+ .byte 0x1 -+ .byte 0x21 -+ .byte 0x1 -+ .long 0x39eb -+ .quad .LFB1647 -+ .quad .LFE1647-.LFB1647 -+ .uleb128 0x1 -+ .byte 0x9c -+ .long 0x5f7b -+ .uleb128 0x45 -+ .quad .LVL12 -+ .long 0x5f7b -+ .uleb128 0x89 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x91 -+ .sleb128 -28 -+ .uleb128 0x3 -+ .byte 0xa -+ .value 0x4d2 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8a -+ .long .LASF935 -+ .byte 0x1 -+ .byte 0x1a -+ .byte 0x1 -+ .quad .LFB1646 -+ .quad .LFE1646-.LFB1646 -+ .uleb128 0x1 -+ .byte 0x9c -+ .long 0x60a8 -+ .uleb128 0x8b -+ .string "t" -+ .byte 0x1 -+ .byte 0x1a -+ .byte 0x13 -+ .long 0x60a8 -+ .long .LLST0 -+ .long .LVUS0 -+ .uleb128 0x8c -+ .string "oss" -+ .byte 0x1 -+ .byte 0x1c -+ .byte 0x16 -+ .long 0x2e5a -+ .uleb128 0x3 -+ .byte 0x91 -+ .sleb128 -416 -+ .uleb128 0x8d -+ .long 0x5d56 -+ .quad .LBI403 -+ .byte .LVU8 -+ .quad .LBB403 -+ .quad .LBE403-.LBB403 -+ .byte 0x1 -+ .byte 0x1d -+ .byte 0x12 -+ .long 0x600e -+ .uleb128 0x8e -+ .long 0x5d64 -+ .long .LLST1 -+ .long .LVUS1 -+ .uleb128 0x45 -+ .quad .LVL5 -+ .long 0x5966 -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x73 -+ .sleb128 0 -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x54 -+ .uleb128 0x3 -+ .byte 0x91 -+ .sleb128 -408 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x36 -+ .quad .LVL2 -+ .long 0x5dfb -+ .long 0x6026 -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x77 -+ .sleb128 0 -+ .byte 0 -+ .uleb128 0x36 -+ .quad .LVL3 -+ .long 0x60d3 -+ .long 0x603e -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x8 -+ .byte 0x20 -+ .byte 0 -+ .uleb128 0x36 -+ .quad .LVL6 -+ .long 0x60dc -+ .long 0x6063 -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x73 -+ .sleb128 0 -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x54 -+ .uleb128 0x9 -+ .byte 0x3 -+ .quad _ZTINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE -+ .byte 0 -+ .uleb128 0x36 -+ .quad .LVL8 -+ .long 0x60e5 -+ .long 0x607b -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x73 -+ .sleb128 0 -+ .byte 0 -+ .uleb128 0x36 -+ .quad .LVL10 -+ .long 0x5dba -+ .long 0x6093 -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x77 -+ .sleb128 0 -+ .byte 0 -+ .uleb128 0x45 -+ .quad .LVL11 -+ .long 0x60ee -+ .uleb128 0x26 -+ .uleb128 0x1 -+ .byte 0x55 -+ .uleb128 0x2 -+ .byte 0x73 -+ .sleb128 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x11 -+ .byte 0x8 -+ .long 0x51ed -+ .uleb128 0x21 -+ .long 0x222c -+ .byte 0x3 -+ .long 0x60d3 -+ .uleb128 0x17 -+ .long .LASF913 -+ .byte 0xb -+ .value 0x12b -+ .byte 0x19 -+ .long 0x4502 -+ .uleb128 0x17 -+ .long .LASF914 -+ .byte 0xb -+ .value 0x12b -+ .byte 0x30 -+ .long 0x4508 -+ .byte 0 -+ .uleb128 0x3d -+ .long .LASF915 -+ .long .LASF915 -+ .uleb128 0x3d -+ .long .LASF916 -+ .long .LASF916 -+ .uleb128 0x3d -+ .long .LASF917 -+ .long .LASF917 -+ .uleb128 0x3d -+ .long .LASF918 -+ .long .LASF919 -+ .byte 0 -+ .section .debug_abbrev,"",@progbits -+.Ldebug_abbrev0: -+ .uleb128 0x1 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8 -+ .uleb128 0xf -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x9 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xa -+ .uleb128 0x26 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xc -+ .uleb128 0x2f -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xd -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xe -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0xf -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x10 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x11 -+ .uleb128 0x10 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x12 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x13 -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x14 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x15 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x16 -+ .uleb128 0x24 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0xe -+ .byte 0 -+ .byte 0 -+ .uleb128 0x17 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x18 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x19 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1a -+ .uleb128 0x2f -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1b -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1c -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x1c -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1d -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1e -+ .uleb128 0x8 -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x1f -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x20 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x21 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x22 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x23 -+ .uleb128 0x28 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x24 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x25 -+ .uleb128 0x2f -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x1e -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x26 -+ .uleb128 0x410a -+ .byte 0 -+ .uleb128 0x2 -+ .uleb128 0x18 -+ .uleb128 0x2111 -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x27 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x28 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x29 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2a -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2b -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2c -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2d -+ .uleb128 0x1 -+ .byte 0x1 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2e -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x2f -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x30 -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x31 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x32 -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x33 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x34 -+ .uleb128 0x21 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2f -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x35 -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x36 -+ .uleb128 0x4109 -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x37 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x38 -+ .uleb128 0x3a -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x39 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3b -+ .uleb128 0x42 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3c -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3d -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3 -+ .uleb128 0xe -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3e -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x2 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x40 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x41 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x42 -+ .uleb128 0x13 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x43 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x1c -+ .uleb128 0xd -+ .byte 0 -+ .byte 0 -+ .uleb128 0x44 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x1c -+ .uleb128 0x5 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x45 -+ .uleb128 0x4109 -+ .byte 0x1 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x46 -+ .uleb128 0x39 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x89 -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x1c -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x48 -+ .uleb128 0x17 -+ .byte 0x1 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4a -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x4c -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4b -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x8b -+ .uleb128 0xb -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4c -+ .uleb128 0x39 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4d -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x6c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4e -+ .uleb128 0x30 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x1c -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x4f -+ .uleb128 0x39 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x50 -+ .uleb128 0x39 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x51 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x52 -+ .uleb128 0x39 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x89 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x53 -+ .uleb128 0x3a -+ .byte 0 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x18 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x54 -+ .uleb128 0x28 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0x6 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x55 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x4c -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x56 -+ .uleb128 0x4 -+ .byte 0x1 -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x57 -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x58 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x59 -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5a -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5b -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x20 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5c -+ .uleb128 0x11 -+ .byte 0x1 -+ .uleb128 0x25 -+ .uleb128 0xe -+ .uleb128 0x13 -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x1b -+ .uleb128 0xe -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x10 -+ .uleb128 0x17 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5d -+ .uleb128 0x39 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5e -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x5f -+ .uleb128 0x4 -+ .byte 0x1 -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x60 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x61 -+ .uleb128 0xd -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x62 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x63 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x4c -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0x19 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x64 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x65 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x66 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x63 -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x67 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x68 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x87 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x69 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1c -+ .uleb128 0xa -+ .uleb128 0x6c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6a -+ .uleb128 0x13 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6b -+ .uleb128 0x2e -+ .byte 0 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6c -+ .uleb128 0x1c -+ .byte 0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6d -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x8b -+ .uleb128 0xb -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x32 -+ .uleb128 0xb -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x64 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x6f -+ .uleb128 0x39 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x89 -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x70 -+ .uleb128 0x4 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x71 -+ .uleb128 0x28 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x1c -+ .uleb128 0xd -+ .byte 0 -+ .byte 0 -+ .uleb128 0x72 -+ .uleb128 0x39 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x73 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x74 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x75 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x76 -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x77 -+ .uleb128 0xf -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x78 -+ .uleb128 0x24 -+ .byte 0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3e -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x79 -+ .uleb128 0x13 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7a -+ .uleb128 0x3b -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7b -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7c -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7d -+ .uleb128 0x26 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7e -+ .uleb128 0x15 -+ .byte 0x1 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x7f -+ .uleb128 0x15 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x80 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x81 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0x5 -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x87 -+ .uleb128 0x19 -+ .uleb128 0x3c -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x82 -+ .uleb128 0x16 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .byte 0 -+ .byte 0 -+ .uleb128 0x83 -+ .uleb128 0x21 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x84 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x1c -+ .uleb128 0x6 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x85 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x6e -+ .uleb128 0xe -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x1c -+ .uleb128 0x7 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x86 -+ .uleb128 0xb -+ .byte 0x1 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x87 -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x88 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0x19 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x40 -+ .uleb128 0x18 -+ .uleb128 0x2117 -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x89 -+ .uleb128 0x410a -+ .byte 0 -+ .uleb128 0x2 -+ .uleb128 0x18 -+ .uleb128 0x2111 -+ .uleb128 0x18 -+ .uleb128 0x2112 -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8a -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0xe -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x40 -+ .uleb128 0x18 -+ .uleb128 0x2117 -+ .uleb128 0x19 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8b -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0x17 -+ .uleb128 0x2137 -+ .uleb128 0x17 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8c -+ .uleb128 0x34 -+ .byte 0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x39 -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0x18 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8d -+ .uleb128 0x1d -+ .byte 0x1 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x52 -+ .uleb128 0x1 -+ .uleb128 0x2138 -+ .uleb128 0xb -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x7 -+ .uleb128 0x58 -+ .uleb128 0xb -+ .uleb128 0x59 -+ .uleb128 0xb -+ .uleb128 0x57 -+ .uleb128 0xb -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0 -+ .byte 0 -+ .uleb128 0x8e -+ .uleb128 0x5 -+ .byte 0 -+ .uleb128 0x31 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0x17 -+ .uleb128 0x2137 -+ .uleb128 0x17 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .section .debug_loc,"",@progbits -+.Ldebug_loc0: -+.LVUS0: -+ .uleb128 0 -+ .uleb128 .LVU5 -+ .uleb128 .LVU5 -+ .uleb128 0 -+.LLST0: -+ .quad .LVL0-.Ltext0 -+ .quad .LVL1-.Ltext0 -+ .value 0x1 -+ .byte 0x55 -+ .quad .LVL1-.Ltext0 -+ .quad .LFE1646-.Ltext0 -+ .value 0x4 -+ .byte 0xf3 -+ .uleb128 0x1 -+ .byte 0x55 -+ .byte 0x9f -+ .quad 0 -+ .quad 0 -+.LVUS1: -+ .uleb128 .LVU8 -+ .uleb128 .LVU10 -+ .uleb128 .LVU12 -+ .uleb128 .LVU14 -+.LLST1: -+ .quad .LVL4-.Ltext0 -+ .quad .LVL5-.Ltext0 -+ .value 0x1 -+ .byte 0x57 -+ .quad .LVL7-.Ltext0 -+ .quad .LVL9-.Ltext0 -+ .value 0x1 -+ .byte 0x57 -+ .quad 0 -+ .quad 0 -+ .section .debug_aranges,"",@progbits -+ .long 0x2c -+ .value 0x2 -+ .long .Ldebug_info0 -+ .byte 0x8 -+ .byte 0 -+ .value 0 -+ .value 0 -+ .quad .Ltext0 -+ .quad .Letext0-.Ltext0 -+ .quad 0 -+ .quad 0 -+ .section .debug_line,"",@progbits -+.Ldebug_line0: -+ .section .debug_str,"MS",@progbits,1 -+.LASF739: -+ .string "int_p_sep_by_space" -+.LASF920: -+ .string "GNU C++14 9.4.0 -mtune=generic -march=x86-64 -g -O1 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection" -+.LASF547: -+ .string "char" -+.LASF487: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEixEl" -+.LASF810: -+ .string "fgetc" -+.LASF691: -+ .string "int8_t" -+.LASF485: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEv" -+.LASF261: -+ .string "basic_ostringstream, std::allocator >" -+.LASF307: -+ .string "size_t" -+.LASF31: -+ .string "_M_construct_aux_2" -+.LASF812: -+ .string "fgets" -+.LASF622: -+ .string "tm_hour" -+.LASF416: -+ .string "__value" -+.LASF910: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev" -+.LASF381: -+ .string "_S_ios_openmode_min" -+.LASF406: -+ .string "conditional" -+.LASF450: -+ .string "__numeric_traits_integer" -+.LASF467: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE15_S_always_equalEv" -+.LASF421: -+ .string "_ZSt11__addressofIKcEPT_RS1_" -+.LASF267: -+ .string "basic_string, std::allocator >" -+.LASF396: -+ .string "basic_streambuf" -+.LASF878: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_" -+.LASF795: -+ .string "_IO_codecvt" -+.LASF509: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEplEl" -+.LASF88: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_" -+.LASF470: -+ .string "rebind" -+.LASF842: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE" -+.LASF410: -+ .string "_Ptr" -+.LASF714: -+ .string "uint_fast64_t" -+.LASF112: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv" -+.LASF680: -+ .string "__uint_least8_t" -+.LASF138: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv" -+.LASF295: -+ .string "integral_constant" -+.LASF171: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc" -+.LASF21: -+ .string "_M_set_length" -+.LASF563: -+ .string "_IO_save_end" -+.LASF399: -+ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEED4Ev" -+.LASF921: -+ .string "entry-value-typedef.cpp" -+.LASF459: -+ .string "_S_on_swap" -+.LASF156: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc" -+.LASF784: -+ .string "lldiv" -+.LASF692: -+ .string "int16_t" -+.LASF164: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE" -+.LASF840: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE11__is_signedE" -+.LASF618: -+ .string "wcscspn" -+.LASF746: -+ .string "localeconv" -+.LASF425: -+ .string "_ZSt11__addressofIcEPT_RS0_" -+.LASF271: -+ .string "_M_addref" -+.LASF275: -+ .string "_M_get" -+.LASF677: -+ .string "__int64_t" -+.LASF789: -+ .string "strtold" -+.LASF358: -+ .string "_M_len" -+.LASF786: -+ .string "strtoll" -+.LASF556: -+ .string "_IO_write_base" -+.LASF828: -+ .string "tmpnam" -+.LASF640: -+ .string "wcstol" -+.LASF394: -+ .string "pptr" -+.LASF860: -+ .string "__lhs" -+.LASF365: -+ .string "_ZNKSt16initializer_listIcE3endEv" -+.LASF46: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc" -+.LASF572: -+ .string "_lock" -+.LASF888: -+ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev" -+.LASF723: -+ .string "int_curr_symbol" -+.LASF54: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_" -+.LASF439: -+ .string "new_allocator" -+.LASF877: -+ .string "__last" -+.LASF105: -+ .string "cend" -+.LASF502: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv" -+.LASF40: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc" -+.LASF560: -+ .string "_IO_buf_end" -+.LASF734: -+ .string "n_cs_precedes" -+.LASF390: -+ .string "pbase" -+.LASF561: -+ .string "_IO_save_base" -+.LASF87: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc" -+.LASF361: -+ .string "_ZNSt16initializer_listIcEC4Ev" -+.LASF843: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE" -+.LASF505: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEv" -+.LASF405: -+ .string "iterator_traits" -+.LASF116: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv" -+.LASF766: -+ .string "atoi" -+.LASF903: -+ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev" -+.LASF643: -+ .string "wcsxfrm" -+.LASF785: -+ .string "atoll" -+.LASF730: -+ .string "int_frac_digits" -+.LASF270: -+ .string "_ZNSt15__exception_ptr13exception_ptrC4EPv" -+.LASF473: -+ .string "_M_current" -+.LASF342: -+ .string "_ZNSaIcEaSERKS_" -+.LASF371: -+ .string "string_literals" -+.LASF919: -+ .string "__builtin_unwind_resume" -+.LASF811: -+ .string "fgetpos" -+.LASF791: -+ .string "__pos" -+.LASF565: -+ .string "_chain" -+.LASF616: -+ .string "wcscoll" -+.LASF805: -+ .string "clearerr" -+.LASF305: -+ .string "_ZNKSt17integral_constantIbLb1EEcvbEv" -+.LASF423: -+ .string "_ZSt9addressofIcEPT_RS0_" -+.LASF50: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm" -+.LASF569: -+ .string "_cur_column" -+.LASF890: -+ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode" -+.LASF801: -+ .string "sys_nerr" -+.LASF728: -+ .string "positive_sign" -+.LASF191: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_" -+.LASF483: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEi" -+.LASF544: -+ .string "__wch" -+.LASF140: -+ .string "back" -+.LASF324: -+ .string "_ZNSt11char_traitsIcE4moveEPcPKcm" -+.LASF672: -+ .string "__uint8_t" -+.LASF709: -+ .string "int_fast32_t" -+.LASF135: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm" -+.LASF852: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE11__is_signedE" -+.LASF482: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv" -+.LASF194: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_" -+.LASF28: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv" -+.LASF84: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS3_" -+.LASF47: -+ .string "_S_copy" -+.LASF765: -+ .string "atof" -+.LASF188: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m" -+.LASF845: -+ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIdE16__max_exponent10E" -+.LASF429: -+ .string "_ZNSt9basic_iosIcSt11char_traitsIcEED4Ev" -+.LASF767: -+ .string "atol" -+.LASF367: -+ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" -+.LASF98: -+ .string "const_reverse_iterator" -+.LASF841: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIiE8__digitsE" -+.LASF8: -+ .string "_M_dataplus" -+.LASF7: -+ .string "_M_p" -+.LASF14: -+ .string "_M_local_data" -+.LASF331: -+ .string "_ZNSt11char_traitsIcE11to_int_typeERKc" -+.LASF251: -+ .string "assign" -+.LASF725: -+ .string "mon_decimal_point" -+.LASF869: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IPcEERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISC_SB_E7__valueES8_E6__typeEEE" -+.LASF442: -+ .string "~new_allocator" -+.LASF641: -+ .string "long int" -+.LASF521: -+ .string "__numeric_traits_floating" -+.LASF282: -+ .string "_ZNSt15__exception_ptr13exception_ptraSERKS0_" -+.LASF386: -+ .string "_ZNSoD4Ev" -+.LASF443: -+ .string "_ZN9__gnu_cxx13new_allocatorIcED4Ev" -+.LASF265: -+ .string "nothrow_t" -+.LASF424: -+ .string "__addressof" -+.LASF523: -+ .string "__numeric_traits_integer" -+.LASF610: -+ .string "vwprintf" -+.LASF70: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_" -+.LASF929: -+ .string "_Ios_Openmode" -+.LASF383: -+ .string "openmode" -+.LASF783: -+ .string "wctomb" -+.LASF911: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD2Ev" -+.LASF329: -+ .string "int_type" -+.LASF356: -+ .string "initializer_list" -+.LASF794: -+ .string "_IO_marker" -+.LASF80: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EOS4_RKS3_" -+.LASF797: -+ .string "fpos_t" -+.LASF123: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv" -+.LASF912: -+ .string "main" -+.LASF740: -+ .string "int_n_cs_precedes" -+.LASF220: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm" -+.LASF835: -+ .string "towctrans" -+.LASF24: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv" -+.LASF60: -+ .string "_S_compare" -+.LASF202: -+ .string "copy" -+.LASF775: -+ .string "rand" -+.LASF339: -+ .string "_ZNSaIcEC4Ev" -+.LASF508: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEpLEl" -+.LASF199: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm" -+.LASF319: -+ .string "_ZNSt11char_traitsIcE2ltERKcS2_" -+.LASF93: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv" -+.LASF45: -+ .string "_M_disjunct" -+.LASF885: -+ .string "__ret" -+.LASF737: -+ .string "n_sign_posn" -+.LASF197: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc" -+.LASF294: -+ .string "nullptr_t" -+.LASF904: -+ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev" -+.LASF259: -+ .string "~basic_stringbuf" -+.LASF520: -+ .string "__numeric_traits_floating" -+.LASF165: -+ .string "insert" -+.LASF455: -+ .string "_Value" -+.LASF41: -+ .string "_M_check_length" -+.LASF139: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv" -+.LASF4: -+ .string "_M_allocated_capacity" -+.LASF35: -+ .string "allocator_type" -+.LASF706: -+ .string "uint_least64_t" -+.LASF931: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE10_S_on_swapERS1_S3_" -+.LASF229: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm" -+.LASF224: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm" -+.LASF627: -+ .string "tm_yday" -+.LASF787: -+ .string "strtoull" -+.LASF695: -+ .string "uint8_t" -+.LASF477: -+ .string "operator*" -+.LASF489: -+ .string "operator+" -+.LASF493: -+ .string "operator-" -+.LASF184: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm" -+.LASF749: -+ .string "__timezone" -+.LASF478: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv" -+.LASF822: -+ .string "remove" -+.LASF796: -+ .string "_IO_wide_data" -+.LASF384: -+ .string "basic_ostream >" -+.LASF832: -+ .string "wctype_t" -+.LASF83: -+ .string "operator=" -+.LASF690: -+ .string "__off64_t" -+.LASF602: -+ .string "__isoc99_swscanf" -+.LASF584: -+ .string "fgetwc" -+.LASF745: -+ .string "getwchar" -+.LASF225: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm" -+.LASF902: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_" -+.LASF248: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc" -+.LASF120: -+ .string "shrink_to_fit" -+.LASF407: -+ .string "pointer_traits" -+.LASF317: -+ .string "char_type" -+.LASF663: -+ .string "unsigned char" -+.LASF682: -+ .string "__uint_least16_t" -+.LASF664: -+ .string "__int128 unsigned" -+.LASF119: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm" -+.LASF897: -+ .string "__dat" -+.LASF735: -+ .string "n_sep_by_space" -+.LASF9: -+ .string "_M_string_length" -+.LASF451: -+ .string "__is_signed" -+.LASF806: -+ .string "fclose" -+.LASF656: -+ .string "wmemchr" -+.LASF668: -+ .string "char16_t" -+.LASF924: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD4Ev" -+.LASF626: -+ .string "tm_wday" -+.LASF446: -+ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERKc" -+.LASF854: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE" -+.LASF701: -+ .string "int_least32_t" -+.LASF592: -+ .string "__isoc99_fwscanf" -+.LASF245: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_" -+.LASF900: -+ .string "_ZN9__gnu_cxx13new_allocatorIcEC2Ev" -+.LASF615: -+ .string "wcscmp" -+.LASF379: -+ .string "_S_ios_openmode_end" -+.LASF777: -+ .string "srand" -+.LASF391: -+ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv" -+.LASF334: -+ .string "not_eof" -+.LASF600: -+ .string "swprintf" -+.LASF64: -+ .string "_M_mutate" -+.LASF192: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_" -+.LASF417: -+ .string "__are_same" -+.LASF170: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm" -+.LASF747: -+ .string "__tzname" -+.LASF653: -+ .string "wcspbrk" -+.LASF530: -+ .string "_IteratorL" -+.LASF144: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_" -+.LASF206: -+ .string "c_str" -+.LASF652: -+ .string "wcschr" -+.LASF42: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc" -+.LASF146: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc" -+.LASF377: -+ .string "_S_out" -+.LASF236: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm" -+.LASF927: -+ .string "input_iterator_tag" -+.LASF464: -+ .string "_S_propagate_on_swap" -+.LASF438: -+ .string "new_allocator" -+.LASF526: -+ .string "operator- >" -+.LASF770: -+ .string "ldiv" -+.LASF86: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc" -+.LASF875: -+ .string "__ptr" -+.LASF819: -+ .string "getc" -+.LASF373: -+ .string "_S_app" -+.LASF549: -+ .string "mbstate_t" -+.LASF713: -+ .string "uint_fast32_t" -+.LASF153: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc" -+.LASF205: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_" -+.LASF63: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_" -+.LASF837: -+ .string "wctype" -+.LASF908: -+ .string "_ZNSaIcED2Ev" -+.LASF705: -+ .string "uint_least32_t" -+.LASF510: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmIEl" -+.LASF291: -+ .string "rethrow_exception" -+.LASF122: -+ .string "capacity" -+.LASF117: -+ .string "resize" -+.LASF934: -+ .string "_IO_lock_t" -+.LASF422: -+ .string "addressof" -+.LASF674: -+ .string "__uint16_t" -+.LASF839: -+ .string "_ZNSt17integral_constantIbLb1EE5valueE" -+.LASF219: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm" -+.LASF186: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc" -+.LASF348: -+ .string "_ZNSt16allocator_traitsISaIcEE8allocateERS0_mPKv" -+.LASF922: -+ .string "/home/smarchi/src/binutils-gdb/gdb/testsuite/gdb.dwarf2" -+.LASF264: -+ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC4Ev" -+.LASF647: -+ .string "wmemmove" -+.LASF172: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc" -+.LASF118: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc" -+.LASF125: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm" -+.LASF471: -+ .string "other" -+.LASF879: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev" -+.LASF755: -+ .string "5div_t" -+.LASF752: -+ .string "timezone" -+.LASF475: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4Ev" -+.LASF346: -+ .string "allocate" -+.LASF454: -+ .string "__min" -+.LASF181: -+ .string "replace" -+.LASF621: -+ .string "tm_min" -+.LASF126: -+ .string "clear" -+.LASF269: -+ .string "_M_exception_object" -+.LASF553: -+ .string "_IO_read_ptr" -+.LASF650: -+ .string "wscanf" -+.LASF66: -+ .string "_M_erase" -+.LASF726: -+ .string "mon_thousands_sep" -+.LASF603: -+ .string "ungetwc" -+.LASF539: -+ .string "fp_offset" -+.LASF818: -+ .string "ftell" -+.LASF336: -+ .string "ptrdiff_t" -+.LASF350: -+ .string "deallocate" -+.LASF299: -+ .string "operator std::integral_constant::value_type" -+.LASF185: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc" -+.LASF594: -+ .string "mbrlen" -+.LASF412: -+ .string "conditional" -+.LASF798: -+ .string "stdin" -+.LASF729: -+ .string "negative_sign" -+.LASF18: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv" -+.LASF894: -+ .string "_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev" -+.LASF182: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_" -+.LASF802: -+ .string "sys_errlist" -+.LASF738: -+ .string "int_p_cs_precedes" -+.LASF58: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_" -+.LASF5: -+ .string "pointer" -+.LASF799: -+ .string "stdout" -+.LASF227: -+ .string "find_last_of" -+.LASF95: -+ .string "reverse_iterator" -+.LASF148: -+ .string "append" -+.LASF564: -+ .string "_markers" -+.LASF345: -+ .string "allocator_traits >" -+.LASF660: -+ .string "wcstoull" -+.LASF846: -+ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIeE16__max_exponent10E" -+.LASF244: -+ .string "compare" -+.LASF790: -+ .string "_G_fpos_t" -+.LASF686: -+ .string "__uint_least64_t" -+.LASF230: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm" -+.LASF617: -+ .string "wcscpy" -+.LASF629: -+ .string "tm_gmtoff" -+.LASF907: -+ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev" -+.LASF254: -+ .string "_CharT" -+.LASF293: -+ .string "_Char_alloc_type" -+.LASF281: -+ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC4ESt13_Ios_Openmode" -+.LASF162: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc" -+.LASF55: -+ .string "iterator" -+.LASF303: -+ .string "integral_constant" -+.LASF780: -+ .string "strtoul" -+.LASF304: -+ .string "operator std::integral_constant::value_type" -+.LASF32: -+ .string "_M_construct" -+.LASF447: -+ .string "_ZN9__gnu_cxx13new_allocatorIcE8allocateEmPKv" -+.LASF648: -+ .string "wmemset" -+.LASF286: -+ .string "_ZNSt15__exception_ptr13exception_ptr4swapERS0_" -+.LASF612: -+ .string "__isoc99_vwscanf" -+.LASF290: -+ .string "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv" -+.LASF589: -+ .string "fwide" -+.LASF353: -+ .string "select_on_container_copy_construction" -+.LASF590: -+ .string "fwprintf" -+.LASF654: -+ .string "wcsrchr" -+.LASF110: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv" -+.LASF689: -+ .string "__off_t" -+.LASF901: -+ .string "__length" -+.LASF262: -+ .string "_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv" -+.LASF671: -+ .string "__int8_t" -+.LASF830: -+ .string "program_invocation_name" -+.LASF36: -+ .string "_M_get_allocator" -+.LASF289: -+ .string "__cxa_exception_type" -+.LASF573: -+ .string "_offset" -+.LASF847: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerImE11__is_signedE" -+.LASF868: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS1_" -+.LASF97: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv" -+.LASF392: -+ .string "egptr" -+.LASF56: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_" -+.LASF634: -+ .string "wcsncpy" -+.LASF826: -+ .string "setvbuf" -+.LASF137: -+ .string "front" -+.LASF249: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc" -+.LASF252: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignIPcvEERS4_T_S8_" -+.LASF599: -+ .string "putwchar" -+.LASF233: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m" -+.LASF49: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm" -+.LASF844: -+ .string "_ZN9__gnu_cxx25__numeric_traits_floatingIfE16__max_exponent10E" -+.LASF283: -+ .string "_ZNSt15__exception_ptr13exception_ptraSEOS0_" -+.LASF500: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4ERKS2_" -+.LASF645: -+ .string "wmemcmp" -+.LASF374: -+ .string "_S_ate" -+.LASF325: -+ .string "_ZNSt11char_traitsIcE4copyEPcPKcm" -+.LASF130: -+ .string "const_reference" -+.LASF212: -+ .string "find" -+.LASF814: -+ .string "fread" -+.LASF89: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE" -+.LASF145: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc" -+.LASF678: -+ .string "__uint64_t" -+.LASF166: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc" -+.LASF769: -+ .string "getenv" -+.LASF33: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc" -+.LASF704: -+ .string "uint_least16_t" -+.LASF323: -+ .string "move" -+.LASF537: -+ .string "long unsigned int" -+.LASF85: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_" -+.LASF277: -+ .string "_ZNSt15__exception_ptr13exception_ptrC4Ev" -+.LASF375: -+ .string "_S_bin" -+.LASF92: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv" -+.LASF149: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_" -+.LASF133: -+ .string "reference" -+.LASF273: -+ .string "_M_release" -+.LASF134: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm" -+.LASF312: -+ .string "nothrow" -+.LASF567: -+ .string "_flags2" -+.LASF3: -+ .string "_M_local_buf" -+.LASF413: -+ .string "pointer_traits" -+.LASF444: -+ .string "address" -+.LASF173: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc" -+.LASF465: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE20_S_propagate_on_swapEv" -+.LASF670: -+ .string "__gnu_debug" -+.LASF684: -+ .string "__uint_least32_t" -+.LASF727: -+ .string "mon_grouping" -+.LASF758: -+ .string "6ldiv_t" -+.LASF555: -+ .string "_IO_read_base" -+.LASF131: -+ .string "operator[]" -+.LASF702: -+ .string "int_least64_t" -+.LASF541: -+ .string "reg_save_area" -+.LASF155: -+ .string "push_back" -+.LASF460: -+ .string "_S_propagate_on_copy_assign" -+.LASF26: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm" -+.LASF862: -+ .string "this" -+.LASF310: -+ .string "piecewise_construct_t" -+.LASF13: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm" -+.LASF580: -+ .string "_unused2" -+.LASF231: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm" -+.LASF655: -+ .string "wcsstr" -+.LASF782: -+ .string "wcstombs" -+.LASF115: -+ .string "max_size" -+.LASF861: -+ .string "__rhs" -+.LASF298: -+ .string "value_type" -+.LASF234: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm" -+.LASF716: -+ .string "uintptr_t" -+.LASF401: -+ .string "difference_type" -+.LASF415: -+ .string "__are_same" -+.LASF332: -+ .string "eq_int_type" -+.LASF106: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv" -+.LASF276: -+ .string "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv" -+.LASF0: -+ .string "_Alloc_hider" -+.LASF533: -+ .string "__float128" -+.LASF142: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv" -+.LASF430: -+ .string "basic_ios" -+.LASF395: -+ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv" -+.LASF915: -+ .string "__cxa_allocate_exception" -+.LASF167: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EESt16initializer_listIcE" -+.LASF913: -+ .string "__c1" -+.LASF914: -+ .string "__c2" -+.LASF838: -+ .string "_ZNSt17integral_constantIbLb0EE5valueE" -+.LASF341: -+ .string "_ZNKSt15__exception_ptr13exception_ptrcvbEv" -+.LASF817: -+ .string "fsetpos" -+.LASF354: -+ .string "_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_" -+.LASF65: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm" -+.LASF378: -+ .string "_S_trunc" -+.LASF515: -+ .string "_Iter" -+.LASF741: -+ .string "int_n_sep_by_space" -+.LASF255: -+ .string "_Traits" -+.LASF604: -+ .string "vfwprintf" -+.LASF300: -+ .string "_ZNKSt17integral_constantIbLb0EEcvbEv" -+.LASF160: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm" -+.LASF480: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv" -+.LASF127: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv" -+.LASF761: -+ .string "lldiv_t" -+.LASF237: -+ .string "find_last_not_of" -+.LASF476: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4ERKS1_" -+.LASF514: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4IPcEERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISC_SB_E7__valueES8_E6__typeEEE" -+.LASF857: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE8__digitsE" -+.LASF883: -+ .string "_ZNSaIcEC2ERKS_" -+.LASF676: -+ .string "__uint32_t" -+.LASF803: -+ .string "_sys_nerr" -+.LASF448: -+ .string "_ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcm" -+.LASF659: -+ .string "long long int" -+.LASF433: -+ .string "_ZSt4moveIRSaIcEEONSt16remove_referenceIT_E4typeEOS3_" -+.LASF548: -+ .string "__mbstate_t" -+.LASF898: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_" -+.LASF519: -+ .string "__max_exponent10" -+.LASF646: -+ .string "wmemcpy" -+.LASF624: -+ .string "tm_mon" -+.LASF891: -+ .string "__vtt_parm" -+.LASF278: -+ .string "_ZNSt15__exception_ptr13exception_ptrC4ERKS0_" -+.LASF637: -+ .string "wcstod" -+.LASF352: -+ .string "_ZNSt16allocator_traitsISaIcEE8max_sizeERKS0_" -+.LASF923: -+ .string "~_Alloc_hider" -+.LASF638: -+ .string "wcstof" -+.LASF161: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm" -+.LASF19: -+ .string "_M_capacity" -+.LASF576: -+ .string "_freeres_list" -+.LASF102: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv" -+.LASF518: -+ .string "__digits10" -+.LASF253: -+ .string "_InputIterator" -+.LASF189: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_" -+.LASF535: -+ .string "double" -+.LASF322: -+ .string "_ZNSt11char_traitsIcE4findEPKcmRS1_" -+.LASF773: -+ .string "mbtowc" -+.LASF558: -+ .string "_IO_write_end" -+.LASF388: -+ .string "_ZNSoC4Ev" -+.LASF94: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv" -+.LASF25: -+ .string "_M_create" -+.LASF239: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm" -+.LASF203: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm" -+.LASF418: -+ .string "addressof" -+.LASF855: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE" -+.LASF147: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE" -+.LASF718: -+ .string "uintmax_t" -+.LASF313: -+ .string "piecewise_construct" -+.LASF644: -+ .string "wctob" -+.LASF400: -+ .string "iterator_traits" -+.LASF538: -+ .string "gp_offset" -+.LASF506: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEi" -+.LASF575: -+ .string "_wide_data" -+.LASF242: -+ .string "substr" -+.LASF474: -+ .string "__normal_iterator" -+.LASF16: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv" -+.LASF848: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE" -+.LASF693: -+ .string "int32_t" -+.LASF896: -+ .string "_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev" -+.LASF534: -+ .string "float" -+.LASF762: -+ .string "__compar_fn_t" -+.LASF38: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv" -+.LASF933: -+ .string "decltype(nullptr)" -+.LASF268: -+ .string "exception_ptr" -+.LASF736: -+ .string "p_sign_posn" -+.LASF366: -+ .string "type_info" -+.LASF687: -+ .string "__intmax_t" -+.LASF389: -+ .string "basic_streambuf >" -+.LASF559: -+ .string "_IO_buf_base" -+.LASF257: -+ .string "__string_type" -+.LASF494: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmiEl" -+.LASF240: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm" -+.LASF859: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE" -+.LASF62: -+ .string "_M_assign" -+.LASF501: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv" -+.LASF315: -+ .string "char_traits" -+.LASF821: -+ .string "perror" -+.LASF238: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m" -+.LASF73: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_mmRKS3_" -+.LASF715: -+ .string "intptr_t" -+.LASF636: -+ .string "wcsspn" -+.LASF176: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm" -+.LASF217: -+ .string "rfind" -+.LASF288: -+ .string "operator bool" -+.LASF880: -+ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev" -+.LASF44: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm" -+.LASF168: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_" -+.LASF542: -+ .string "unsigned int" -+.LASF568: -+ .string "_old_offset" -+.LASF750: -+ .string "tzname" -+.LASF496: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4baseEv" -+.LASF107: -+ .string "crbegin" -+.LASF578: -+ .string "__pad5" -+.LASF163: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc" -+.LASF497: -+ .string "_Container" -+.LASF209: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv" -+.LASF326: -+ .string "_ZNSt11char_traitsIcE6assignEPcmc" -+.LASF595: -+ .string "mbrtowc" -+.LASF712: -+ .string "uint_fast16_t" -+.LASF328: -+ .string "_ZNSt11char_traitsIcE12to_char_typeERKi" -+.LASF215: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm" -+.LASF235: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm" -+.LASF360: -+ .string "_ZNSt16initializer_listIcEC4EPKcm" -+.LASF246: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_" -+.LASF781: -+ .string "system" -+.LASF708: -+ .string "int_fast16_t" -+.LASF833: -+ .string "wctrans_t" -+.LASF48: -+ .string "_S_move" -+.LASF207: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv" -+.LASF540: -+ .string "overflow_arg_area" -+.LASF823: -+ .string "rename" -+.LASF96: -+ .string "rbegin" -+.LASF75: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EPKcRKS3_" -+.LASF180: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv" -+.LASF226: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm" -+.LASF552: -+ .string "_flags" -+.LASF831: -+ .string "program_invocation_short_name" -+.LASF870: -+ .string "__off" -+.LASF355: -+ .string "rebind_alloc" -+.LASF74: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EPKcmRKS3_" -+.LASF579: -+ .string "_mode" -+.LASF434: -+ .string "ostringstream" -+.LASF284: -+ .string "~exception_ptr" -+.LASF498: -+ .string "__normal_iterator, std::allocator > >" -+.LASF669: -+ .string "char32_t" -+.LASF720: -+ .string "decimal_point" -+.LASF820: -+ .string "getchar" -+.LASF574: -+ .string "_codecvt" -+.LASF311: -+ .string "_ZNSt21piecewise_construct_tC4Ev" -+.LASF531: -+ .string "_IteratorR" -+.LASF546: -+ .string "__count" -+.LASF436: -+ .string "__gnu_cxx" -+.LASF871: -+ .string "_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_" -+.LASF431: -+ .string "_ZNSt9basic_iosIcSt11char_traitsIcEEC4Ev" -+.LASF874: -+ .string "__alloc" -+.LASF302: -+ .string "_ZNKSt17integral_constantIbLb0EEclEv" -+.LASF662: -+ .string "bool" -+.LASF703: -+ .string "uint_least8_t" -+.LASF807: -+ .string "feof" -+.LASF699: -+ .string "int_least8_t" -+.LASF532: -+ .string "__unknown__" -+.LASF213: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm" -+.LASF899: -+ .string "_ZN9__gnu_cxx13new_allocatorIcED2Ev" -+.LASF583: -+ .string "btowc" -+.LASF776: -+ .string "qsort" -+.LASF633: -+ .string "wcsncmp" -+.LASF333: -+ .string "_ZNSt11char_traitsIcE11eq_int_typeERKiS2_" -+.LASF136: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm" -+.LASF472: -+ .string "__normal_iterator, std::allocator > >" -+.LASF717: -+ .string "intmax_t" -+.LASF488: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEpLEl" -+.LASF536: -+ .string "long double" -+.LASF528: -+ .string "operator- >" -+.LASF440: -+ .string "_ZN9__gnu_cxx13new_allocatorIcEC4Ev" -+.LASF598: -+ .string "putwc" -+.LASF174: -+ .string "__const_iterator" -+.LASF124: -+ .string "reserve" -+.LASF517: -+ .string "__max_digits10" -+.LASF884: -+ .string "__size" -+.LASF53: -+ .string "_S_copy_chars" -+.LASF504: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEi" -+.LASF581: -+ .string "FILE" -+.LASF362: -+ .string "_ZNKSt16initializer_listIcE4sizeEv" -+.LASF525: -+ .string "__numeric_traits_integer" -+.LASF216: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm" -+.LASF90: -+ .string "begin" -+.LASF158: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_" -+.LASF503: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv" -+.LASF864: -+ .string "__i1" -+.LASF865: -+ .string "__i2" -+.LASF759: -+ .string "ldiv_t" -+.LASF623: -+ .string "tm_mday" -+.LASF222: -+ .string "find_first_of" -+.LASF545: -+ .string "__wchb" -+.LASF169: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm" -+.LASF887: -+ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev" -+.LASF6: -+ .string "size_type" -+.LASF768: -+ .string "bsearch" -+.LASF426: -+ .string "basic_ios >" -+.LASF490: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEplEl" -+.LASF306: -+ .string "_ZNKSt17integral_constantIbLb1EEclEv" -+.LASF159: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_" -+.LASF344: -+ .string "_ZNSaIcED4Ev" -+.LASF61: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm" -+.LASF287: -+ .string "~basic_ostringstream" -+.LASF905: -+ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev" -+.LASF876: -+ .string "__first" -+.LASF111: -+ .string "size" -+.LASF263: -+ .string "basic_ostringstream" -+.LASF551: -+ .string "_IO_FILE" -+.LASF320: -+ .string "_ZNSt11char_traitsIcE7compareEPKcS2_m" -+.LASF711: -+ .string "uint_fast8_t" -+.LASF661: -+ .string "long long unsigned int" -+.LASF926: -+ .string "_ZSt7nothrow" -+.LASF628: -+ .string "tm_isdst" -+.LASF204: -+ .string "swap" -+.LASF513: -+ .string "__normal_iterator" -+.LASF657: -+ .string "wcstold" -+.LASF858: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE" -+.LASF113: -+ .string "length" -+.LASF696: -+ .string "uint16_t" -+.LASF658: -+ .string "wcstoll" -+.LASF69: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4Ev" -+.LASF211: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv" -+.LASF51: -+ .string "_S_assign" -+.LASF201: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm" -+.LASF445: -+ .string "_ZNK9__gnu_cxx13new_allocatorIcE7addressERc" -+.LASF760: -+ .string "7lldiv_t" -+.LASF851: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE" -+.LASF279: -+ .string "_ZNSt15__exception_ptr13exception_ptrC4EDn" -+.LASF292: -+ .string "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE" -+.LASF297: -+ .string "value" -+.LASF825: -+ .string "setbuf" -+.LASF620: -+ .string "tm_sec" -+.LASF893: -+ .string "_ZNSoC2Ev" -+.LASF404: -+ .string "type" -+.LASF78: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ESt16initializer_listIcERKS3_" -+.LASF635: -+ .string "wcsrtombs" -+.LASF681: -+ .string "__int_least16_t" -+.LASF733: -+ .string "p_sep_by_space" -+.LASF461: -+ .string "_S_propagate_on_move_assign" -+.LASF11: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc" -+.LASF34: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc" -+.LASF402: -+ .string "_Iterator" -+.LASF82: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED4Ev" -+.LASF577: -+ .string "_freeres_buf" -+.LASF458: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_" -+.LASF428: -+ .string "_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED4Ev" -+.LASF196: -+ .string "_M_replace_aux" -+.LASF340: -+ .string "_ZNSaIcEC4ERKS_" -+.LASF318: -+ .string "_ZNSt11char_traitsIcE2eqERKcS2_" -+.LASF91: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv" -+.LASF351: -+ .string "_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm" -+.LASF71: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_mRKS3_" -+.LASF481: -+ .string "operator++" -+.LASF67: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm" -+.LASF895: -+ .string "_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev" -+.LASF866: -+ .string "__k1" -+.LASF867: -+ .string "__k2" -+.LASF601: -+ .string "swscanf" -+.LASF301: -+ .string "operator()" -+.LASF452: -+ .string "__digits" -+.LASF129: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv" -+.LASF223: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m" -+.LASF104: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv" -+.LASF639: -+ .string "wcstok" -+.LASF369: -+ .string "__cxx11" -+.LASF700: -+ .string "int_least16_t" -+.LASF121: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv" -+.LASF918: -+ .string "_Unwind_Resume" -+.LASF756: -+ .string "quot" -+.LASF550: -+ .string "__FILE" -+.LASF492: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmIEl" -+.LASF103: -+ .string "cbegin" -+.LASF241: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm" -+.LASF154: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE" -+.LASF673: -+ .string "__int16_t" -+.LASF193: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_" -+.LASF562: -+ .string "_IO_backup_base" -+.LASF744: -+ .string "setlocale" -+.LASF571: -+ .string "_shortbuf" -+.LASF457: -+ .string "_S_select_on_copy" -+.LASF409: -+ .string "_ZNSt14pointer_traitsIPcE10pointer_toERc" -+.LASF925: -+ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED4Ev" -+.LASF609: -+ .string "__isoc99_vswscanf" -+.LASF591: -+ .string "fwscanf" -+.LASF543: -+ .string "wint_t" -+.LASF380: -+ .string "_S_ios_openmode_max" -+.LASF372: -+ .string "_S_local_capacity" -+.LASF343: -+ .string "~allocator" -+.LASF667: -+ .string "__int128" -+.LASF856: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIlE11__is_signedE" -+.LASF382: -+ .string "ios_base" -+.LASF607: -+ .string "vswprintf" -+.LASF187: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_" -+.LASF441: -+ .string "_ZN9__gnu_cxx13new_allocatorIcEC4ERKS1_" -+.LASF258: -+ .string "basic_stringbuf" -+.LASF20: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm" -+.LASF132: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm" -+.LASF364: -+ .string "_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv" -+.LASF909: -+ .string "_ZNSaIcEC2Ev" -+.LASF357: -+ .string "_M_array" -+.LASF813: -+ .string "fopen" -+.LASF43: -+ .string "_M_limit" -+.LASF338: -+ .string "allocator" -+.LASF836: -+ .string "wctrans" -+.LASF721: -+ .string "thousands_sep" -+.LASF606: -+ .string "__isoc99_vfwscanf" -+.LASF308: -+ .string "__swappable_details" -+.LASF771: -+ .string "mblen" -+.LASF456: -+ .string "__alloc_traits, char>" -+.LASF52: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc" -+.LASF824: -+ .string "rewind" -+.LASF22: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm" -+.LASF427: -+ .string "~basic_ios" -+.LASF529: -+ .string "_ZN9__gnu_cxxmiIPKcPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_17__normal_iteratorIT_T1_EERKNSB_IT0_SD_EE" -+.LASF266: -+ .string "_ZNSt9nothrow_tC4Ev" -+.LASF247: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm" -+.LASF114: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv" -+.LASF72: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_mm" -+.LASF631: -+ .string "wcslen" -+.LASF177: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE" -+.LASF221: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm" -+.LASF27: -+ .string "_M_dispose" -+.LASF917: -+ .string "__cxa_free_exception" -+.LASF337: -+ .string "allocator" -+.LASF778: -+ .string "strtod" -+.LASF330: -+ .string "to_int_type" -+.LASF788: -+ .string "strtof" -+.LASF853: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIsE8__digitsE" -+.LASF256: -+ .string "_Alloc" -+.LASF327: -+ .string "to_char_type" -+.LASF779: -+ .string "strtol" -+.LASF314: -+ .string "__debug" -+.LASF731: -+ .string "frac_digits" -+.LASF198: -+ .string "_M_replace" -+.LASF808: -+ .string "ferror" -+.LASF724: -+ .string "currency_symbol" -+.LASF800: -+ .string "stderr" -+.LASF666: -+ .string "short int" -+.LASF2: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC4EPcOS3_" -+.LASF10: -+ .string "_M_data" -+.LASF321: -+ .string "_ZNSt11char_traitsIcE6lengthEPKc" -+.LASF872: -+ .string "__testoff" -+.LASF698: -+ .string "uint64_t" -+.LASF619: -+ .string "wcsftime" -+.LASF935: -+ .string "func" -+.LASF260: -+ .string "basic_stringbuf, std::allocator >" -+.LASF57: -+ .string "const_iterator" -+.LASF468: -+ .string "_S_nothrow_move" -+.LASF792: -+ .string "__state" -+.LASF881: -+ .string "__n1" -+.LASF882: -+ .string "__n2" -+.LASF109: -+ .string "crend" -+.LASF816: -+ .string "fseek" -+.LASF463: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE27_S_propagate_on_move_assignEv" -+.LASF763: -+ .string "atexit" -+.LASF228: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m" -+.LASF178: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_" -+.LASF59: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_" -+.LASF101: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv" -+.LASF499: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC4Ev" -+.LASF685: -+ .string "__int_least64_t" -+.LASF143: -+ .string "operator+=" -+.LASF570: -+ .string "_vtable_offset" -+.LASF141: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv" -+.LASF466: -+ .string "_S_always_equal" -+.LASF916: -+ .string "__cxa_throw" -+.LASF804: -+ .string "_sys_errlist" -+.LASF183: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm" -+.LASF688: -+ .string "__uintmax_t" -+.LASF76: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EmcRKS3_" -+.LASF512: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4baseEv" -+.LASF316: -+ .string "_ZNSt11char_traitsIcE6assignERcRKc" -+.LASF68: -+ .string "basic_string" -+.LASF398: -+ .string "~basic_streambuf" -+.LASF179: -+ .string "pop_back" -+.LASF39: -+ .string "_M_check" -+.LASF614: -+ .string "wcscat" -+.LASF527: -+ .string "_ZN9__gnu_cxxmiIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSC_SF_" -+.LASF469: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE15_S_nothrow_moveEv" -+.LASF827: -+ .string "tmpfile" -+.LASF408: -+ .string "pointer_to" -+.LASF754: -+ .string "11__mbstate_t" -+.LASF484: -+ .string "operator--" -+.LASF414: -+ .string "_ZNSt14pointer_traitsIPKcE10pointer_toERS0_" -+.LASF742: -+ .string "int_p_sign_posn" -+.LASF665: -+ .string "signed char" -+.LASF850: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE8__digitsE" -+.LASF892: -+ .string "_ZNSoD2Ev" -+.LASF748: -+ .string "__daylight" -+.LASF630: -+ .string "tm_zone" -+.LASF849: -+ .string "_ZN9__gnu_cxx24__numeric_traits_integerIcE11__is_signedE" -+.LASF403: -+ .string "remove_reference&>" -+.LASF829: -+ .string "ungetc" -+.LASF150: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm" -+.LASF863: -+ .string "__str" -+.LASF175: -+ .string "erase" -+.LASF611: -+ .string "vwscanf" -+.LASF613: -+ .string "wcrtomb" -+.LASF719: -+ .string "lconv" -+.LASF108: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv" -+.LASF77: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4EOS4_" -+.LASF554: -+ .string "_IO_read_end" -+.LASF772: -+ .string "mbstowcs" -+.LASF218: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m" -+.LASF632: -+ .string "wcsncat" -+.LASF524: -+ .string "__numeric_traits_integer" -+.LASF462: -+ .string "_ZN9__gnu_cxx14__alloc_traitsISaIcEcE27_S_propagate_on_copy_assignEv" -+.LASF753: -+ .string "getdate_err" -+.LASF296: -+ .string "npos" -+.LASF81: -+ .string "~basic_string" -+.LASF393: -+ .string "_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv" -+.LASF697: -+ .string "uint32_t" -+.LASF743: -+ .string "int_n_sign_posn" -+.LASF491: -+ .string "operator-=" -+.LASF479: -+ .string "operator->" -+.LASF793: -+ .string "__fpos_t" -+.LASF566: -+ .string "_fileno" -+.LASF889: -+ .string "__mode" -+.LASF511: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmiEl" -+.LASF30: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm" -+.LASF651: -+ .string "__isoc99_wscanf" -+.LASF37: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv" -+.LASF588: -+ .string "fputws" -+.LASF507: -+ .string "_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEixEl" -+.LASF608: -+ .string "vswscanf" -+.LASF597: -+ .string "mbsrtowcs" -+.LASF516: -+ .string "__numeric_traits_floating" -+.LASF274: -+ .string "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv" -+.LASF232: -+ .string "find_first_not_of" -+.LASF585: -+ .string "fgetws" -+.LASF683: -+ .string "__int_least32_t" -+.LASF370: -+ .string "literals" -+.LASF285: -+ .string "_ZNSt15__exception_ptr13exception_ptrD4Ev" -+.LASF210: -+ .string "get_allocator" -+.LASF387: -+ .string "basic_ostream" -+.LASF707: -+ .string "int_fast8_t" -+.LASF190: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc" -+.LASF99: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv" -+.LASF587: -+ .string "fputwc" -+.LASF732: -+ .string "p_cs_precedes" -+.LASF522: -+ .string "__numeric_traits_integer" -+.LASF625: -+ .string "tm_year" -+.LASF411: -+ .string "__make_not_void" -+.LASF280: -+ .string "_ZNSt15__exception_ptr13exception_ptrC4EOS0_" -+.LASF200: -+ .string "_M_append" -+.LASF582: -+ .string "short unsigned int" -+.LASF195: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE" -+.LASF679: -+ .string "__int_least8_t" -+.LASF495: -+ .string "base" -+.LASF17: -+ .string "const_pointer" -+.LASF764: -+ .string "at_quick_exit" -+.LASF15: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv" -+.LASF419: -+ .string "_ZSt9addressofIKcEPT_RS1_" -+.LASF710: -+ .string "int_fast64_t" -+.LASF437: -+ .string "__ops" -+.LASF1: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC4EPcRKS3_" -+.LASF605: -+ .string "vfwscanf" -+.LASF557: -+ .string "_IO_write_ptr" -+.LASF243: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm" -+.LASF376: -+ .string "_S_in" -+.LASF906: -+ .string "_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev" -+.LASF928: -+ .string "_ZNSt11char_traitsIcE3eofEv" -+.LASF435: -+ .string "__exception_ptr" -+.LASF675: -+ .string "__int32_t" -+.LASF694: -+ .string "int64_t" -+.LASF886: -+ .string "__in_chrg" -+.LASF751: -+ .string "daylight" -+.LASF250: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm" -+.LASF309: -+ .string "__swappable_with_details" -+.LASF272: -+ .string "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv" -+.LASF593: -+ .string "getwc" -+.LASF79: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC4ERKS4_RKS3_" -+.LASF432: -+ .string "move&>" -+.LASF596: -+ .string "mbsinit" -+.LASF128: -+ .string "empty" -+.LASF368: -+ .string "reverse_iterator<__gnu_cxx::__normal_iterator, std::allocator > > >" -+.LASF834: -+ .string "iswctype" -+.LASF453: -+ .string "__max" -+.LASF157: -+ .string "assign" -+.LASF722: -+ .string "grouping" -+.LASF12: -+ .string "_M_length" -+.LASF873: -+ .string "__len" -+.LASF29: -+ .string "_M_destroy" -+.LASF397: -+ .string "_ZNSt15basic_streambufIcSt11char_traitsIcEEC4Ev" -+.LASF649: -+ .string "wprintf" -+.LASF208: -+ .string "data" -+.LASF335: -+ .string "_ZNSt11char_traitsIcE7not_eofERKi" -+.LASF809: -+ .string "fflush" -+.LASF100: -+ .string "rend" -+.LASF23: -+ .string "_M_is_local" -+.LASF359: -+ .string "initializer_list" -+.LASF774: -+ .string "quick_exit" -+.LASF586: -+ .string "wchar_t" -+.LASF932: -+ .string "typedef __va_list_tag __va_list_tag" -+.LASF930: -+ .string "_ZN9__gnu_cxx3divExx" -+.LASF385: -+ .string "~basic_ostream" -+.LASF420: -+ .string "__addressof" -+.LASF449: -+ .string "_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv" -+.LASF349: -+ .string "const_void_pointer" -+.LASF347: -+ .string "_ZNSt16allocator_traitsISaIcEE8allocateERS0_m" -+.LASF214: -+ .string "_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m" -+.LASF642: -+ .string "wcstoul" -+.LASF363: -+ .string "_ZNKSt16initializer_listIcE5beginEv" -+.LASF757: -+ .string "div_t" -+.LASF815: -+ .string "freopen" -+.LASF151: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm" -+.LASF152: -+ .string "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc" -+.LASF486: -+ .string "_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmmEi" -+ .hidden DW.ref.__gxx_personality_v0 -+ .weak DW.ref.__gxx_personality_v0 -+ .section .data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat -+ .align 8 -+ .type DW.ref.__gxx_personality_v0, @object -+ .size DW.ref.__gxx_personality_v0, 8 -+DW.ref.__gxx_personality_v0: -+ .quad __gxx_personality_v0 -+ .ident "GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0" -+ .section .note.GNU-stack,"",@progbits -+ .section .note.gnu.property,"a" -+ .align 8 -+ .long 1f - 0f -+ .long 4f - 1f -+ .long 5 -+0: -+ .string "GNU" -+1: -+ .align 8 -+ .long 0xc0000002 -+ .long 3f - 2f -+2: -+ .long 0x3 -+3: -+ .align 8 -+4: -diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.cpp b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.cpp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.cpp -@@ -0,0 +1,36 @@ -+/* Copyright (C) 2022 Free Software Foundation, Inc. -+ -+ This file is part of GDB. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* This file isn't used by the test. The .S file generated from this .cpp -+ file is. */ -+ -+#include -+ -+using type = int; -+ -+static void -+func (const type &t) -+{ -+ std::ostringstream oss; -+ throw oss.str (); -+} -+ -+int -+main () -+{ -+ func (1234); -+} -diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp -@@ -0,0 +1,45 @@ -+# Copyright 2022 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# The program associated to this test case uncovered a bug in GDB (PR 29374) -+# where a typedef type was used before it was resolved. -+ -+if { [istarget "x86_64-*-linux*"] } { -+ set suffix amd64 -+} elseif { [istarget "aarch64-*-linux*"] } { -+ set suffix aarch64 -+} else { -+ unsupported "unsupported architecture" -+ return -+} -+ -+standard_testfile -$suffix.S -+ -+if {[gdb_compile "$srcdir/$subdir/$srcfile" "$binfile" executable {c++}] != ""} { -+ return -+} -+ -+clean_restart $binfile -+ -+if {![runto_main]} { -+ return -+} -+ -+gdb_test "catch throw" "Catchpoint $::decimal \\(throw\\)" -+gdb_test "continue" "Catchpoint $::decimal \\(exception thrown\\).*" -+ -+# Without the corresponding fix, GDB would hit an internal error before -+# printing the frame for main. -+gdb_test "backtrace" " $::hex in func \\(t=t@entry=@$::hex: 1234\\).* $::hex in main .*" diff --git a/gdb-backport-fix-break-main-file-remove-fail.patch b/gdb-backport-fix-break-main-file-remove-fail.patch deleted file mode 100644 index 970d8b2..0000000 --- a/gdb-backport-fix-break-main-file-remove-fail.patch +++ /dev/null @@ -1,101 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Bruno Larsen -Date: Tue, 18 Oct 2022 11:10:41 +0200 -Subject: gdb-backport-fix-break-main-file-remove-fail.patch - -;; [gdb/testsuite] Use prototype to call libc functions -;; (Tom de Vries) - -On openSUSE Tumbleweed (using glibc 2.36), I run into: -... -(gdb) print /d (int) munmap (4198400, 4096)^M -Invalid cast.^M -(gdb) FAIL: gdb.base/break-main-file-remove-fail.exp: cmdline: \ - get integer valueof "(int) munmap (4198400, 4096)" -... - -The problem is that after starting the executable, the symbol has type -"void (*) (void)": -... -(gdb) p munmap -$1 = {} 0x401030 -(gdb) start - ... -(gdb) p munmap -$2 = {void (void)} 0x7ffff7feb9a0 <__GI_munmap> -... -which causes the "Invalid cast" error. - -Looking at the debug info for glibc for symbol __GI_munmap: -... - <0><189683>: Abbrev Number: 1 (DW_TAG_compile_unit) - <189691> DW_AT_name : ../sysdeps/unix/syscall-template.S - <189699> DW_AT_producer : GNU AS 2.39.0 -<1><1896ae>: Abbrev Number: 2 (DW_TAG_subprogram) - <1896af> DW_AT_name : __GI___munmap - <1896b3> DW_AT_external : 1 - <1896b4> DW_AT_low_pc : 0x10cad0 - <1896bc> DW_AT_high_pc : 37 -... -that's probably caused by this bit (or similar bits for other munmap aliases). - -This is fixed in gas on trunk by commit 5578fbf672e ("GAS: Add a return type -tag to DWARF DIEs generated for function symbols"). - -Work around this (for say gas 2.39) by explicitly specifying the prototype for -munmap. - -Likewise for getpid in a couple of other test-cases. - -Tested on x86_64-linux. - -diff --git a/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp b/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp ---- a/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp -+++ b/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp -@@ -87,7 +87,9 @@ proc test_remove_bp { initial_load } { - # should warn the user about it. - set pagesize [get_integer_valueof "pg_size" 0] - set align_addr [expr $bp_addr - $bp_addr % $pagesize] -- set munmap [get_integer_valueof "(int) munmap ($align_addr, $pagesize)" -1] -+ set munmap_prototype "int (*) (void *, size_t)" -+ set munmap_expr "(($munmap_prototype) munmap) ($align_addr, $pagesize)" -+ set munmap [get_integer_valueof $munmap_expr -1] - - if {$munmap != 0} { - unsupported "can't munmap foo's page" -diff --git a/gdb/testsuite/gdb.base/dprintf-detach.exp b/gdb/testsuite/gdb.base/dprintf-detach.exp ---- a/gdb/testsuite/gdb.base/dprintf-detach.exp -+++ b/gdb/testsuite/gdb.base/dprintf-detach.exp -@@ -52,7 +52,7 @@ proc dprintf_detach_test { breakpoint_always_inserted dprintf_style disconnected - # Get PID of test program. - set inferior_pid -1 - set test "get inferior process ID" -- gdb_test_multiple "call (int) getpid ()" $test { -+ gdb_test_multiple "call ((int (*) (void)) getpid) ()" $test { - -re ".* = ($decimal).*$gdb_prompt $" { - set inferior_pid $expect_out(1,string) - pass $test -diff --git a/gdb/testsuite/gdb.base/info-os.exp b/gdb/testsuite/gdb.base/info-os.exp ---- a/gdb/testsuite/gdb.base/info-os.exp -+++ b/gdb/testsuite/gdb.base/info-os.exp -@@ -39,7 +39,7 @@ if ![runto_main] then { - # Get PID of test program. - set inferior_pid "" - set test "get inferior process ID" --gdb_test_multiple "call (int) getpid()" $test { -+gdb_test_multiple "call ((int (*) (void)) getpid) ()" $test { - -re ".* = ($decimal).*$gdb_prompt $" { - set inferior_pid $expect_out(1,string) - pass $test -diff --git a/gdb/testsuite/gdb.threads/siginfo-threads.exp b/gdb/testsuite/gdb.threads/siginfo-threads.exp ---- a/gdb/testsuite/gdb.threads/siginfo-threads.exp -+++ b/gdb/testsuite/gdb.threads/siginfo-threads.exp -@@ -41,7 +41,7 @@ gdb_breakpoint [gdb_get_line_number "break-at-exit"] - - set test "get pid" - set pid "" --gdb_test_multiple "p (int) getpid ()" $test { -+gdb_test_multiple "p ((int (*) (void))getpid) ()" $test { - -re " = (\[0-9\]+)\r\n$gdb_prompt $" { - set pid $expect_out(1,string) - pass $test diff --git a/gdb-backport-python-config-replace-deprecated-distutils.patch b/gdb-backport-python-config-replace-deprecated-distutils.patch deleted file mode 100644 index 8fc8f4f..0000000 --- a/gdb-backport-python-config-replace-deprecated-distutils.patch +++ /dev/null @@ -1,88 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= -Date: Thu, 19 Jan 2023 19:18:58 +0100 -Subject: gdb-backport-python-config-replace-deprecated-distutils.patch - -;;Backport replace deprecated distutils.sysconfig in -;;python-config (Lancelot SIX) - -gdb/python-config: replace deprecated distutils.sysconfig - -When running the gdb/configure script on ubuntu 22.04 with -python-3.10.4, I see: - - checking for python... no - checking for python3... /usr/bin/python3 - [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives - from distutils import sysconfig - [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead - from distutils import sysconfig - [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives - from distutils import sysconfig - [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead - from distutils import sysconfig - [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives - from distutils import sysconfig - [...]/gdb/python/python-config.py:7: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead - from distutils import sysconfig - checking for python... yes - -The distutils module is deprecated as per the PEP 632[1] and will be -removed in python-3.12. - -This patch migrates gdb/python/python-config.py from distutils.sysconfig -to the sysconfig module[2]. - -The sysconfig module has has been introduced in the standard library in -python 3.2. Given that support for python < 3.2 has been removed by -edae3fd6600f: "gdb/python: remove Python 2 support", this patch does not -need to support both implementations for backward compatibility. - -Tested on ubuntu-22.04 and ubuntu 20.04. - -[1] https://peps.python.org/pep-0632/ -[2] https://docs.python.org/3/library/sysconfig.html - -Change-Id: Id0df2baf3ee6ce68bd01c236b829ab4c0a4526f6 - -diff --git a/gdb/python/python-config.py b/gdb/python/python-config.py ---- a/gdb/python/python-config.py -+++ b/gdb/python/python-config.py -@@ -4,7 +4,7 @@ - import sys - import os - import getopt --from distutils import sysconfig -+import sysconfig - - valid_opts = ["prefix", "exec-prefix", "includes", "libs", "cflags", "ldflags", "help"] - -@@ -49,15 +49,15 @@ def to_unix_path(path): - - for opt in opt_flags: - if opt == "--prefix": -- print(to_unix_path(sysconfig.PREFIX)) -+ print(to_unix_path(os.path.normpath(sys.prefix))) - - elif opt == "--exec-prefix": -- print(to_unix_path(sysconfig.EXEC_PREFIX)) -+ print(to_unix_path(os.path.normpath(sys.exec_prefix))) - - elif opt in ("--includes", "--cflags"): - flags = [ -- "-I" + sysconfig.get_python_inc(), -- "-I" + sysconfig.get_python_inc(plat_specific=True), -+ "-I" + sysconfig.get_path("include"), -+ "-I" + sysconfig.get_path("platinclude"), - ] - if opt == "--cflags": - flags.extend(getvar("CFLAGS").split()) -@@ -76,7 +76,7 @@ for opt in opt_flags: - if getvar("LIBPL") is not None: - libs.insert(0, "-L" + getvar("LIBPL")) - elif os.name == "nt": -- libs.insert(0, "-L" + sysconfig.PREFIX + "/libs") -+ libs.insert(0, "-L" + os.path.normpath(sys.prefix) + "/libs") - if getvar("LINKFORSHARED") is not None: - libs.extend(getvar("LINKFORSHARED").split()) - print(to_unix_path(" ".join(libs))) diff --git a/gdb-backport-readline_support.patch b/gdb-backport-readline_support.patch deleted file mode 100644 index 89f381b..0000000 --- a/gdb-backport-readline_support.patch +++ /dev/null @@ -1,31 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= -Date: Mon, 10 Oct 2022 15:44:52 +0200 -Subject: gdb-backport-readline_support.patch - -Add support for readline 8.2 - -In readline 8.2 the type of rl_completer_word_break_characters changed to -include const. - -diff --git a/gdb/completer.c b/gdb/completer.c ---- a/gdb/completer.c -+++ b/gdb/completer.c -@@ -36,7 +36,7 @@ - calling a hook instead so we eliminate the CLI dependency. */ - #include "gdbcmd.h" - --/* Needed for rl_completer_word_break_characters() and for -+/* Needed for rl_completer_word_break_characters and for - rl_filename_completion_function. */ - #include "readline/readline.h" - -@@ -2011,7 +2011,7 @@ gdb_completion_word_break_characters_throw () - rl_basic_quote_characters = NULL; - } - -- return rl_completer_word_break_characters; -+ return (char *) rl_completer_word_break_characters; - } - - char * diff --git a/gdb-ccache-workaround.patch b/gdb-ccache-workaround.patch index 802fa2b..e6137f7 100644 --- a/gdb-ccache-workaround.patch +++ b/gdb-ccache-workaround.patch @@ -9,9 +9,9 @@ Subject: gdb-ccache-workaround.patch diff --git a/gdb/testsuite/gdb.base/macscp.exp b/gdb/testsuite/gdb.base/macscp.exp --- a/gdb/testsuite/gdb.base/macscp.exp +++ b/gdb/testsuite/gdb.base/macscp.exp -@@ -27,6 +27,14 @@ if { [test_compiler_info "gcc-*"] } { - lappend options additional_flags=-fdebug-macro - } +@@ -20,6 +20,14 @@ set objfile [standard_output_file ${testfile}.o] + + set options {debug macros additional_flags=-DFROM_COMMANDLINE=ARG} +# Workaround ccache making lineno non-zero for command-line definitions. +if {[find_gcc] == "gcc" && [file executable "/usr/bin/gcc"]} { diff --git a/gdb-container-rh-pkg.patch b/gdb-container-rh-pkg.patch index 618b621..aac8ac8 100644 --- a/gdb-container-rh-pkg.patch +++ b/gdb-container-rh-pkg.patch @@ -9,7 +9,7 @@ Subject: gdb-container-rh-pkg.patch diff --git a/gdb/remote.c b/gdb/remote.c --- a/gdb/remote.c +++ b/gdb/remote.c -@@ -14343,7 +14343,17 @@ remote_target::pid_to_exec_file (int pid) +@@ -14301,7 +14301,17 @@ remote_target::pid_to_exec_file (int pid) char *annex = NULL; if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE) diff --git a/gdb-core-open-vdso-warning.patch b/gdb-core-open-vdso-warning.patch index d6f8e00..c64b4bc 100644 --- a/gdb-core-open-vdso-warning.patch +++ b/gdb-core-open-vdso-warning.patch @@ -25,9 +25,9 @@ diff --git a/gdb/testsuite/gdb.base/solib-symbol.exp b/gdb/testsuite/gdb.base/so set bin_flags [list debug shlib=${binfile_lib}] +set executable ${testfile} - if [get_compiler_info] { - return -1 -@@ -70,8 +71,26 @@ gdb_test "br foo2" \ + if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib} $lib_flags] != "" + || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } { +@@ -66,8 +67,26 @@ gdb_test "br foo2" \ "Breakpoint.*: foo2. .2 locations..*" \ "foo2 in mdlib" diff --git a/gdb-fedora-libncursesw.patch b/gdb-fedora-libncursesw.patch index a1181d8..621d905 100644 --- a/gdb-fedora-libncursesw.patch +++ b/gdb-fedora-libncursesw.patch @@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1270534 diff --git a/gdb/configure b/gdb/configure --- a/gdb/configure +++ b/gdb/configure -@@ -9568,6 +9568,7 @@ if test x"$prefer_curses" = xyes; then +@@ -20915,6 +20915,7 @@ if test x"$prefer_curses" = xyes; then # search /usr/local/include, if ncurses is installed in /usr/local. A # default installation of ncurses on alpha*-dec-osf* will lead to such # a situation. @@ -20,7 +20,7 @@ diff --git a/gdb/configure b/gdb/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5 $as_echo_n "checking for library containing waddstr... " >&6; } if ${ac_cv_search_waddstr+:} false; then : -@@ -9592,7 +9593,7 @@ return waddstr (); +@@ -20939,7 +20940,7 @@ return waddstr (); return 0; } _ACEOF @@ -29,7 +29,7 @@ diff --git a/gdb/configure b/gdb/configure if test -z "$ac_lib"; then ac_res="none required" else -@@ -9666,6 +9667,7 @@ case $host_os in +@@ -21013,6 +21014,7 @@ case $host_os in esac # These are the libraries checked by Readline. @@ -37,7 +37,7 @@ diff --git a/gdb/configure b/gdb/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5 $as_echo_n "checking for library containing tgetent... " >&6; } if ${ac_cv_search_tgetent+:} false; then : -@@ -9690,7 +9692,7 @@ return tgetent (); +@@ -21037,7 +21039,7 @@ return tgetent (); return 0; } _ACEOF @@ -49,7 +49,7 @@ diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac -@@ -714,7 +714,8 @@ if test x"$prefer_curses" = xyes; then +@@ -704,7 +704,8 @@ if test x"$prefer_curses" = xyes; then # search /usr/local/include, if ncurses is installed in /usr/local. A # default installation of ncurses on alpha*-dec-osf* will lead to such # a situation. @@ -59,7 +59,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac if test "$ac_cv_search_waddstr" != no; then curses_found=yes -@@ -756,7 +757,8 @@ case $host_os in +@@ -746,7 +747,8 @@ case $host_os in esac # These are the libraries checked by Readline. diff --git a/gdb-linux_perf-bundle.patch b/gdb-linux_perf-bundle.patch index a2e443d..4c7e58f 100644 --- a/gdb-linux_perf-bundle.patch +++ b/gdb-linux_perf-bundle.patch @@ -213,7 +213,7 @@ diff --git a/gdb/nat/linux-btrace.h b/gdb/nat/linux-btrace.h diff --git a/gdbsupport/common.m4 b/gdbsupport/common.m4 --- a/gdbsupport/common.m4 +++ b/gdbsupport/common.m4 -@@ -156,7 +156,7 @@ AC_DEFUN([GDB_AC_COMMON], [ +@@ -166,7 +166,7 @@ AC_DEFUN([GDB_AC_COMMON], [ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ #include #ifndef PERF_ATTR_SIZE_VER5 diff --git a/gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch b/gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch deleted file mode 100644 index 89f51b0..0000000 --- a/gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +++ /dev/null @@ -1,109 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Keith Seitz -Date: Tue, 29 Nov 2022 13:43:34 -0800 -Subject: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch - -;; libiberty: Fix C89-isms in configure tests -;; (Florian Weimer, RHBZ 2143992) - - libiberty/ - - * acinclude.m4 (ac_cv_func_strncmp_works): Add missing - int return type and parameter list to the definition of main. - Include and for prototypes. - (ac_cv_c_stack_direction): Add missing - int return type and parameter list to the definitions of - main, find_stack_direction. Include for exit - prototype. - * configure: Regenerate. - -diff --git a/libiberty/acinclude.m4 b/libiberty/acinclude.m4 ---- a/libiberty/acinclude.m4 -+++ b/libiberty/acinclude.m4 -@@ -24,6 +24,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, - [AC_TRY_RUN([ - /* Test by Jim Wilson and Kaveh Ghazi. - Check whether strncmp reads past the end of its string parameters. */ -+#include -+#include - #include - - #ifdef HAVE_FCNTL_H -@@ -51,7 +53,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, - - #define MAP_LEN 0x10000 - --main () -+int -+main (void) - { - #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) - char *p; -@@ -157,7 +160,10 @@ if test $ac_cv_os_cray = yes; then - fi - - AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, --[AC_TRY_RUN([find_stack_direction () -+[AC_TRY_RUN([#include -+ -+int -+find_stack_direction (void) - { - static char *addr = 0; - auto char dummy; -@@ -169,7 +175,9 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, - else - return (&dummy > addr) ? 1 : -1; - } --main () -+ -+int -+main (void) - { - exit (find_stack_direction() < 0); - }], -diff --git a/libiberty/configure b/libiberty/configure ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -6918,7 +6918,10 @@ else - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --find_stack_direction () -+#include -+ -+int -+find_stack_direction (void) - { - static char *addr = 0; - auto char dummy; -@@ -6930,7 +6933,9 @@ find_stack_direction () - else - return (&dummy > addr) ? 1 : -1; - } --main () -+ -+int -+main (void) - { - exit (find_stack_direction() < 0); - } -@@ -7755,6 +7760,8 @@ else - - /* Test by Jim Wilson and Kaveh Ghazi. - Check whether strncmp reads past the end of its string parameters. */ -+#include -+#include - #include - - #ifdef HAVE_FCNTL_H -@@ -7782,7 +7789,8 @@ else - - #define MAP_LEN 0x10000 - --main () -+int -+main (void) - { - #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) - char *p; diff --git a/gdb-rhbz2152431-label-symbol-value.patch b/gdb-rhbz2152431-label-symbol-value.patch deleted file mode 100644 index 32d2942..0000000 --- a/gdb-rhbz2152431-label-symbol-value.patch +++ /dev/null @@ -1,181 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Andrew Burgess -Date: Mon, 19 Dec 2022 15:57:59 +0000 -Subject: gdb-rhbz2152431-label-symbol-value.patch - -Backport these two upstream commits to fix bug 2152431: - - commit 38665d717a3e65c70e6432243d5eed9728a4888a - Date: Mon Dec 12 14:09:40 2022 +0000 - - gdb: use gdb_assert not internal_error - -And: - - commit c3efaf0afd9d37004c42cdfd3ce0c1bfa979c45e - Date: Mon Dec 12 14:05:22 2022 +0000 - - gdb: fix crash when getting the value of a label symbol - -diff --git a/gdb/findvar.c b/gdb/findvar.c ---- a/gdb/findvar.c -+++ b/gdb/findvar.c -@@ -152,11 +152,7 @@ extract_long_unsigned_integer (const gdb_byte *addr, int orig_len, - CORE_ADDR - extract_typed_address (const gdb_byte *buf, struct type *type) - { -- if (!type->is_pointer_or_reference ()) -- internal_error (__FILE__, __LINE__, -- _("extract_typed_address: " -- "type is not a pointer or reference")); -- -+ gdb_assert (type->is_pointer_or_reference ()); - return gdbarch_pointer_to_address (type->arch (), type, buf); - } - -@@ -205,11 +201,7 @@ template void store_integer (gdb_byte *addr, int len, - void - store_typed_address (gdb_byte *buf, struct type *type, CORE_ADDR addr) - { -- if (!type->is_pointer_or_reference ()) -- internal_error (__FILE__, __LINE__, -- _("store_typed_address: " -- "type is not a pointer or reference")); -- -+ gdb_assert (type->is_pointer_or_reference ()); - gdbarch_address_to_pointer (type->arch (), type, buf, addr); - } - -@@ -634,19 +626,32 @@ language_defn::read_var_value (struct symbol *var, - - case LOC_LABEL: - /* Put the constant back in target format. */ -- v = allocate_value (type); -- if (overlay_debugging) -- { -- struct objfile *var_objfile = symbol_objfile (var); -- addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var), -- var->obj_section (var_objfile)); -- store_typed_address (value_contents_raw (v).data (), type, addr); -- } -- else -- store_typed_address (value_contents_raw (v).data (), type, -- SYMBOL_VALUE_ADDRESS (var)); -- VALUE_LVAL (v) = not_lval; -- return v; -+ { -+ /* Put the constant back in target format. */ -+ if (overlay_debugging) -+ { -+ struct objfile *var_objfile = symbol_objfile (var); -+ addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var), -+ var->obj_section (var_objfile)); -+ } -+ else -+ addr = SYMBOL_VALUE_ADDRESS (var); -+ -+ /* First convert the CORE_ADDR to a function pointer type, this -+ ensures the gdbarch knows what type of pointer we are -+ manipulating when value_from_pointer is called. */ -+ type = builtin_type (symbol_arch (var))->builtin_func_ptr; -+ v = value_from_pointer (type, addr); -+ -+ /* But we want to present the value as 'void *', so cast it to the -+ required type now, this will not change the values bit -+ representation. */ -+ struct type *void_ptr_type -+ = builtin_type (symbol_arch (var))->builtin_data_ptr; -+ v = value_cast_pointers (void_ptr_type, v, 0); -+ VALUE_LVAL (v) = not_lval; -+ return v; -+ } - - case LOC_CONST_BYTES: - if (is_dynamic_type (type)) -diff --git a/gdb/testsuite/gdb.python/py-label-symbol-value.c b/gdb/testsuite/gdb.python/py-label-symbol-value.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-label-symbol-value.c -@@ -0,0 +1,38 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2022 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+volatile int global_var = 1; -+ -+int -+get_value () -+{ -+ return global_var; -+} -+ -+int -+main (void) -+{ -+ int value = get_value (); -+ if (value > 0) -+ goto some_label; -+ -+ return 1; -+ -+ some_label: -+ -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.python/py-label-symbol-value.exp b/gdb/testsuite/gdb.python/py-label-symbol-value.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-label-symbol-value.exp -@@ -0,0 +1,39 @@ -+# Copyright 2022 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# Check that GDB handles the user asking for the value of a label -+# symbol (i.e. a symbol for a goto label). -+ -+load_lib gdb-python.exp -+standard_testfile -+ -+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } { -+ return -1 -+} -+ -+# Skip all tests if Python scripting is not enabled. -+if { [skip_python_tests] } { continue } -+ -+if ![runto_main] { -+ return -1 -+} -+ -+# Use Python to print the value of the 'some_label' symbol. -+gdb_test "python frame = gdb.selected_frame()" -+gdb_test "python frame_pc = frame.pc()" -+gdb_test "python block = gdb.current_progspace().block_for_pc(frame_pc)" -+gdb_test "python symbol,_ = gdb.lookup_symbol('some_label', block, gdb.SYMBOL_LABEL_DOMAIN)" -+gdb_test "python print(str(symbol.value()))" "$hex " -+gdb_test "python print(str(symbol.value().type))" "void \\*" diff --git a/gdb-sw22395-constify-target_desc.patch b/gdb-sw22395-constify-target_desc.patch deleted file mode 100644 index 9a3c128..0000000 --- a/gdb-sw22395-constify-target_desc.patch +++ /dev/null @@ -1,1153 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Keith Seitz -Date: Fri, 2 Sep 2022 12:43:03 -0700 -Subject: gdb-sw22395-constify-target_desc.patch - -;; Constify target_desc to fix PPC ODR violations. -;; (Keith Seitz, build/22395) - -cleanup: Add missing feature/ XML files to Makefile - - This patch adds some missing .xml files to features/Makefile so that when the - directory's C files are regenerated, all files are appropriately remade. - - This has demonstrated that there have been several "misses" in regenerating - files in this directory. Namely, arm-secext.c and sparc{32,64}-solaris.c. For - the former case, there was what essentially amounts to a typo regarding the - create feature function's name. In the later case, this file has missed at least - one important update in July, 2020, when allocate_target_description was - changed to return a unique pointer. - - Those corrections are included. - -Constify target_desc declarations - - This patch changes various global target_desc declarations to const, thereby - correcting a prominent source of ODR violations in PowerPC-related target code. - The majority of files/changes are mechanical const-ifications accomplished by - regenerating the C files in features/. - - This also required manually updating mips-linux-tdep.h, s390-linux-tdep.h, - nios2-tdep.h, s390-tdep.h, arch/ppc-linux-tdesc.h, arch/ppc-linux-common.c, - and rs6000-tdep.c. - - Patch tested against the sourceware trybot, and fully regression tested against - our (Red Hat's) internal test infrastructure on Rawhide aarch64, s390x, x86_64, - and powerpcle. - - With this patch, I can finally enable LTO in our GDB package builds. [Tested - with a rawhide scratch build containing this patch.] - - Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395 - -diff --git a/gdb/arch/ppc-linux-common.c b/gdb/arch/ppc-linux-common.c ---- a/gdb/arch/ppc-linux-common.c -+++ b/gdb/arch/ppc-linux-common.c -@@ -46,7 +46,7 @@ ppc_linux_has_isa205 (CORE_ADDR hwcap) - const struct target_desc * - ppc_linux_match_description (struct ppc_linux_features features) - { -- struct target_desc *tdesc = NULL; -+ const struct target_desc *tdesc = NULL; - - if (features.wordsize == 8) - { -diff --git a/gdb/arch/ppc-linux-tdesc.h b/gdb/arch/ppc-linux-tdesc.h ---- a/gdb/arch/ppc-linux-tdesc.h -+++ b/gdb/arch/ppc-linux-tdesc.h -@@ -22,25 +22,25 @@ - - struct target_desc; - --extern struct target_desc *tdesc_powerpc_32l; --extern struct target_desc *tdesc_powerpc_altivec32l; --extern struct target_desc *tdesc_powerpc_vsx32l; --extern struct target_desc *tdesc_powerpc_isa205_32l; --extern struct target_desc *tdesc_powerpc_isa205_altivec32l; --extern struct target_desc *tdesc_powerpc_isa205_vsx32l; --extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; --extern struct target_desc *tdesc_powerpc_isa207_vsx32l; --extern struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; --extern struct target_desc *tdesc_powerpc_e500l; -- --extern struct target_desc *tdesc_powerpc_64l; --extern struct target_desc *tdesc_powerpc_altivec64l; --extern struct target_desc *tdesc_powerpc_vsx64l; --extern struct target_desc *tdesc_powerpc_isa205_64l; --extern struct target_desc *tdesc_powerpc_isa205_altivec64l; --extern struct target_desc *tdesc_powerpc_isa205_vsx64l; --extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; --extern struct target_desc *tdesc_powerpc_isa207_vsx64l; --extern struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; -+extern const struct target_desc *tdesc_powerpc_32l; -+extern const struct target_desc *tdesc_powerpc_altivec32l; -+extern const struct target_desc *tdesc_powerpc_vsx32l; -+extern const struct target_desc *tdesc_powerpc_isa205_32l; -+extern const struct target_desc *tdesc_powerpc_isa205_altivec32l; -+extern const struct target_desc *tdesc_powerpc_isa205_vsx32l; -+extern const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; -+extern const struct target_desc *tdesc_powerpc_isa207_vsx32l; -+extern const struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; -+extern const struct target_desc *tdesc_powerpc_e500l; -+ -+extern const struct target_desc *tdesc_powerpc_64l; -+extern const struct target_desc *tdesc_powerpc_altivec64l; -+extern const struct target_desc *tdesc_powerpc_vsx64l; -+extern const struct target_desc *tdesc_powerpc_isa205_64l; -+extern const struct target_desc *tdesc_powerpc_isa205_altivec64l; -+extern const struct target_desc *tdesc_powerpc_isa205_vsx64l; -+extern const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; -+extern const struct target_desc *tdesc_powerpc_isa207_vsx64l; -+extern const struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; - - #endif /* ARCH_PPC_LINUX_TDESC_H */ -diff --git a/gdb/features/Makefile b/gdb/features/Makefile ---- a/gdb/features/Makefile -+++ b/gdb/features/Makefile -@@ -74,6 +74,7 @@ mips-dsp-expedite = r29,pc - mips64-expedite = r29,pc - mips64-dsp-expedite = r29,pc - nios2-linux-expedite = sp,pc -+or1k-expedite = r1,npc - powerpc-expedite = r1,pc - s390-linux32-expedite = r14,r15,pswa - s390-linux32v1-expedite = r14,r15,pswa -@@ -108,6 +109,7 @@ XMLTOC = \ - nds32.xml \ - nios2.xml \ - or1k.xml \ -+ or1k-linux.xml \ - rs6000/powerpc-32.xml \ - rs6000/powerpc-32l.xml \ - rs6000/powerpc-403.xml \ -@@ -164,6 +166,8 @@ XMLTOC = \ - s390x-vx-linux64.xml \ - s390-gs-linux64.xml \ - s390x-gs-linux64.xml \ -+ sparc/sparc32-solaris.xml \ -+ sparc/sparc64-solaris.xml \ - z80.xml - - TDESC_CFILES = $(patsubst %.xml,%.c,$(XMLTOC)) -diff --git a/gdb/features/microblaze-with-stack-protect.c b/gdb/features/microblaze-with-stack-protect.c ---- a/gdb/features/microblaze-with-stack-protect.c -+++ b/gdb/features/microblaze-with-stack-protect.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_microblaze_with_stack_protect; -+const struct target_desc *tdesc_microblaze_with_stack_protect; - static void - initialize_tdesc_microblaze_with_stack_protect (void) - { -diff --git a/gdb/features/microblaze.c b/gdb/features/microblaze.c ---- a/gdb/features/microblaze.c -+++ b/gdb/features/microblaze.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_microblaze; -+const struct target_desc *tdesc_microblaze; - static void - initialize_tdesc_microblaze (void) - { -diff --git a/gdb/features/mips-dsp-linux.c b/gdb/features/mips-dsp-linux.c ---- a/gdb/features/mips-dsp-linux.c -+++ b/gdb/features/mips-dsp-linux.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_mips_dsp_linux; -+const struct target_desc *tdesc_mips_dsp_linux; - static void - initialize_tdesc_mips_dsp_linux (void) - { -diff --git a/gdb/features/mips-linux.c b/gdb/features/mips-linux.c ---- a/gdb/features/mips-linux.c -+++ b/gdb/features/mips-linux.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_mips_linux; -+const struct target_desc *tdesc_mips_linux; - static void - initialize_tdesc_mips_linux (void) - { -diff --git a/gdb/features/mips64-dsp-linux.c b/gdb/features/mips64-dsp-linux.c ---- a/gdb/features/mips64-dsp-linux.c -+++ b/gdb/features/mips64-dsp-linux.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_mips64_dsp_linux; -+const struct target_desc *tdesc_mips64_dsp_linux; - static void - initialize_tdesc_mips64_dsp_linux (void) - { -diff --git a/gdb/features/mips64-linux.c b/gdb/features/mips64-linux.c ---- a/gdb/features/mips64-linux.c -+++ b/gdb/features/mips64-linux.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_mips64_linux; -+const struct target_desc *tdesc_mips64_linux; - static void - initialize_tdesc_mips64_linux (void) - { -diff --git a/gdb/features/nds32.c b/gdb/features/nds32.c ---- a/gdb/features/nds32.c -+++ b/gdb/features/nds32.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_nds32; -+const struct target_desc *tdesc_nds32; - static void - initialize_tdesc_nds32 (void) - { -diff --git a/gdb/features/nios2.c b/gdb/features/nios2.c ---- a/gdb/features/nios2.c -+++ b/gdb/features/nios2.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_nios2; -+const struct target_desc *tdesc_nios2; - static void - initialize_tdesc_nios2 (void) - { -diff --git a/gdb/features/or1k-linux.c b/gdb/features/or1k-linux.c ---- a/gdb/features/or1k-linux.c -+++ b/gdb/features/or1k-linux.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_or1k_linux; -+const struct target_desc *tdesc_or1k_linux; - static void - initialize_tdesc_or1k_linux (void) - { -diff --git a/gdb/features/or1k.c b/gdb/features/or1k.c ---- a/gdb/features/or1k.c -+++ b/gdb/features/or1k.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_or1k; -+const struct target_desc *tdesc_or1k; - static void - initialize_tdesc_or1k (void) - { -diff --git a/gdb/features/rs6000/powerpc-32.c b/gdb/features/rs6000/powerpc-32.c ---- a/gdb/features/rs6000/powerpc-32.c -+++ b/gdb/features/rs6000/powerpc-32.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_32; -+const struct target_desc *tdesc_powerpc_32; - static void - initialize_tdesc_powerpc_32 (void) - { -diff --git a/gdb/features/rs6000/powerpc-32l.c b/gdb/features/rs6000/powerpc-32l.c ---- a/gdb/features/rs6000/powerpc-32l.c -+++ b/gdb/features/rs6000/powerpc-32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_32l; -+const struct target_desc *tdesc_powerpc_32l; - static void - initialize_tdesc_powerpc_32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-403.c b/gdb/features/rs6000/powerpc-403.c ---- a/gdb/features/rs6000/powerpc-403.c -+++ b/gdb/features/rs6000/powerpc-403.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_403; -+const struct target_desc *tdesc_powerpc_403; - static void - initialize_tdesc_powerpc_403 (void) - { -diff --git a/gdb/features/rs6000/powerpc-403gc.c b/gdb/features/rs6000/powerpc-403gc.c ---- a/gdb/features/rs6000/powerpc-403gc.c -+++ b/gdb/features/rs6000/powerpc-403gc.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_403gc; -+const struct target_desc *tdesc_powerpc_403gc; - static void - initialize_tdesc_powerpc_403gc (void) - { -diff --git a/gdb/features/rs6000/powerpc-405.c b/gdb/features/rs6000/powerpc-405.c ---- a/gdb/features/rs6000/powerpc-405.c -+++ b/gdb/features/rs6000/powerpc-405.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_405; -+const struct target_desc *tdesc_powerpc_405; - static void - initialize_tdesc_powerpc_405 (void) - { -diff --git a/gdb/features/rs6000/powerpc-505.c b/gdb/features/rs6000/powerpc-505.c ---- a/gdb/features/rs6000/powerpc-505.c -+++ b/gdb/features/rs6000/powerpc-505.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_505; -+const struct target_desc *tdesc_powerpc_505; - static void - initialize_tdesc_powerpc_505 (void) - { -diff --git a/gdb/features/rs6000/powerpc-601.c b/gdb/features/rs6000/powerpc-601.c ---- a/gdb/features/rs6000/powerpc-601.c -+++ b/gdb/features/rs6000/powerpc-601.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_601; -+const struct target_desc *tdesc_powerpc_601; - static void - initialize_tdesc_powerpc_601 (void) - { -diff --git a/gdb/features/rs6000/powerpc-602.c b/gdb/features/rs6000/powerpc-602.c ---- a/gdb/features/rs6000/powerpc-602.c -+++ b/gdb/features/rs6000/powerpc-602.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_602; -+const struct target_desc *tdesc_powerpc_602; - static void - initialize_tdesc_powerpc_602 (void) - { -diff --git a/gdb/features/rs6000/powerpc-603.c b/gdb/features/rs6000/powerpc-603.c ---- a/gdb/features/rs6000/powerpc-603.c -+++ b/gdb/features/rs6000/powerpc-603.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_603; -+const struct target_desc *tdesc_powerpc_603; - static void - initialize_tdesc_powerpc_603 (void) - { -diff --git a/gdb/features/rs6000/powerpc-604.c b/gdb/features/rs6000/powerpc-604.c ---- a/gdb/features/rs6000/powerpc-604.c -+++ b/gdb/features/rs6000/powerpc-604.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_604; -+const struct target_desc *tdesc_powerpc_604; - static void - initialize_tdesc_powerpc_604 (void) - { -diff --git a/gdb/features/rs6000/powerpc-64.c b/gdb/features/rs6000/powerpc-64.c ---- a/gdb/features/rs6000/powerpc-64.c -+++ b/gdb/features/rs6000/powerpc-64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_64; -+const struct target_desc *tdesc_powerpc_64; - static void - initialize_tdesc_powerpc_64 (void) - { -diff --git a/gdb/features/rs6000/powerpc-64l.c b/gdb/features/rs6000/powerpc-64l.c ---- a/gdb/features/rs6000/powerpc-64l.c -+++ b/gdb/features/rs6000/powerpc-64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_64l; -+const struct target_desc *tdesc_powerpc_64l; - static void - initialize_tdesc_powerpc_64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-7400.c b/gdb/features/rs6000/powerpc-7400.c ---- a/gdb/features/rs6000/powerpc-7400.c -+++ b/gdb/features/rs6000/powerpc-7400.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_7400; -+const struct target_desc *tdesc_powerpc_7400; - static void - initialize_tdesc_powerpc_7400 (void) - { -diff --git a/gdb/features/rs6000/powerpc-750.c b/gdb/features/rs6000/powerpc-750.c ---- a/gdb/features/rs6000/powerpc-750.c -+++ b/gdb/features/rs6000/powerpc-750.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_750; -+const struct target_desc *tdesc_powerpc_750; - static void - initialize_tdesc_powerpc_750 (void) - { -diff --git a/gdb/features/rs6000/powerpc-860.c b/gdb/features/rs6000/powerpc-860.c ---- a/gdb/features/rs6000/powerpc-860.c -+++ b/gdb/features/rs6000/powerpc-860.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_860; -+const struct target_desc *tdesc_powerpc_860; - static void - initialize_tdesc_powerpc_860 (void) - { -diff --git a/gdb/features/rs6000/powerpc-altivec32.c b/gdb/features/rs6000/powerpc-altivec32.c ---- a/gdb/features/rs6000/powerpc-altivec32.c -+++ b/gdb/features/rs6000/powerpc-altivec32.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_altivec32; -+const struct target_desc *tdesc_powerpc_altivec32; - static void - initialize_tdesc_powerpc_altivec32 (void) - { -diff --git a/gdb/features/rs6000/powerpc-altivec32l.c b/gdb/features/rs6000/powerpc-altivec32l.c ---- a/gdb/features/rs6000/powerpc-altivec32l.c -+++ b/gdb/features/rs6000/powerpc-altivec32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_altivec32l; -+const struct target_desc *tdesc_powerpc_altivec32l; - static void - initialize_tdesc_powerpc_altivec32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-altivec64.c b/gdb/features/rs6000/powerpc-altivec64.c ---- a/gdb/features/rs6000/powerpc-altivec64.c -+++ b/gdb/features/rs6000/powerpc-altivec64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_altivec64; -+const struct target_desc *tdesc_powerpc_altivec64; - static void - initialize_tdesc_powerpc_altivec64 (void) - { -diff --git a/gdb/features/rs6000/powerpc-altivec64l.c b/gdb/features/rs6000/powerpc-altivec64l.c ---- a/gdb/features/rs6000/powerpc-altivec64l.c -+++ b/gdb/features/rs6000/powerpc-altivec64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_altivec64l; -+const struct target_desc *tdesc_powerpc_altivec64l; - static void - initialize_tdesc_powerpc_altivec64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-e500.c b/gdb/features/rs6000/powerpc-e500.c ---- a/gdb/features/rs6000/powerpc-e500.c -+++ b/gdb/features/rs6000/powerpc-e500.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_e500; -+const struct target_desc *tdesc_powerpc_e500; - static void - initialize_tdesc_powerpc_e500 (void) - { -diff --git a/gdb/features/rs6000/powerpc-e500l.c b/gdb/features/rs6000/powerpc-e500l.c ---- a/gdb/features/rs6000/powerpc-e500l.c -+++ b/gdb/features/rs6000/powerpc-e500l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_e500l; -+const struct target_desc *tdesc_powerpc_e500l; - static void - initialize_tdesc_powerpc_e500l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-32l.c b/gdb/features/rs6000/powerpc-isa205-32l.c ---- a/gdb/features/rs6000/powerpc-isa205-32l.c -+++ b/gdb/features/rs6000/powerpc-isa205-32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_32l; -+const struct target_desc *tdesc_powerpc_isa205_32l; - static void - initialize_tdesc_powerpc_isa205_32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-64l.c b/gdb/features/rs6000/powerpc-isa205-64l.c ---- a/gdb/features/rs6000/powerpc-isa205-64l.c -+++ b/gdb/features/rs6000/powerpc-isa205-64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_64l; -+const struct target_desc *tdesc_powerpc_isa205_64l; - static void - initialize_tdesc_powerpc_isa205_64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.c b/gdb/features/rs6000/powerpc-isa205-altivec32l.c ---- a/gdb/features/rs6000/powerpc-isa205-altivec32l.c -+++ b/gdb/features/rs6000/powerpc-isa205-altivec32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_altivec32l; -+const struct target_desc *tdesc_powerpc_isa205_altivec32l; - static void - initialize_tdesc_powerpc_isa205_altivec32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.c b/gdb/features/rs6000/powerpc-isa205-altivec64l.c ---- a/gdb/features/rs6000/powerpc-isa205-altivec64l.c -+++ b/gdb/features/rs6000/powerpc-isa205-altivec64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_altivec64l; -+const struct target_desc *tdesc_powerpc_isa205_altivec64l; - static void - initialize_tdesc_powerpc_isa205_altivec64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c ---- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c -+++ b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; -+const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; - static void - initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c ---- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c -+++ b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; -+const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; - static void - initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-vsx32l.c ---- a/gdb/features/rs6000/powerpc-isa205-vsx32l.c -+++ b/gdb/features/rs6000/powerpc-isa205-vsx32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_vsx32l; -+const struct target_desc *tdesc_powerpc_isa205_vsx32l; - static void - initialize_tdesc_powerpc_isa205_vsx32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-vsx64l.c ---- a/gdb/features/rs6000/powerpc-isa205-vsx64l.c -+++ b/gdb/features/rs6000/powerpc-isa205-vsx64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa205_vsx64l; -+const struct target_desc *tdesc_powerpc_isa205_vsx64l; - static void - initialize_tdesc_powerpc_isa205_vsx64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c ---- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c -+++ b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; -+const struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; - static void - initialize_tdesc_powerpc_isa207_htm_vsx32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c ---- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c -+++ b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; -+const struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; - static void - initialize_tdesc_powerpc_isa207_htm_vsx64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-vsx32l.c ---- a/gdb/features/rs6000/powerpc-isa207-vsx32l.c -+++ b/gdb/features/rs6000/powerpc-isa207-vsx32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa207_vsx32l; -+const struct target_desc *tdesc_powerpc_isa207_vsx32l; - static void - initialize_tdesc_powerpc_isa207_vsx32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-vsx64l.c ---- a/gdb/features/rs6000/powerpc-isa207-vsx64l.c -+++ b/gdb/features/rs6000/powerpc-isa207-vsx64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_isa207_vsx64l; -+const struct target_desc *tdesc_powerpc_isa207_vsx64l; - static void - initialize_tdesc_powerpc_isa207_vsx64l (void) - { -diff --git a/gdb/features/rs6000/powerpc-vsx32.c b/gdb/features/rs6000/powerpc-vsx32.c ---- a/gdb/features/rs6000/powerpc-vsx32.c -+++ b/gdb/features/rs6000/powerpc-vsx32.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_vsx32; -+const struct target_desc *tdesc_powerpc_vsx32; - static void - initialize_tdesc_powerpc_vsx32 (void) - { -diff --git a/gdb/features/rs6000/powerpc-vsx32l.c b/gdb/features/rs6000/powerpc-vsx32l.c ---- a/gdb/features/rs6000/powerpc-vsx32l.c -+++ b/gdb/features/rs6000/powerpc-vsx32l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_vsx32l; -+const struct target_desc *tdesc_powerpc_vsx32l; - static void - initialize_tdesc_powerpc_vsx32l (void) - { -diff --git a/gdb/features/rs6000/powerpc-vsx64.c b/gdb/features/rs6000/powerpc-vsx64.c ---- a/gdb/features/rs6000/powerpc-vsx64.c -+++ b/gdb/features/rs6000/powerpc-vsx64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_vsx64; -+const struct target_desc *tdesc_powerpc_vsx64; - static void - initialize_tdesc_powerpc_vsx64 (void) - { -diff --git a/gdb/features/rs6000/powerpc-vsx64l.c b/gdb/features/rs6000/powerpc-vsx64l.c ---- a/gdb/features/rs6000/powerpc-vsx64l.c -+++ b/gdb/features/rs6000/powerpc-vsx64l.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_powerpc_vsx64l; -+const struct target_desc *tdesc_powerpc_vsx64l; - static void - initialize_tdesc_powerpc_vsx64l (void) - { -diff --git a/gdb/features/rs6000/rs6000.c b/gdb/features/rs6000/rs6000.c ---- a/gdb/features/rs6000/rs6000.c -+++ b/gdb/features/rs6000/rs6000.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_rs6000; -+const struct target_desc *tdesc_rs6000; - static void - initialize_tdesc_rs6000 (void) - { -diff --git a/gdb/features/rx.c b/gdb/features/rx.c ---- a/gdb/features/rx.c -+++ b/gdb/features/rx.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_rx; -+const struct target_desc *tdesc_rx; - static void - initialize_tdesc_rx (void) - { -diff --git a/gdb/features/s390-gs-linux64.c b/gdb/features/s390-gs-linux64.c ---- a/gdb/features/s390-gs-linux64.c -+++ b/gdb/features/s390-gs-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_gs_linux64; -+const struct target_desc *tdesc_s390_gs_linux64; - static void - initialize_tdesc_s390_gs_linux64 (void) - { -diff --git a/gdb/features/s390-linux32.c b/gdb/features/s390-linux32.c ---- a/gdb/features/s390-linux32.c -+++ b/gdb/features/s390-linux32.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_linux32; -+const struct target_desc *tdesc_s390_linux32; - static void - initialize_tdesc_s390_linux32 (void) - { -diff --git a/gdb/features/s390-linux32v1.c b/gdb/features/s390-linux32v1.c ---- a/gdb/features/s390-linux32v1.c -+++ b/gdb/features/s390-linux32v1.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_linux32v1; -+const struct target_desc *tdesc_s390_linux32v1; - static void - initialize_tdesc_s390_linux32v1 (void) - { -diff --git a/gdb/features/s390-linux32v2.c b/gdb/features/s390-linux32v2.c ---- a/gdb/features/s390-linux32v2.c -+++ b/gdb/features/s390-linux32v2.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_linux32v2; -+const struct target_desc *tdesc_s390_linux32v2; - static void - initialize_tdesc_s390_linux32v2 (void) - { -diff --git a/gdb/features/s390-linux64.c b/gdb/features/s390-linux64.c ---- a/gdb/features/s390-linux64.c -+++ b/gdb/features/s390-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_linux64; -+const struct target_desc *tdesc_s390_linux64; - static void - initialize_tdesc_s390_linux64 (void) - { -diff --git a/gdb/features/s390-linux64v1.c b/gdb/features/s390-linux64v1.c ---- a/gdb/features/s390-linux64v1.c -+++ b/gdb/features/s390-linux64v1.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_linux64v1; -+const struct target_desc *tdesc_s390_linux64v1; - static void - initialize_tdesc_s390_linux64v1 (void) - { -diff --git a/gdb/features/s390-linux64v2.c b/gdb/features/s390-linux64v2.c ---- a/gdb/features/s390-linux64v2.c -+++ b/gdb/features/s390-linux64v2.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_linux64v2; -+const struct target_desc *tdesc_s390_linux64v2; - static void - initialize_tdesc_s390_linux64v2 (void) - { -diff --git a/gdb/features/s390-te-linux64.c b/gdb/features/s390-te-linux64.c ---- a/gdb/features/s390-te-linux64.c -+++ b/gdb/features/s390-te-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_te_linux64; -+const struct target_desc *tdesc_s390_te_linux64; - static void - initialize_tdesc_s390_te_linux64 (void) - { -diff --git a/gdb/features/s390-tevx-linux64.c b/gdb/features/s390-tevx-linux64.c ---- a/gdb/features/s390-tevx-linux64.c -+++ b/gdb/features/s390-tevx-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_tevx_linux64; -+const struct target_desc *tdesc_s390_tevx_linux64; - static void - initialize_tdesc_s390_tevx_linux64 (void) - { -diff --git a/gdb/features/s390-vx-linux64.c b/gdb/features/s390-vx-linux64.c ---- a/gdb/features/s390-vx-linux64.c -+++ b/gdb/features/s390-vx-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390_vx_linux64; -+const struct target_desc *tdesc_s390_vx_linux64; - static void - initialize_tdesc_s390_vx_linux64 (void) - { -diff --git a/gdb/features/s390x-gs-linux64.c b/gdb/features/s390x-gs-linux64.c ---- a/gdb/features/s390x-gs-linux64.c -+++ b/gdb/features/s390x-gs-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_gs_linux64; -+const struct target_desc *tdesc_s390x_gs_linux64; - static void - initialize_tdesc_s390x_gs_linux64 (void) - { -diff --git a/gdb/features/s390x-linux64.c b/gdb/features/s390x-linux64.c ---- a/gdb/features/s390x-linux64.c -+++ b/gdb/features/s390x-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_linux64; -+const struct target_desc *tdesc_s390x_linux64; - static void - initialize_tdesc_s390x_linux64 (void) - { -diff --git a/gdb/features/s390x-linux64v1.c b/gdb/features/s390x-linux64v1.c ---- a/gdb/features/s390x-linux64v1.c -+++ b/gdb/features/s390x-linux64v1.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_linux64v1; -+const struct target_desc *tdesc_s390x_linux64v1; - static void - initialize_tdesc_s390x_linux64v1 (void) - { -diff --git a/gdb/features/s390x-linux64v2.c b/gdb/features/s390x-linux64v2.c ---- a/gdb/features/s390x-linux64v2.c -+++ b/gdb/features/s390x-linux64v2.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_linux64v2; -+const struct target_desc *tdesc_s390x_linux64v2; - static void - initialize_tdesc_s390x_linux64v2 (void) - { -diff --git a/gdb/features/s390x-te-linux64.c b/gdb/features/s390x-te-linux64.c ---- a/gdb/features/s390x-te-linux64.c -+++ b/gdb/features/s390x-te-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_te_linux64; -+const struct target_desc *tdesc_s390x_te_linux64; - static void - initialize_tdesc_s390x_te_linux64 (void) - { -diff --git a/gdb/features/s390x-tevx-linux64.c b/gdb/features/s390x-tevx-linux64.c ---- a/gdb/features/s390x-tevx-linux64.c -+++ b/gdb/features/s390x-tevx-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_tevx_linux64; -+const struct target_desc *tdesc_s390x_tevx_linux64; - static void - initialize_tdesc_s390x_tevx_linux64 (void) - { -diff --git a/gdb/features/s390x-vx-linux64.c b/gdb/features/s390x-vx-linux64.c ---- a/gdb/features/s390x-vx-linux64.c -+++ b/gdb/features/s390x-vx-linux64.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_s390x_vx_linux64; -+const struct target_desc *tdesc_s390x_vx_linux64; - static void - initialize_tdesc_s390x_vx_linux64 (void) - { -diff --git a/gdb/features/sparc/sparc32-solaris.c b/gdb/features/sparc/sparc32-solaris.c ---- a/gdb/features/sparc/sparc32-solaris.c -+++ b/gdb/features/sparc/sparc32-solaris.c -@@ -5,18 +5,18 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_sparc32_solaris; -+const struct target_desc *tdesc_sparc32_solaris; - static void - initialize_tdesc_sparc32_solaris (void) - { -- struct target_desc *result = allocate_target_description (); -- struct tdesc_feature *feature; -+ target_desc_up result = allocate_target_description (); -+ set_tdesc_architecture (result.get (), bfd_scan_arch ("sparc")); - -- set_tdesc_architecture (result, bfd_scan_arch ("sparc")); -+ set_tdesc_osabi (result.get (), osabi_from_tdesc_string ("Solaris")); - -- set_tdesc_osabi (result, osabi_from_tdesc_string ("Solaris")); -+ struct tdesc_feature *feature; - -- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cpu"); -+ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cpu"); - tdesc_create_reg (feature, "g0", 0, 1, NULL, 32, "uint32"); - tdesc_create_reg (feature, "g1", 1, 1, NULL, 32, "uint32"); - tdesc_create_reg (feature, "g2", 2, 1, NULL, 32, "uint32"); -@@ -50,7 +50,7 @@ initialize_tdesc_sparc32_solaris (void) - tdesc_create_reg (feature, "fp", 30, 1, NULL, 32, "uint32"); - tdesc_create_reg (feature, "i7", 31, 1, NULL, 32, "uint32"); - -- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cp0"); -+ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cp0"); - tdesc_create_reg (feature, "y", 64, 1, NULL, 32, "uint32"); - tdesc_create_reg (feature, "psr", 65, 1, NULL, 32, "uint32"); - tdesc_create_reg (feature, "wim", 66, 1, NULL, 32, "uint32"); -@@ -60,7 +60,7 @@ initialize_tdesc_sparc32_solaris (void) - tdesc_create_reg (feature, "fsr", 70, 1, NULL, 32, "uint32"); - tdesc_create_reg (feature, "csr", 71, 1, NULL, 32, "uint32"); - -- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.fpu"); -+ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.fpu"); - tdesc_create_reg (feature, "f0", 32, 1, NULL, 32, "ieee_single"); - tdesc_create_reg (feature, "f1", 33, 1, NULL, 32, "ieee_single"); - tdesc_create_reg (feature, "f2", 34, 1, NULL, 32, "ieee_single"); -@@ -94,5 +94,5 @@ initialize_tdesc_sparc32_solaris (void) - tdesc_create_reg (feature, "f30", 62, 1, NULL, 32, "ieee_single"); - tdesc_create_reg (feature, "f31", 63, 1, NULL, 32, "ieee_single"); - -- tdesc_sparc_solaris = result; -+ tdesc_sparc32_solaris = result.release (); - } -diff --git a/gdb/features/sparc/sparc64-solaris.c b/gdb/features/sparc/sparc64-solaris.c ---- a/gdb/features/sparc/sparc64-solaris.c -+++ b/gdb/features/sparc/sparc64-solaris.c -@@ -5,18 +5,18 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_sparc64_solaris; -+const struct target_desc *tdesc_sparc64_solaris; - static void - initialize_tdesc_sparc64_solaris (void) - { -- struct target_desc *result = allocate_target_description (); -- struct tdesc_feature *feature; -+ target_desc_up result = allocate_target_description (); -+ set_tdesc_architecture (result.get (), bfd_scan_arch ("sparc:v9")); - -- set_tdesc_architecture (result, bfd_scan_arch ("sparc")); -+ set_tdesc_osabi (result.get (), osabi_from_tdesc_string ("Solaris")); - -- set_tdesc_osabi (result, osabi_from_tdesc_string ("Solaris")); -+ struct tdesc_feature *feature; - -- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cpu"); -+ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cpu"); - tdesc_create_reg (feature, "g0", 0, 1, NULL, 64, "uint64"); - tdesc_create_reg (feature, "g1", 1, 1, NULL, 64, "uint64"); - tdesc_create_reg (feature, "g2", 2, 1, NULL, 64, "uint64"); -@@ -47,18 +47,18 @@ initialize_tdesc_sparc64_solaris (void) - tdesc_create_reg (feature, "i3", 27, 1, NULL, 64, "uint64"); - tdesc_create_reg (feature, "i4", 28, 1, NULL, 64, "uint64"); - tdesc_create_reg (feature, "i5", 29, 1, NULL, 64, "uint64"); -- tdesc_create_reg (feature, "fp", 30, 1, NULL, 32, "uint64"); -+ tdesc_create_reg (feature, "fp", 30, 1, NULL, 64, "uint64"); - tdesc_create_reg (feature, "i7", 31, 1, NULL, 64, "uint64"); - -- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.cp0"); -+ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.cp0"); - tdesc_create_reg (feature, "pc", 80, 1, NULL, 64, "code_ptr"); - tdesc_create_reg (feature, "npc", 81, 1, NULL, 64, "code_ptr"); - tdesc_create_reg (feature, "state", 82, 1, NULL, 64, "uint64"); -- tdesc_create_reg (feature, "fsr", 83, 1, NULL, 32, "ieee_single"); -- tdesc_create_reg (feature, "fprs", 84, 1, NULL, 32, "ieee_single"); -+ tdesc_create_reg (feature, "fsr", 83, 1, NULL, 64, "uint64"); -+ tdesc_create_reg (feature, "fprs", 84, 1, NULL, 64, "uint64"); - tdesc_create_reg (feature, "y", 85, 1, NULL, 64, "uint64"); - -- feature = tdesc_create_feature (result, "org.gnu.gdb.sparc.fpu"); -+ feature = tdesc_create_feature (result.get (), "org.gnu.gdb.sparc.fpu"); - tdesc_create_reg (feature, "f0", 32, 1, NULL, 32, "ieee_single"); - tdesc_create_reg (feature, "f1", 33, 1, NULL, 32, "ieee_single"); - tdesc_create_reg (feature, "f2", 34, 1, NULL, 32, "ieee_single"); -@@ -108,5 +108,5 @@ initialize_tdesc_sparc64_solaris (void) - tdesc_create_reg (feature, "f60", 78, 1, NULL, 64, "ieee_double"); - tdesc_create_reg (feature, "f62", 79, 1, NULL, 64, "ieee_double"); - -- tdesc_sparc64_solaris = result; -+ tdesc_sparc64_solaris = result.release (); - } -diff --git a/gdb/features/z80.c b/gdb/features/z80.c ---- a/gdb/features/z80.c -+++ b/gdb/features/z80.c -@@ -5,7 +5,7 @@ - #include "osabi.h" - #include "target-descriptions.h" - --struct target_desc *tdesc_z80; -+const struct target_desc *tdesc_z80; - static void - initialize_tdesc_z80 (void) - { -diff --git a/gdb/mips-linux-tdep.h b/gdb/mips-linux-tdep.h ---- a/gdb/mips-linux-tdep.h -+++ b/gdb/mips-linux-tdep.h -@@ -108,9 +108,9 @@ enum { - int mips_linux_restart_reg_p (struct gdbarch *gdbarch); - - /* Target descriptions. */ --extern struct target_desc *tdesc_mips_linux; --extern struct target_desc *tdesc_mips64_linux; --extern struct target_desc *tdesc_mips_dsp_linux; --extern struct target_desc *tdesc_mips64_dsp_linux; -+extern const struct target_desc *tdesc_mips_linux; -+extern const struct target_desc *tdesc_mips64_linux; -+extern const struct target_desc *tdesc_mips_dsp_linux; -+extern const struct target_desc *tdesc_mips64_dsp_linux; - - #endif /* MIPS_LINUX_TDEP_H */ -diff --git a/gdb/nios2-tdep.h b/gdb/nios2-tdep.h ---- a/gdb/nios2-tdep.h -+++ b/gdb/nios2-tdep.h -@@ -84,7 +84,7 @@ struct nios2_gdbarch_tdep : gdbarch_tdep - int jb_pc = 0; - }; - --extern struct target_desc *tdesc_nios2_linux; --extern struct target_desc *tdesc_nios2; -+extern const struct target_desc *tdesc_nios2_linux; -+extern const struct target_desc *tdesc_nios2; - - #endif /* NIOS2_TDEP_H */ -diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c ---- a/gdb/rs6000-tdep.c -+++ b/gdb/rs6000-tdep.c -@@ -3466,7 +3466,7 @@ struct ppc_variant - unsigned long mach; - - /* Target description for this variant. */ -- struct target_desc **tdesc; -+ const struct target_desc **tdesc; - }; - - static struct ppc_variant variants[] = -diff --git a/gdb/s390-linux-tdep.h b/gdb/s390-linux-tdep.h ---- a/gdb/s390-linux-tdep.h -+++ b/gdb/s390-linux-tdep.h -@@ -48,20 +48,20 @@ extern const struct regset s390_gs_regset; - extern const struct regset s390_gsbc_regset; - - /* GNU/Linux target descriptions. */ --extern struct target_desc *tdesc_s390_linux32v1; --extern struct target_desc *tdesc_s390_linux32v2; --extern struct target_desc *tdesc_s390_linux64; --extern struct target_desc *tdesc_s390_linux64v1; --extern struct target_desc *tdesc_s390_linux64v2; --extern struct target_desc *tdesc_s390_te_linux64; --extern struct target_desc *tdesc_s390_vx_linux64; --extern struct target_desc *tdesc_s390_tevx_linux64; --extern struct target_desc *tdesc_s390_gs_linux64; --extern struct target_desc *tdesc_s390x_linux64v1; --extern struct target_desc *tdesc_s390x_linux64v2; --extern struct target_desc *tdesc_s390x_te_linux64; --extern struct target_desc *tdesc_s390x_vx_linux64; --extern struct target_desc *tdesc_s390x_tevx_linux64; --extern struct target_desc *tdesc_s390x_gs_linux64; -+extern const struct target_desc *tdesc_s390_linux32v1; -+extern const struct target_desc *tdesc_s390_linux32v2; -+extern const struct target_desc *tdesc_s390_linux64; -+extern const struct target_desc *tdesc_s390_linux64v1; -+extern const struct target_desc *tdesc_s390_linux64v2; -+extern const struct target_desc *tdesc_s390_te_linux64; -+extern const struct target_desc *tdesc_s390_vx_linux64; -+extern const struct target_desc *tdesc_s390_tevx_linux64; -+extern const struct target_desc *tdesc_s390_gs_linux64; -+extern const struct target_desc *tdesc_s390x_linux64v1; -+extern const struct target_desc *tdesc_s390x_linux64v2; -+extern const struct target_desc *tdesc_s390x_te_linux64; -+extern const struct target_desc *tdesc_s390x_vx_linux64; -+extern const struct target_desc *tdesc_s390x_tevx_linux64; -+extern const struct target_desc *tdesc_s390x_gs_linux64; - - #endif /* S390_LINUX_TDEP_H */ -diff --git a/gdb/s390-tdep.h b/gdb/s390-tdep.h ---- a/gdb/s390-tdep.h -+++ b/gdb/s390-tdep.h -@@ -317,7 +317,7 @@ extern struct value *s390_trad_frame_prev_register - (struct frame_info *this_frame, struct trad_frame_saved_reg saved_regs[], - int regnum); - --extern struct target_desc *tdesc_s390_linux32; --extern struct target_desc *tdesc_s390x_linux64; -+extern const struct target_desc *tdesc_s390_linux32; -+extern const struct target_desc *tdesc_s390x_linux64; - - #endif /* S390_TDEP_H */ -diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c ---- a/gdb/target-descriptions.c -+++ b/gdb/target-descriptions.c -@@ -1367,7 +1367,7 @@ class print_c_tdesc : public tdesc_element_visitor - printf_filtered ("#include \"target-descriptions.h\"\n"); - printf_filtered ("\n"); - -- printf_filtered ("struct target_desc *tdesc_%s;\n", m_function); -+ printf_filtered ("const struct target_desc *tdesc_%s;\n", m_function); - printf_filtered ("static void\n"); - printf_filtered ("initialize_tdesc_%s (void)\n", m_function); - printf_filtered ("{\n"); diff --git a/gdb.spec b/gdb.spec index b293475..2255a2d 100644 --- a/gdb.spec +++ b/gdb.spec @@ -11,6 +11,9 @@ # Turn off the brp-python-bytecompile automagic %global _python_bytecompile_extra 0 +# Disable LTO until upstream fixes GDB's ODR woes. +%define _lto_cflags %{nil} + # Only build on x86 for RHEL6 SCL, defining missing parallel make macros. %if 0%{?scl:1} && 0%{?el6:1} ExclusiveArch: %{ix86} x86_64 @@ -48,13 +51,13 @@ Name: %{?scl_prefix}gdb # Freeze it when GDB gets branched %global snapsrc 20220501 # See timestamp of source gnulib installed into gnulib/ . -%global snapgnulib 20210105 +%global snapgnulib 20220501 %global tarname gdb-%{version} -Version: 12.1 +Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 16%{?dist} +Release: 1%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -75,9 +78,7 @@ URL: https://gnu.org/software/gdb/ %undefine _debuginfo_subpackages # For DTS RHEL<=7 GDB it is better to use none than a Requires dependency. -# We don't support gcc-gdb-plugin on RHEL anymore. %if 0%{!?rhel:1} -Recommends: %{?scl_prefix}gcc-gdb-plugin%{?_isa} Recommends: dnf-command(debuginfo-install) %endif @@ -559,7 +560,7 @@ COMMON_GDB_CONFIGURE_FLAGS="\ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --with-gdb-datadir=%{_datadir}/gdb \ - --enable-gdb-build-warnings=,-Wno-unused,-Wno-deprecated-declarations,-Wno-unused-function\ + --enable-gdb-build-warnings=,-Wno-unused,-Wno-deprecated-declarations,-Wno-unused-function,-Wno-stringop-overflow\ %ifarch %{ix86} ,-Wno-format-overflow\ %endif @@ -1038,10 +1039,11 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/ rm -f $RPM_BUILD_ROOT%{_infodir}/bfd* rm -f $RPM_BUILD_ROOT%{_infodir}/standard* rm -f $RPM_BUILD_ROOT%{_infodir}/configure* +rm -f $RPM_BUILD_ROOT%{_infodir}/sframe-spec* # Just exclude the header files in the top directory, and don't exclude # the gdb/ directory, as it contains jit-reader.h. rm -rf $RPM_BUILD_ROOT%{_includedir}/*.h -rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib{bfd*,opcodes*,iberty*,ctf*} +rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib{bfd*,opcodes*,iberty*,ctf*,sframe*} # pstack obsoletion @@ -1190,6 +1192,17 @@ fi %endif %changelog +* Wed Mar 8 2023 Kevin Buettner - 13.1-1 +- Rebase to FSF GDB 13.1. +- Update gdb-6.3-rh-testversion-20041202.patch. +- Update gdb-6.3-bz140532-ppc-unwinding-test.patch. +- Update gdb-6.6-buildid-locate.patch. +- Update gdb-6.6-buildid-locate-rpm.patch. +- Remove 'Recommends: ' line for gcc-gdb-plugin for BZ2149246. +- Add 'define _lto_cflags %{nil}' to avoid ODR violations. +- Add -Wno-stringop-overflow to --enable-gdb-build-warnings to work around + gcc problem. + * Fri Jan 27 2023 Kevin Buettner - 12.1-16 - Tweak gdb-6.3-rh-testversion-20041202.patch so that $_gdb_major and $_gdb_minor will be obtained correctly. diff --git a/sources b/sources index a07dd5e..7f7f1ed 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8 SHA512 (v2.0.5.tar.gz) = 2e7ac2aede84671b15597d9c56dbe077a81357bbf44b6684802592246fb7729b4a5743238ddf02f6ea143b4d29872f581408135f9c1ea1ccc99dab905916d98d -SHA512 (gdb-12.1.tar.xz) = 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d +SHA512 (gdb-13.1.tar.xz) = e65054ffbc0357eeed4b17e1edc5ef45aa73c9ddf3b1210651e3d859576e27c1d27b266800fe26328eda58857455ccd8632f4000cfc5f63f90854096290187ca From 50c864895c12534a071e349fc5ceb63210cd2653 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Mon, 20 Mar 2023 10:16:39 +0100 Subject: [PATCH 37/84] Remove gdb-rhbz1350436-type-printers-error.patch since it is upstreamed. The test introduced by that patch is now available on upstream commit 83b755117d7a13e75877c3f166dfef1d8b69ec75, and will probably be backported soon. --- _gdb.spec.Patch.include | 20 +++--- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-rhbz1350436-type-printers-error.patch | 83 ----------------------- gdb.spec | 3 + 5 files changed, 11 insertions(+), 97 deletions(-) delete mode 100644 gdb-rhbz1350436-type-printers-error.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 1f92711..f92273a 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -192,34 +192,30 @@ Patch045: gdb-rhbz1149205-catch-syscall-after-fork-test.patch #=fedoratest Patch046: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch -# Test 'info type-printers' Python error (RH BZ 1350436). -#=fedoratest -Patch047: gdb-rhbz1350436-type-printers-error.patch - # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch048: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch047: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch049: gdb-fedora-libncursesw.patch +Patch048: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch050: gdb-opcodes-clflushopt-test.patch +Patch049: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch051: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch050: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch052: gdb-container-rh-pkg.patch +Patch051: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch053: gdb-linux_perf-bundle.patch +Patch052: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -228,9 +224,9 @@ Patch053: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch054: gdb-libexec-add-index.patch +Patch053: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch055: gdb-rhbz1553104-s390x-arch12-test.patch +Patch054: gdb-rhbz1553104-s390x-arch12-test.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index cb3143d..cd6769a 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -52,4 +52,3 @@ %patch052 -p1 %patch053 -p1 %patch054 -p1 -%patch055 -p1 diff --git a/_patch_order b/_patch_order index 2c86855..311cf24 100644 --- a/_patch_order +++ b/_patch_order @@ -44,7 +44,6 @@ gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch gdb-rhbz1156192-recursive-dlopen-test.patch gdb-rhbz1149205-catch-syscall-after-fork-test.patch gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch -gdb-rhbz1350436-type-printers-error.patch gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch gdb-fedora-libncursesw.patch gdb-opcodes-clflushopt-test.patch diff --git a/gdb-rhbz1350436-type-printers-error.patch b/gdb-rhbz1350436-type-printers-error.patch deleted file mode 100644 index 3322327..0000000 --- a/gdb-rhbz1350436-type-printers-error.patch +++ /dev/null @@ -1,83 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-rhbz1350436-type-printers-error.patch - -;; Test 'info type-printers' Python error (RH BZ 1350436). -;;=fedoratest - -Typo in Python support breaks info type-printers command -https://bugzilla.redhat.com/show_bug.cgi?id=1350436 - -[testsuite patch] PR python/17136: 'info type-printers' causes an exception when there are per-objfile printers -https://sourceware.org/ml/gdb-patches/2016-06/msg00455.html - -diff --git a/gdb/testsuite/gdb.python/py-typeprint.cc b/gdb/testsuite/gdb.python/py-typeprint.cc ---- a/gdb/testsuite/gdb.python/py-typeprint.cc -+++ b/gdb/testsuite/gdb.python/py-typeprint.cc -@@ -31,6 +31,12 @@ templ s; - - basic_string bs; - -+class Other -+{ -+}; -+ -+Other ovar; -+ - int main() - { - return 0; -diff --git a/gdb/testsuite/gdb.python/py-typeprint.exp b/gdb/testsuite/gdb.python/py-typeprint.exp ---- a/gdb/testsuite/gdb.python/py-typeprint.exp -+++ b/gdb/testsuite/gdb.python/py-typeprint.exp -@@ -50,3 +50,7 @@ gdb_test_no_output "enable type-printer string" - gdb_test "whatis bs" "string" "whatis with enabled printer" - - gdb_test "whatis s" "templ" -+ -+gdb_test "info type-printers" "Type printers for \[^\r\n\]*/py-typeprint:\r\n *other\r\n.*" \ -+ "info type-printers for other" -+gdb_test "whatis ovar" "type = Another" -diff --git a/gdb/testsuite/gdb.python/py-typeprint.py b/gdb/testsuite/gdb.python/py-typeprint.py ---- a/gdb/testsuite/gdb.python/py-typeprint.py -+++ b/gdb/testsuite/gdb.python/py-typeprint.py -@@ -15,8 +15,7 @@ - - import gdb - -- --class Recognizer(object): -+class StringRecognizer(object): - def __init__(self): - self.enabled = True - -@@ -32,7 +31,27 @@ class StringTypePrinter(object): - self.enabled = True - - def instantiate(self): -- return Recognizer() -+ return StringRecognizer() - - - gdb.type_printers.append(StringTypePrinter()) -+ -+class OtherRecognizer(object): -+ def __init__(self): -+ self.enabled = True -+ -+ def recognize(self, type_obj): -+ if type_obj.tag == 'Other': -+ return 'Another' -+ return None -+ -+class OtherTypePrinter(object): -+ def __init__(self): -+ self.name = 'other' -+ self.enabled = True -+ -+ def instantiate(self): -+ return OtherRecognizer() -+ -+import gdb.types -+gdb.types.register_type_printer(gdb.objfiles()[0], OtherTypePrinter()) diff --git a/gdb.spec b/gdb.spec index 2255a2d..06b52c7 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1192,6 +1192,9 @@ fi %endif %changelog +* Mon Mar 20 2023 Bruno Larsen +- Remove gdb-rhbz1350436-type-printers-error.patch since it is upstreamed. + * Wed Mar 8 2023 Kevin Buettner - 13.1-1 - Rebase to FSF GDB 13.1. - Update gdb-6.3-rh-testversion-20041202.patch. From 7403afbaf9eb5b224aa8dc033a452a053168d564 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Fri, 24 Mar 2023 19:22:09 -0400 Subject: [PATCH 38/84] Backport fix for RHBZ 2177655. (Luis Machado) --- _gdb.spec.Patch.include | 3 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...2177655-aarch64-pauth-valid-regcache.patch | 279 ++++++++++++++++++ gdb.spec | 5 +- 5 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index f92273a..3688cdf 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -230,3 +230,6 @@ Patch053: gdb-libexec-add-index.patch # =fedoratest Patch054: gdb-rhbz1553104-s390x-arch12-test.patch +# [aarch64] Backport fix from Luis Machado for RH BZ 2177655. +Patch055: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index cd6769a..cb3143d 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -52,3 +52,4 @@ %patch052 -p1 %patch053 -p1 %patch054 -p1 +%patch055 -p1 diff --git a/_patch_order b/_patch_order index 311cf24..8108523 100644 --- a/_patch_order +++ b/_patch_order @@ -52,3 +52,4 @@ gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch +gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch diff --git a/gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch b/gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch new file mode 100644 index 0000000..4f72647 --- /dev/null +++ b/gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch @@ -0,0 +1,279 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Fri, 24 Mar 2023 15:26:57 -0700 +Subject: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch + +;; [aarch64] Backport fix from Luis Machado for RH BZ 2177655. + +aarch64: Check for valid inferior thread/regcache before reading pauth registers + +There were reports of gdb throwing internal errors when calling +inferior_thread ()/get_current_regcache () on a system with +Pointer Authentication enabled. + +In such cases, gdb produces the following backtrace, or a variation +of it (for gdb's with the non-address removal implemented only in +the aarch64-linux-tdep.c file). + +../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed. +A problem internal to GDB has been detected, +further debugging may prove unreliable. +----- Backtrace ----- +0xaaaae04a571f gdb_internal_backtrace_1 + ../../../repos/binutils-gdb/gdb/bt-utils.c:122 +0xaaaae04a57f3 _Z22gdb_internal_backtracev + ../../../repos/binutils-gdb/gdb/bt-utils.c:168 +0xaaaae0b52ccf internal_vproblem + ../../../repos/binutils-gdb/gdb/utils.c:401 +0xaaaae0b5310b _Z15internal_verrorPKciS0_St9__va_list + ../../../repos/binutils-gdb/gdb/utils.c:481 +0xaaaae0e24b8f _Z18internal_error_locPKciS0_z + ../../../repos/binutils-gdb/gdbsupport/errors.cc:58 +0xaaaae0a88983 _Z15inferior_threadv + ../../../repos/binutils-gdb/gdb/thread.c:86 +0xaaaae0956c87 _Z20get_current_regcachev + ../../../repos/binutils-gdb/gdb/regcache.c:428 +0xaaaae035223f aarch64_remove_non_address_bits + ../../../repos/binutils-gdb/gdb/aarch64-tdep.c:3572 +0xaaaae03e8abb _Z31gdbarch_remove_non_address_bitsP7gdbarchm + ../../../repos/binutils-gdb/gdb/gdbarch.c:3109 +0xaaaae0a692d7 memory_xfer_partial + ../../../repos/binutils-gdb/gdb/target.c:1620 +0xaaaae0a695e3 _Z19target_xfer_partialP10target_ops13target_objectPKcPhPKhmmPm + ../../../repos/binutils-gdb/gdb/target.c:1684 +0xaaaae0a69e9f target_read_partial + ../../../repos/binutils-gdb/gdb/target.c:1937 +0xaaaae0a69fdf _Z11target_readP10target_ops13target_objectPKcPhml + ../../../repos/binutils-gdb/gdb/target.c:1977 +0xaaaae0a69937 _Z18target_read_memorymPhl + ../../../repos/binutils-gdb/gdb/target.c:1773 +0xaaaae08be523 ps_xfer_memory + ../../../repos/binutils-gdb/gdb/proc-service.c:90 +0xaaaae08be6db ps_pdread + ../../../repos/binutils-gdb/gdb/proc-service.c:124 +0x40001ed7c3b3 _td_fetch_value + /build/glibc-RIFKjK/glibc-2.31/nptl_db/fetch-value.c:115 +0x40001ed791ef td_ta_map_lwp2thr + /build/glibc-RIFKjK/glibc-2.31/nptl_db/td_ta_map_lwp2thr.c:194 +0xaaaae07f4473 thread_from_lwp + ../../../repos/binutils-gdb/gdb/linux-thread-db.c:413 +0xaaaae07f6d6f _ZN16thread_db_target4waitE6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE + ../../../repos/binutils-gdb/gdb/linux-thread-db.c:1420 +0xaaaae0a6b33b _Z11target_wait6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE + ../../../repos/binutils-gdb/gdb/target.c:2586 +0xaaaae0789cf7 do_target_wait_1 + ../../../repos/binutils-gdb/gdb/infrun.c:3825 +0xaaaae0789e6f operator() + ../../../repos/binutils-gdb/gdb/infrun.c:3884 +0xaaaae078a167 do_target_wait + ../../../repos/binutils-gdb/gdb/infrun.c:3903 +0xaaaae078b0af _Z20fetch_inferior_eventv + ../../../repos/binutils-gdb/gdb/infrun.c:4314 +0xaaaae076652f _Z22inferior_event_handler19inferior_event_type + ../../../repos/binutils-gdb/gdb/inf-loop.c:41 +0xaaaae07dc68b handle_target_event + ../../../repos/binutils-gdb/gdb/linux-nat.c:4206 +0xaaaae0e25fbb handle_file_event + ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:573 +0xaaaae0e264f3 gdb_wait_for_event + ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:694 +0xaaaae0e24f9b _Z16gdb_do_one_eventi + ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:217 +0xaaaae080f033 start_event_loop + ../../../repos/binutils-gdb/gdb/main.c:411 +0xaaaae080f1b7 captured_command_loop + ../../../repos/binutils-gdb/gdb/main.c:475 +0xaaaae0810b97 captured_main + ../../../repos/binutils-gdb/gdb/main.c:1318 +0xaaaae0810c1b _Z8gdb_mainP18captured_main_args + ../../../repos/binutils-gdb/gdb/main.c:1337 +0xaaaae0338453 main + ../../../repos/binutils-gdb/gdb/gdb.c:32 +--------------------- +../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed. +A problem internal to GDB has been detected, +further debugging may prove unreliable. +Quit this debugging session? (y or n) + +We also see failures across the testsuite if the tests get executed on a target +that has native support for the pointer authentication feature. But +gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of +tests that run into errors and internal errors. + +This issue started after commit d88cb738e6a7a7179dfaff8af78d69250c852af1, which +enabled more broad use of pointer authentication masks to remove non-address +bits of pointers, but wasn't immediately detected because systems with native +support for pointer authentication are not that common yet. + +The above crash happens because gdb is in the middle of handling an event, +and do_target_wait_1 calls switch_to_inferior_no_thread, nullifying the +current thread. This means a call to inferior_thread () will assert, and +attempting to call get_current_regcache () will also call inferior_thread (), +resulting in an assertion as well. + +target_has_registers was one function that seemed useful for detecting these +types of situation where we don't have a register cache. The problem with that +is the inconsistent state of inferior_ptid, which is used by +target_has_registers. + +Despite the call to switch_to_no_thread in switch_to_inferior_no_thread from +do_target_wait_1 in the backtrace above clearing inferior_ptid, the call to +ps_xfer_memory sets inferior_ptid momentarily before reading memory: + +static ps_err_e +ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr, + gdb_byte *buf, size_t len, int write) +{ + scoped_restore_current_inferior restore_inferior; + set_current_inferior (ph->thread->inf); + + scoped_restore_current_program_space restore_current_progspace; + set_current_program_space (ph->thread->inf->pspace); + + scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); + inferior_ptid = ph->thread->ptid; + + CORE_ADDR core_addr = ps_addr_to_core_addr (addr); + + int ret; + if (write) + ret = target_write_memory (core_addr, buf, len); + else + ret = target_read_memory (core_addr, buf, len); + return (ret == 0 ? PS_OK : PS_ERR); +} + +Maybe this shouldn't happen, or maybe it is just an unfortunate state to be +in. But this prevents the use of target_has_registers to guard against the +lack of registers, since, although current_thread_ is still nullptr, +inferior_ptid is valid and is not null_ptid. + +There is another crash scenario after we kill a previously active inferior, in +which case the gdbarch will still say we support pointer authentication but we +will also have no current thread (inferior_thread () will assert etc). + +If the target has support for pointer authentication, gdb needs to use +a couple (or 4, for bare-metal) mask registers to mask off some bits of +pointers, and for that it needs to access the registers. + +At some points, like the one from the backtrace above, there is no active +thread/current regcache because gdb is in the middle of doing event handling +and switching between threads. + +Simon suggested the use of inferior_ptid to fetch the register cache, as +opposed to relying on the current register cache. Though we need to make sure +inferior_ptid is valid (not null_ptid), I think this works nicely. + +With inferior_ptid, we can do safety checks along the way, making sure we have +a thread to fetch a register cache from and checking if the thread is actually +stopped or running. + +The following patch implements this idea with safety checks to make sure we +don't run into assertions or errors. If any of the checks fail, we fallback to +using a default mask to remove non-address bits of a pointer. + +I discussed with Pedro the possibility of caching the mask register values +(which are per-process and can change mid-execution), but there isn't a good +spot to cache those values. Besides, the mask registers can change constantly +for bare-metal debugging when switching between exception levels. + +In some cases, it is just not possible to get access to these mask registers, +like the case where threads are running. In those cases, using a default mask +to remove the non-address bits should be enough. + +This can happen when we let threads run in the background and then we attempt +to access a memory address (now that gdb is capable of reading memory even +with threads running). Thus gdb will attempt to remove non-address bits +of that memory access, will attempt to access registers, running into errors. + +Regression-tested on aarch64-linux Ubuntu 20.04. + +diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c +--- a/gdb/aarch64-linux-tdep.c ++++ b/gdb/aarch64-linux-tdep.c +@@ -57,6 +57,9 @@ + #include "elf/common.h" + #include "elf/aarch64.h" + ++/* For inferior_ptid and current_inferior (). */ ++#include "inferior.h" ++ + /* Signal frame handling. + + +------------+ ^ +@@ -1986,29 +1989,60 @@ aarch64_linux_decode_memtag_section (struct gdbarch *gdbarch, + static CORE_ADDR + aarch64_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer) + { +- aarch64_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); +- + /* By default, we assume TBI and discard the top 8 bits plus the VA range +- select bit (55). */ ++ select bit (55). Below we try to fetch information about pointer ++ authentication masks in order to make non-address removal more ++ precise. */ + CORE_ADDR mask = AARCH64_TOP_BITS_MASK; + +- if (tdep->has_pauth ()) ++ /* Check if we have an inferior first. If not, just use the default ++ mask. ++ ++ We use the inferior_ptid here because the pointer authentication masks ++ should be the same across threads of a process. Since we may not have ++ access to the current thread (gdb may have switched to no inferiors ++ momentarily), we use the inferior ptid. */ ++ if (inferior_ptid != null_ptid) + { +- /* Fetch the PAC masks. These masks are per-process, so we can just +- fetch data from whatever thread we have at the moment. ++ /* If we do have an inferior, attempt to fetch its thread's thread_info ++ struct. */ ++ thread_info *thread ++ = find_thread_ptid (current_inferior ()->process_target (), ++ inferior_ptid); + +- Also, we have both a code mask and a data mask. For now they are the +- same, but this may change in the future. */ +- struct regcache *regs = get_current_regcache (); +- CORE_ADDR cmask, dmask; ++ /* If the thread is running, we will not be able to fetch the mask ++ registers. */ ++ if (thread != nullptr && thread->state != THREAD_RUNNING) ++ { ++ /* Otherwise, fetch the register cache and the masks. */ ++ struct regcache *regs ++ = get_thread_regcache (current_inferior ()->process_target (), ++ inferior_ptid); ++ ++ /* Use the gdbarch from the register cache to check for pointer ++ authentication support, as it matches the features found in ++ that particular thread. */ ++ aarch64_gdbarch_tdep *tdep ++ = gdbarch_tdep (regs->arch ()); ++ ++ /* Is there pointer authentication support? */ ++ if (tdep->has_pauth ()) ++ { ++ /* We have both a code mask and a data mask. For now they are ++ the same, but this may change in the future. */ ++ CORE_ADDR cmask, dmask; + +- if (regs->cooked_read (tdep->pauth_reg_base, &dmask) != REG_VALID) +- dmask = mask; ++ if (regs->cooked_read (tdep->pauth_reg_base, &dmask) ++ != REG_VALID) ++ dmask = mask; + +- if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) != REG_VALID) +- cmask = mask; ++ if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) ++ != REG_VALID) ++ cmask = mask; + +- mask |= aarch64_mask_from_pac_registers (cmask, dmask); ++ mask |= aarch64_mask_from_pac_registers (cmask, dmask); ++ } ++ } + } + + return aarch64_remove_top_bits (pointer, mask); diff --git a/gdb.spec b/gdb.spec index 06b52c7..0d6e9ed 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1192,6 +1192,9 @@ fi %endif %changelog +* Fri Mar 24 2023 Kevin Buettner - 13.1-2 +- Backport fix for RHBZ 2177655. (Luis Machado) + * Mon Mar 20 2023 Bruno Larsen - Remove gdb-rhbz1350436-type-printers-error.patch since it is upstreamed. From 240ac8eb895ce3fa22e2342a473ad945cfefeeee Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Mon, 20 Mar 2023 16:32:26 +0000 Subject: [PATCH 39/84] Set distro name using --with-pkgconfig configure option Instead of placing the distro name (e.g. 'Fedora Linux') into the version.in file, use the --with-pkgconfig configure option to set the disto name. This does change GDB's version output slightly. Prior to this commit we might expect to see something like this: $ gdb --version GNU gdb (GDB) Fedora Linux 13.1-1-fc38 ... Now we'll see this: $ gdb --version GNU gdb (Fedora Linux) 13.1-1-fc38 ... Notice that 'Fedora Linux' moved inside the parenthesis. There are other benefits to this change, the Python gdb.VERSION string will now contain '13.1-1-fc38' instead of 'Fedora Linux 13.1-1-fc38', this was reported as an issue in this bug: https://bugzilla.redhat.com/show_bug.cgi?id=2179554 I've also removed the change to gdb.gdb/selftest.exp as I don't believe that this was ever being used -- when this test was run we should have hit an earlier case. I have added a brand new test that checks our version string. I've placed this new test into a separate file, so we should (hopefully) not have any issues maintaining this as an out of tree test. For implementation, by default we make use of the %dist_name macro, however, this is not defined on RHEL 9 or earlier, so to support reusing this commit on RHEL systems, I also detect the %rhel macro, and in that case use a hard-coded string. --- gdb-6.3-rh-testversion-20041202.patch | 62 +++++++++++++-------------- gdb.spec | 61 +++++++++++++++++++++++++- 2 files changed, 88 insertions(+), 35 deletions(-) diff --git a/gdb-6.3-rh-testversion-20041202.patch b/gdb-6.3-rh-testversion-20041202.patch index 718e53a..59132bf 100644 --- a/gdb-6.3-rh-testversion-20041202.patch +++ b/gdb-6.3-rh-testversion-20041202.patch @@ -1,38 +1,34 @@ From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Elena Zannoni +From: Andrew Burgess Date: Fri, 27 Oct 2017 21:07:50 +0200 Subject: gdb-6.3-rh-testversion-20041202.patch -;; Match the Fedora's version info. -;;=fedora +;; Check distro name is included in the version output. -2003-02-24 Elena Zannoni - - * gdb.gdb/selftest.exp: Add matching on specific Red Hat only version - string. - -diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp ---- a/gdb/testsuite/gdb.gdb/selftest.exp -+++ b/gdb/testsuite/gdb.gdb/selftest.exp -@@ -53,6 +53,9 @@ proc test_with_self { } { - -re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" { - pass "printed version with cast" - } -+ -re ".\[0-9\]+ = .(Fedora Linux|Red Hat Enterprise Linux) \[\\(\\)0-9.a-z\\-\]+.*$gdb_prompt $" { -+ pass "printed version Fedora or Red Hat Enterprise Linux only" -+ } - } - - # start the "xgdb" process -diff --git a/gdb/top.c b/gdb/top.c ---- a/gdb/top.c -+++ b/gdb/top.c -@@ -2382,7 +2382,7 @@ The second argument is the terminal the UI runs on."), &cmdlist); - struct internalvar *major_version_var = create_internalvar ("_gdb_major"); - struct internalvar *minor_version_var = create_internalvar ("_gdb_minor"); - int vmajor = 0, vminor = 0, vrevision = 0; -- sscanf (version, "%d.%d.%d", &vmajor, &vminor, &vrevision); -+ sscanf (version, "%*[^0123456789]%d.%d.%d", &vmajor, &vminor, &vrevision); - set_internalvar_integer (major_version_var, vmajor); - set_internalvar_integer (minor_version_var, vminor + (vrevision > 0)); - } +diff --git a/gdb/testsuite/gdb.base/fedora-version.exp b/gdb/testsuite/gdb.base/fedora-version.exp +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.base/fedora-version.exp +@@ -0,0 +1,22 @@ ++# Copyright 2023 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# Start with a fresh gdb ++clean_restart ++ ++# Check the version string contains either the Fedora or RHEL distro ++# name, and that the version number looks roughly correct in format. ++gdb_test "show version" \ ++ "GNU gdb \\((Fedora Linux|Red Hat Enterprise Linux)\\) \[0-9\]+\\.\[0-9\]+-\[0-9\]+.*" diff --git a/gdb.spec b/gdb.spec index 0d6e9ed..f7e9735 100644 --- a/gdb.spec +++ b/gdb.spec @@ -520,9 +520,55 @@ find -name "*.info*"|xargs rm -f find -name "*.orig" | xargs rm -f ! find -name "*.rej" # Should not happen. -# Change the version that gets printed at GDB startup, so it is distro-specific. +# In the past a distro name prefix was added to the version string in +# version.in. +# +# However, placing text at the start of version.in can cause problems; +# GDB will have a version string that starts with text rather than a +# number as is the case with upstream GDB, and for most (all?) other +# distros. +# +# GDB's version string is exposed to users as part of the Python API, +# and it is not uncommon for users to try and grok the version number +# from this string. Having Fedora/RHEL GDB not start with the major +# version number can be unexpected, and might cause tools/script that +# work for other builds of GDB to fail with Fedora/RHEL GDB. +# +# So, we switched to use the more standard --with-pkgversion configure +# option. This ensures the distro name is still included in the 'gdb +# --version' output, but the text is no longer part of the string +# exposed in the Python API. +# +# Unfortunately, for RHEL the dist_name macro is not defined. At +# least not on RHEL 9 or earlier. So, if dist_name is not defined, +# but the rhel macro is, then we use a hard-coded RHEL appropriate +# string. +# +# FIXME: It would be nice to rewrite this using %elif, but this is not +# supported on older (pre 9) RHEL systems. + +%if 0%{?dist_name:1} + +%global pkgversion_configure_flag --with-pkgversion=%{dist_name} + +%else + +%if 0%{?fedora:1} +%global pkgversion_configure_flag --with-pkgversion=Fedora Linux +%endif + +%if 0%{?rhel:1} +%global pkgversion_configure_flag --with-pkgversion=Red Hat Enterprise Linux +%endif + +%endif + +# Change the version that gets printed by GDB. The 'version' here is +# usually the same as the original upstream version on which we are +# based. The 'release' is new information we're adding and identifies +# the modifications we've made to upstream. cat > gdb/version.in << _FOO -%{?dist_name} %{version}-%{release} +%{?version_prefix:%version_prefix }%{version}-%{release} _FOO # Remove the info and other generated files added by the FSF release @@ -644,6 +690,9 @@ export PKG_CONFIG_PATH=%{_libdir}/pkgconfig ../configure \ ${COMMON_GDB_CONFIGURE_FLAGS} \ ${GDB_MINIMAL_CONFIGURE_FLAGS} \ +%if 0%{?pkgversion_configure_flag:1} + "%{pkgversion_configure_flag}" \ +%endif --with-auto-load-dir='$debugdir:$datadir/auto-load%{?scl::%{_root_datadir}/gdb/auto-load}' \ --with-auto-load-safe-path='$debugdir:$datadir/auto-load%{?scl::%{_root_datadir}/gdb/auto-load}' \ %ifarch sparc sparcv9 @@ -744,6 +793,9 @@ $(: ppc64 host build crashes on ppc variant of libexpat.so ) \ ../configure \ ${COMMON_GDB_CONFIGURE_FLAGS} \ ${GDB_FULL_CONFIGURE_FLAGS} \ +%if 0%{?pkgversion_configure_flag:1} + "%{pkgversion_configure_flag}" \ +%endif --with-auto-load-dir='$debugdir:$datadir/auto-load%{?scl::%{_root_datadir}/gdb/auto-load}' \ --with-auto-load-safe-path='$debugdir:$datadir/auto-load%{?scl::%{_root_datadir}/gdb/auto-load}' \ %ifarch sparc sparcv9 @@ -1192,6 +1244,11 @@ fi %endif %changelog +* Wed Mar 29 2023 Andrew Burgess +- Used --with-pkgversion to place the distribution name in the version + string rather than placing the string directly into the version.in + file. + * Fri Mar 24 2023 Kevin Buettner - 13.1-2 - Backport fix for RHBZ 2177655. (Luis Machado) From 5b461b9481e8046db99795221294f5ad74fe1073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Thu, 30 Mar 2023 16:20:10 +0200 Subject: [PATCH 40/84] Update gdb-6.6-buildid-locate.patch to fix RHBZ 2181221. --- gdb-6.6-buildid-locate.patch | 35 ++++++++++++++++++++--------------- gdb.spec | 5 ++++- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index a3c6494..a56ceeb 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -561,7 +561,8 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c - if (separate_debug_file_debug) - gdb_printf (gdb_stdlog, _(" no, unable to open.\n")); + struct stat statbuf_trash; -+ + +- return {}; + /* `access' automatically dereferences LINK. */ + if (lstat (link.c_str (), &statbuf_trash) != 0) + { @@ -596,8 +597,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + { + if (separate_debug_file_debug) + gdb_printf (gdb_stdlog, _(" no, unable to open.\n")); - -- return {}; ++ + continue; + } + @@ -628,13 +628,13 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + /* If none of the real files is found report as missing file + always the non-.%u-suffixed file. */ + std::string link0 = orig_link; - -- return {}; ++ + /* If the symlink has target request to install the target. + BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing. + https://bugzilla.redhat.com/show_bug.cgi?id=981154 */ + std::string link0_resolved (link_resolve (link0.c_str (), 0)); -+ + +- return {}; + if (link_all.empty ()) + link_all = link0_resolved; + else @@ -703,7 +703,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (debug_bfd != NULL) return debug_bfd; } -@@ -183,30 +687,655 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, +@@ -183,30 +687,660 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id, return {}; } @@ -1313,15 +1313,20 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + already requires its own separate lines. */ + + gdb_printf (gdb_stdlog, -+ _("Missing separate debuginfo for %s\n"), binary); -+ if (debug != NULL) -+ gdb_printf (gdb_stdlog, _("Try: %s %s\n"), ++ _("Missing separate debuginfo for %s.\n"), binary); ++ if (debug != NULL) ++ { ++ if (access (debug, F_OK) == 0) { ++ gdb_printf (gdb_stdlog, _("Try: %s %s\n"), +#ifdef DNF_DEBUGINFO_INSTALL -+ "dnf" ++ "dnf" +#else -+ "yum" ++ "yum" +#endif -+ " --enablerepo='*debug*' install", debug); ++ " --enablerepo='*debug*' install", debug); ++ } else ++ gdb_printf (gdb_stdlog, _("The debuginfo package for this file is probably broken.\n")); ++ } + } +} + @@ -1365,7 +1370,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c if (build_id != NULL) { if (separate_debug_file_debug) -@@ -214,8 +1343,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -214,8 +1348,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) _("\nLooking for separate debug info (build-id) for " "%s\n"), objfile_name (objfile)); @@ -1388,7 +1393,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c /* Prevent looping on a stripped .debug file. */ if (abfd != NULL && filename_cmp (bfd_get_filename (abfd.get ()), -@@ -228,3 +1370,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) +@@ -228,3 +1375,22 @@ find_separate_debug_file_by_buildid (struct objfile *objfile) return std::string (); } diff --git a/gdb.spec b/gdb.spec index f7e9735..e5fd787 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1244,6 +1244,9 @@ fi %endif %changelog +* Thu Mar 30 2023 Alexandra Hájková - 12.1-3 +- Update gdb-6.6-buildid-locate.patch to fix RHBZ 2181221. + * Wed Mar 29 2023 Andrew Burgess - Used --with-pkgversion to place the distribution name in the version string rather than placing the string directly into the version.in From 45618ff7852605279e340217cb39fbd2671bec1e Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Thu, 30 Mar 2023 10:01:25 -0700 Subject: [PATCH 41/84] Update description and Summary in gdb.spec --- gdb.spec | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gdb.spec b/gdb.spec index e5fd787..486d41b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -89,12 +89,17 @@ Recommends: dnf-command(debuginfo-install) # below, but it cannot hurt either -- rdieter Conflicts: gdb-headless < 7.12-29 -Summary: A stub package for GNU source-level debugger +Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages Requires: gdb-headless%{?_isa} = %{version}-%{release} %description -'gdb' package is only a stub to install gcc-gdb-plugin for 'compile' commands. -See package 'gdb-headless'. +GDB, the GNU debugger, allows you to debug programs written in C, C++, +Fortran, Go, and other languages, by executing them in a controlled +fashion and printing their data. + +If you want to use GDB for development purposes, you should install +the 'gdb' package which will install 'gdb-headless' and possibly other +useful packages too. %package headless %endif @@ -455,8 +460,8 @@ Conflicts: %{name}-headless > %{version}-%{release} %description minimal GDB, the GNU debugger, allows you to debug programs written in C, C++, -Java, and other languages, by executing them in a controlled fashion -and printing their data. +Fortran, Go, and other languages, by executing them in a controlled +fashion and printing their data. This package provides a minimal version of GDB, tailored to be used by the Fedora buildroot. It should probably not be used by end users. @@ -467,8 +472,8 @@ Summary: A standalone server for GDB (the GNU source-level debugger) %description gdbserver GDB, the GNU debugger, allows you to debug programs written in C, C++, -Java, and other languages, by executing them in a controlled fashion -and printing their data. +Fortran, Go, and other languages, by executing them in a controlled +fashion and printing their data. This package provides a program that allows you to run GDB on a different machine than the one which is running the program being debugged. From 8293a5eab7d6c5daf44f8759a5ee799e13108623 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Fri, 31 Mar 2023 09:53:54 -0700 Subject: [PATCH 42/84] Use %patch -PNNN The use of "%patchNNN" to apply patches is deprecated. "%patch -PNNN" is recommended for maximum compatibility with older versions of `rpm'. Regenerated all patches and associated files. --- _gdb.spec.Patch.include | 3 +- _gdb.spec.patch.include | 110 +++++++++++++++--------------- generate-patches-from-git-repo.sh | 2 +- 3 files changed, 57 insertions(+), 58 deletions(-) diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 3688cdf..c51abfc 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -1,5 +1,4 @@ -# Match the Fedora's version info. -#=fedora +# Check distro name is included in the version output. Patch001: gdb-6.3-rh-testversion-20041202.patch # Add a wrapper script to GDB that implements pstack using the diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index cb3143d..b72c412 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -1,55 +1,55 @@ -%patch001 -p1 -%patch002 -p1 -%patch003 -p1 -%patch004 -p1 -%patch005 -p1 -%patch006 -p1 -%patch007 -p1 -%patch008 -p1 -%patch009 -p1 -%patch010 -p1 -%patch011 -p1 -%patch012 -p1 -%patch013 -p1 -%patch014 -p1 -%patch015 -p1 -%patch016 -p1 -%patch017 -p1 -%patch018 -p1 -%patch019 -p1 -%patch020 -p1 -%patch021 -p1 -%patch022 -p1 -%patch023 -p1 -%patch024 -p1 -%patch025 -p1 -%patch026 -p1 -%patch027 -p1 -%patch028 -p1 -%patch029 -p1 -%patch030 -p1 -%patch031 -p1 -%patch032 -p1 -%patch033 -p1 -%patch034 -p1 -%patch035 -p1 -%patch036 -p1 -%patch037 -p1 -%patch038 -p1 -%patch039 -p1 -%patch040 -p1 -%patch041 -p1 -%patch042 -p1 -%patch043 -p1 -%patch044 -p1 -%patch045 -p1 -%patch046 -p1 -%patch047 -p1 -%patch048 -p1 -%patch049 -p1 -%patch050 -p1 -%patch051 -p1 -%patch052 -p1 -%patch053 -p1 -%patch054 -p1 -%patch055 -p1 +%patch -p1 -P001 +%patch -p1 -P002 +%patch -p1 -P003 +%patch -p1 -P004 +%patch -p1 -P005 +%patch -p1 -P006 +%patch -p1 -P007 +%patch -p1 -P008 +%patch -p1 -P009 +%patch -p1 -P010 +%patch -p1 -P011 +%patch -p1 -P012 +%patch -p1 -P013 +%patch -p1 -P014 +%patch -p1 -P015 +%patch -p1 -P016 +%patch -p1 -P017 +%patch -p1 -P018 +%patch -p1 -P019 +%patch -p1 -P020 +%patch -p1 -P021 +%patch -p1 -P022 +%patch -p1 -P023 +%patch -p1 -P024 +%patch -p1 -P025 +%patch -p1 -P026 +%patch -p1 -P027 +%patch -p1 -P028 +%patch -p1 -P029 +%patch -p1 -P030 +%patch -p1 -P031 +%patch -p1 -P032 +%patch -p1 -P033 +%patch -p1 -P034 +%patch -p1 -P035 +%patch -p1 -P036 +%patch -p1 -P037 +%patch -p1 -P038 +%patch -p1 -P039 +%patch -p1 -P040 +%patch -p1 -P041 +%patch -p1 -P042 +%patch -p1 -P043 +%patch -p1 -P044 +%patch -p1 -P045 +%patch -p1 -P046 +%patch -p1 -P047 +%patch -p1 -P048 +%patch -p1 -P049 +%patch -p1 -P050 +%patch -p1 -P051 +%patch -p1 -P052 +%patch -p1 -P053 +%patch -p1 -P054 +%patch -p1 -P055 diff --git a/generate-patches-from-git-repo.sh b/generate-patches-from-git-repo.sh index 52537ca..d399d78 100755 --- a/generate-patches-from-git-repo.sh +++ b/generate-patches-from-git-repo.sh @@ -93,7 +93,7 @@ for c in `git rev-list --reverse ${common_ancestor}..HEAD` ; do `git log -1 --pretty='format:%b' $c | sed -n 's/^;;/#/p'` EOF printf "Patch%03d: %s\n\n" $idx $fname >> $temp_PATCH_file - printf "%%patch%03d -p1\n" $idx >> $temp_patch_file + printf "%%patch -p1 -P%03d\n" $idx >> $temp_patch_file echo $fname >> $temp_patch_order_file idx=`expr $idx + 1` done From 33590be3ac8403a9a74742c3c9d7461606a85ba5 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Fri, 31 Mar 2023 11:59:44 -0700 Subject: [PATCH 43/84] Backport "Fix crash in inside_main_func" Resolves: rhbz#2183595 --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-rhbz2183595-rustc-inside_main.patch | 136 ++++++++++++++++++++++++ gdb.spec | 6 +- 5 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 gdb-rhbz2183595-rustc-inside_main.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index c51abfc..a5806be 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -232,3 +232,7 @@ Patch054: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. Patch055: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +# Backport "Fix crash in inside_main_func" +# (Tom Tromey, RHBZ 2183595) +Patch056: gdb-rhbz2183595-rustc-inside_main.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index b72c412..46efc44 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -53,3 +53,4 @@ %patch -p1 -P053 %patch -p1 -P054 %patch -p1 -P055 +%patch -p1 -P056 diff --git a/_patch_order b/_patch_order index 8108523..1c80644 100644 --- a/_patch_order +++ b/_patch_order @@ -53,3 +53,4 @@ gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +gdb-rhbz2183595-rustc-inside_main.patch diff --git a/gdb-rhbz2183595-rustc-inside_main.patch b/gdb-rhbz2183595-rustc-inside_main.patch new file mode 100644 index 0000000..16a77b6 --- /dev/null +++ b/gdb-rhbz2183595-rustc-inside_main.patch @@ -0,0 +1,136 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Tom Tromey +Date: Fri, 24 Feb 2023 10:40:16 -0700 +Subject: gdb-rhbz2183595-rustc-inside_main.patch + +;; Backport "Fix crash in inside_main_func" +;; (Tom Tromey, RHBZ 2183595) + +gdb 13.1 crashes while running the rust compiler's debugger tests. +The crash has a number of causes. + +First, the rust compiler still uses the C++-like _Z mangling, but with +its own twist -- some hex digits added to the end of a symbol. So, +while gdb finds the correct name of "main": + +(top-gdb) p name +$13 = 0x292e0c0 "rustc_gdb_1031745::main" + +It isn't found in the minsyms, because C++ demangling yields: + +[99] t 0x90c0 _ZN17rustc_gdb_10317454main17h5b5be7fe16a97225E section .text rustc_gdb_1031745::main::h5b5be7fe16a97225 zko06yobckx336v + +This could perhaps be fixed. I also filed a new PR to suggest +preferring the linkage name of the main program. + +Next, the rust compiler emits both a DW_TAG_subprogram and a +DW_TAG_namespace for "main". This happens because the file is named +"main.rs" -- i.e., the bug is specific to the source file name. The +crash also seems to require the nested function inside of 'main', at +least for me. The namespace always is generated, but perhaps this +changes the ordering in the DWARF. + +When inside_main_func looks up the main symbol, it finds the namespace +symbol rather than the function. (I filed a bug about fixing gdb's +symbol tables -- long overdue.) + +Meanwhile, as I think it's important to fix this crash sooner rather +than later, this patch changes inside_main_func to check that the +symbol that is found is LOC_BLOCK. This perhaps should have been done +in the first place, anyway. + +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30158 + +diff --git a/gdb/frame.c b/gdb/frame.c +--- a/gdb/frame.c ++++ b/gdb/frame.c +@@ -2453,6 +2453,14 @@ inside_main_func (frame_info_ptr this_frame) + if (bs.symbol == nullptr) + return false; + ++ /* We might have found some unrelated symbol. For example, the ++ Rust compiler can emit both a subprogram and a namespace with ++ the same name in the same scope; and due to how gdb's symbol ++ tables currently work, we can't request the one we'd ++ prefer. */ ++ if (bs.symbol->aclass () != LOC_BLOCK) ++ return false; ++ + const struct block *block = bs.symbol->value_block (); + gdb_assert (block != nullptr); + sym_addr = block->start (); +diff --git a/gdb/testsuite/gdb.rust/main-crash.exp b/gdb/testsuite/gdb.rust/main-crash.exp +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.rust/main-crash.exp +@@ -0,0 +1,35 @@ ++# Copyright (C) 2023 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# Regression test for a crash in inside_main_func. ++ ++load_lib rust-support.exp ++require allow_rust_tests ++ ++standard_testfile main.rs ++if {[prepare_for_testing "failed to prepare" $testfile $srcfile \ ++ {debug rust}]} { ++ return -1 ++} ++ ++set line [gdb_get_line_number "BREAK"] ++# The bug was that this would crash. ++if {![runto ${srcfile}:$line]} { ++ untested "could not run to breakpoint" ++ return -1 ++} ++ ++# Test that gdb is alive. ++gdb_test "print 23" " = 23" +diff --git a/gdb/testsuite/gdb.rust/main.rs b/gdb/testsuite/gdb.rust/main.rs +new file mode 100644 +--- /dev/null ++++ b/gdb/testsuite/gdb.rust/main.rs +@@ -0,0 +1,30 @@ ++// Copyright (C) 2016-2023 Free Software Foundation, Inc. ++ ++// This program is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3 of the License, or ++// (at your option) any later version. ++// ++// This program is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program. If not, see . ++ ++#![allow(dead_code)] ++#![allow(unused_variables)] ++#![allow(unused_assignments)] ++ ++fn global_fn(x: u8) { ++ // BREAK ++} ++ ++fn main() { ++ fn nested(y: u8) { ++ global_fn(y) ++ } ++ ++ nested(23); ++} diff --git a/gdb.spec b/gdb.spec index 486d41b..886616c 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1249,6 +1249,10 @@ fi %endif %changelog +* Fri Mar 31 2023 Keith Seitz - 13.1-4 +- Backport "Fix crash in inside_main_func" + (Tom Tromey, RHBZ 2183595) + * Thu Mar 30 2023 Alexandra Hájková - 12.1-3 - Update gdb-6.6-buildid-locate.patch to fix RHBZ 2181221. From ff60ea4e2646541b95c17f85107832dca1d28c29 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 11 Apr 2023 10:24:10 -0700 Subject: [PATCH 44/84] Backport fix for binutils/29988 --- _gdb.spec.Patch.include | 4 ++++ _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-binutils29988-read_indexed_address.patch | 24 ++++++++++++++++++++ gdb.spec | 4 ++++ 5 files changed, 34 insertions(+) create mode 100644 gdb-binutils29988-read_indexed_address.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index a5806be..ebd3b27 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -236,3 +236,7 @@ Patch055: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # (Tom Tromey, RHBZ 2183595) Patch056: gdb-rhbz2183595-rustc-inside_main.patch +# Backport "Fix a potential illegal memory access in the BFD library..." +# (Nick Clifton, binutils/29988) +Patch057: gdb-binutils29988-read_indexed_address.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 46efc44..c13c1cc 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -54,3 +54,4 @@ %patch -p1 -P054 %patch -p1 -P055 %patch -p1 -P056 +%patch -p1 -P057 diff --git a/_patch_order b/_patch_order index 1c80644..8630b24 100644 --- a/_patch_order +++ b/_patch_order @@ -54,3 +54,4 @@ gdb-libexec-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch gdb-rhbz2183595-rustc-inside_main.patch +gdb-binutils29988-read_indexed_address.patch diff --git a/gdb-binutils29988-read_indexed_address.patch b/gdb-binutils29988-read_indexed_address.patch new file mode 100644 index 0000000..af44d12 --- /dev/null +++ b/gdb-binutils29988-read_indexed_address.patch @@ -0,0 +1,24 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Nick Clifton +Date: Wed, 11 Jan 2023 12:13:46 +0000 +Subject: gdb-binutils29988-read_indexed_address.patch + +;; Backport "Fix a potential illegal memory access in the BFD library..." +;; (Nick Clifton, binutils/29988) + + PR 29988 + * dwarf2.c (read_indexed_address): Fix check for an out of range + offset. + +diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c +--- a/bfd/dwarf2.c ++++ b/bfd/dwarf2.c +@@ -1412,7 +1412,7 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit) + offset += unit->dwarf_addr_offset; + if (offset < unit->dwarf_addr_offset + || offset > file->dwarf_addr_size +- || file->dwarf_addr_size - offset < unit->offset_size) ++ || file->dwarf_addr_size - offset < unit->addr_size) + return 0; + + info_ptr = file->dwarf_addr_buffer + offset; diff --git a/gdb.spec b/gdb.spec index 886616c..cef8cbf 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,10 @@ fi %endif %changelog +* Tue Apr 11 2023 Keith Seitz +- Backport "Fix a potential illegal memory access in the BFD library..." + (Nick Clifton, binutils/29988) + * Fri Mar 31 2023 Keith Seitz - 13.1-4 - Backport "Fix crash in inside_main_func" (Tom Tromey, RHBZ 2183595) From 9dbae0620d071ffa756ed09e9dbf8c25768aa840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Wed, 5 Apr 2023 14:50:06 +0000 Subject: [PATCH 45/84] Remove gdb-6.3-bz140532-ppc-unwinding-test.patch. It adds powerpc-bcl-prologue.exp test which seems to be a subset of upstream powerpc-prologue.exp --- _gdb.spec.Patch.include | 98 ++++--- _patch_order | 1 - gdb-6.3-bz140532-ppc-unwinding-test.patch | 305 ---------------------- gdb.spec | 5 + 4 files changed, 52 insertions(+), 357 deletions(-) delete mode 100644 gdb-6.3-bz140532-ppc-unwinding-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index ebd3b27..5a3eb2c 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -31,190 +31,186 @@ Patch007: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch #=fedoratest Patch008: gdb-6.5-bz109921-DW_AT_decl_file-test.patch -# Update PPC unwinding patches to their upstream variants (BZ 140532). -#=fedoratest -Patch009: gdb-6.3-bz140532-ppc-unwinding-test.patch - # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch010: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch009: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch011: gdb-6.6-testsuite-timeouts.patch +Patch010: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch012: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch011: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch013: gdb-6.3-attach-see-vdso-test.patch +Patch012: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch014: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch013: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch015: gdb-6.6-buildid-locate.patch +Patch014: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch016: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch015: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch017: gdb-6.6-buildid-locate-rpm.patch +Patch016: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch018: gdb-6.7-charsign-test.patch +Patch017: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch019: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch018: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch020: gdb-6.7-testsuite-stable-results.patch +Patch019: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch021: gdb-6.5-ia64-libunwind-leak-test.patch +Patch020: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch022: gdb-6.5-missed-trap-on-step-test.patch +Patch021: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch023: gdb-6.5-gcore-buffer-limit-test.patch +Patch022: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch024: gdb-6.3-mapping-zero-inode-test.patch +Patch023: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch025: gdb-6.5-section-num-fixup-test.patch +Patch024: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch026: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch025: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch027: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch026: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch028: gdb-core-open-vdso-warning.patch +Patch027: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch029: gdb-ccache-workaround.patch +Patch028: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch030: gdb-lineno-makeup-test.patch +Patch029: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch031: gdb-ppc-power7-test.patch +Patch030: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch032: gdb-archer-next-over-throw-cxx-exec.patch +Patch031: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch033: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch032: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch034: gdb-test-bt-cfi-without-die.patch +Patch033: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch035: gdb-bz634108-solib_address.patch +Patch034: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch036: gdb-test-pid0-core.patch +Patch035: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch037: gdb-test-dw2-aranges.patch +Patch036: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch038: gdb-glibc-strstr-workaround.patch +Patch037: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch039: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch038: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch040: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch039: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch041: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch040: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch042: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch041: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch043: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch042: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch044: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch043: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch045: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch044: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch046: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch045: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch047: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch046: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch048: gdb-fedora-libncursesw.patch +Patch047: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch049: gdb-opcodes-clflushopt-test.patch +Patch048: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch050: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch049: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch051: gdb-container-rh-pkg.patch +Patch050: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch052: gdb-linux_perf-bundle.patch +Patch051: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -223,18 +219,18 @@ Patch052: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch053: gdb-libexec-add-index.patch +Patch052: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch054: gdb-rhbz1553104-s390x-arch12-test.patch +Patch053: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch055: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch054: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch056: gdb-rhbz2183595-rustc-inside_main.patch +Patch055: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) diff --git a/_patch_order b/_patch_order index 8630b24..cd98115 100644 --- a/_patch_order +++ b/_patch_order @@ -6,7 +6,6 @@ gdb-6.5-BEA-testsuite.patch gdb-6.5-last-address-space-byte-test.patch gdb-6.5-bz218379-ppc-solib-trampoline-test.patch gdb-6.5-bz109921-DW_AT_decl_file-test.patch -gdb-6.3-bz140532-ppc-unwinding-test.patch gdb-6.6-bz229517-gcore-without-terminal.patch gdb-6.6-testsuite-timeouts.patch gdb-6.6-bz237572-ppc-atomic-sequence-test.patch diff --git a/gdb-6.3-bz140532-ppc-unwinding-test.patch b/gdb-6.3-bz140532-ppc-unwinding-test.patch deleted file mode 100644 index 067f456..0000000 --- a/gdb-6.3-bz140532-ppc-unwinding-test.patch +++ /dev/null @@ -1,305 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.3-bz140532-ppc-unwinding-test.patch - -;; Update PPC unwinding patches to their upstream variants (BZ 140532). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.arch/powerpc-bcl-prologue-asm32.S b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue-asm32.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue-asm32.S -@@ -0,0 +1,78 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+ .section ".text" -+ .align 2 -+ .globl func0 -+ .type func0, @function -+func0: -+ stwu 1,-16(1) -+ mflr 0 -+ stw 31,12(1) -+ stw 0,20(1) -+ mr 31,1 -+ bl abort -+ .size func0, .-func0 -+ .align 2 -+ .globl func1 -+ .type func1, @function -+func1: -+ stwu 1,-16(1) -+ mflr 0 -+/* 20 = BO = branch always -+ 31 = BI = CR bit (ignored) */ -+ bcl 20,31,.Lpie -+.Lpie: stw 31,12(1) -+ stw 0,20(1) -+ mr 31,1 -+ bl func0 -+ mr 0,3 -+ lis 9,var@ha -+ lwz 9,var@l(9) -+ add 0,0,9 -+ mr 3,0 -+ lwz 11,0(1) -+ lwz 0,4(11) -+ mtlr 0 -+ lwz 31,-4(11) -+ mr 1,11 -+ blr -+ .size func1, .-func1 -+ .section .note.GNU-stack,"",@progbits -+ .ident "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-8)" -+ -+/* Original source file: -+ -+#include -+ -+extern volatile int var; -+ -+int func0 (void) __attribute__((__noinline__)); -+int func0 (void) -+{ -+ abort (); -+ return var; -+} -+ -+int func1 (void) __attribute__((__noinline__)); -+int func1 (void) -+{ -+ return func0 () + var; -+} -+ -+*/ -diff --git a/gdb/testsuite/gdb.arch/powerpc-bcl-prologue-asm64.S b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue-asm64.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue-asm64.S -@@ -0,0 +1,98 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+ .section ".toc","aw" -+ .section ".text" -+ .align 2 -+ .globl func0 -+ .section ".opd","aw" -+ .align 3 -+func0: -+ .quad .L.func0,.TOC.@tocbase -+ .previous -+ .type func0, @function -+.L.func0: -+ mflr 0 -+ std 31,-8(1) -+ std 0,16(1) -+ stdu 1,-128(1) -+ mr 31,1 -+ bl abort -+ nop -+ .long 0 -+ .byte 0,0,0,1,128,1,0,1 -+ .size func0,.-.L.func0 -+ .section ".toc","aw" -+.LC1: -+ .tc var[TC],var -+ .section ".text" -+ .align 2 -+ .globl func1 -+ .section ".opd","aw" -+ .align 3 -+func1: -+ .quad .L.func1,.TOC.@tocbase -+ .previous -+ .type func1, @function -+.L.func1: -+ mflr 0 -+/* 20 = BO = branch always -+ 31 = BI = CR bit (ignored) */ -+ bcl 20,31,.Lpie -+.Lpie: std 31,-8(1) -+ std 0,16(1) -+ stdu 1,-128(1) -+ mr 31,1 -+ bl func0 -+ mr 11,3 -+ ld 9,.LC1@toc(2) -+ lwz 0,0(9) -+ add 0,11,0 -+ extsw 0,0 -+ mr 3,0 -+ ld 1,0(1) -+ ld 0,16(1) -+ mtlr 0 -+ ld 31,-8(1) -+ blr -+ .long 0 -+ .byte 0,0,0,1,128,1,0,1 -+ .size func1,.-.L.func1 -+ .section .note.GNU-stack,"",@progbits -+ .ident "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-8)" -+ -+/* Original source file: -+ -+#include -+ -+extern volatile int var; -+ -+int func0 (void) __attribute__((__noinline__)); -+int func0 (void) -+{ -+ abort (); -+ return var; -+} -+ -+int func1 (void) __attribute__((__noinline__)); -+int func1 (void) -+{ -+ return func0 () + var; -+} -+ -+*/ -diff --git a/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.c b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.c -@@ -0,0 +1,29 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+/* Force `-fpie' double jump bl->blrl. */ -+/* No longer used. */ -+volatile int var; -+ -+extern int func1 (void); -+ -+int main (void) -+{ -+ func1 (); -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.exp b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.exp -@@ -0,0 +1,72 @@ -+# Copyright 2006, 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Test unwinding fixes of the PPC platform, specifically on the coping with BCL -+# jump of the PIE code. -+ -+if ![istarget "powerpc*-*-linux*"] then { -+ verbose "Skipping powerpc-linux prologue tests." -+ return -+} -+ -+set testfile "powerpc-bcl-prologue" -+set srcfile1 ${testfile}.c -+set flags "debug" -+if [istarget "powerpc-*"] then { -+ set srcfile2 ${testfile}-asm32.S -+ set flags "$flags additional_flags=-m32" -+} elseif [istarget "powerpc64-*"] then { -+ set srcfile2 ${testfile}-asm64.S -+ set flags "$flags additional_flags=-m64" -+} else { -+ fail "powerpc arch test" -+ return -+} -+set objfile2 [standard_output_file ${testfile}-asm.o] -+set binfile [standard_output_file ${testfile}] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2}" ${binfile} executable $flags] != ""} { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+# We should stop in abort(3). -+ -+gdb_run_cmd -+ -+gdb_test_multiple {} "continue to abort()" { -+ -re ".*Program received signal SIGABRT,.*$gdb_prompt $" { -+ pass "continue to abort()" -+ } -+} -+ -+# Check backtrace: -+# #3 0x0804835f in func0 () -+# #4 0x0804836a in func1 () -+# #5 0x0804838c in main () -+# (gdb) -+# `\\.?' prefixes are needed for ppc64 without `debug' (another bug). -+ -+set test "matching unwind" -+gdb_test_multiple "backtrace" $test { -+ -re "\r\n#\[0-9\]\[^\r\n\]* in \\.?func0 \\(\[^\r\n\]*\r\n#\[0-9\]\[^\r\n\]* in \\.?func1 \\(\[^\r\n\]*\r\n#\[0-9\]\[^\r\n\]* in \\.?main \\(\[^\r\n\]*\r\n$gdb_prompt $" { -+ pass $test -+ } -+} diff --git a/gdb.spec b/gdb.spec index cef8cbf..d44d55a 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,11 @@ fi %endif %changelog +* Thu Apr 13 2023 Alexandra Hájková +- Remove gdb-6.3-bz140532-ppc-unwinding-test.patch, it adds + powerpc-bcl-prologue.exp test which seems to be a subset of + upstream powerpc-prologue.exp + * Tue Apr 11 2023 Keith Seitz - Backport "Fix a potential illegal memory access in the BFD library..." (Nick Clifton, binutils/29988) From d18c2a5bd9b894b58ed45ffc8c31fabff2c2b2f1 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Mon, 24 Apr 2023 15:48:54 +0200 Subject: [PATCH 46/84] Remove gdb-6.5-last-address-space-byte-test.patch This patch exercised an edge case for 32-bit systems in target_xfer_memory, a function that has been removed in 2006. The test that patch added has been irrelevant for some time. --- _gdb.spec.Patch.include | 104 ++++++++++----------- _gdb.spec.patch.include | 2 - _patch_order | 1 - gdb-6.5-last-address-space-byte-test.patch | 62 ------------ gdb.spec | 5 + 5 files changed, 55 insertions(+), 119 deletions(-) delete mode 100644 gdb-6.5-last-address-space-byte-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 5a3eb2c..6e0c915 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -19,198 +19,194 @@ Patch004: gdb-6.5-sharedlibrary-path.patch #=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful. Patch005: gdb-6.5-BEA-testsuite.patch -# Testcase for deadlocking on last address space byte; for corrupted backtraces. -#=fedoratest -Patch006: gdb-6.5-last-address-space-byte-test.patch - # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch007: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch006: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Find symbols properly at their original (included) file (BZ 109921). #=fedoratest -Patch008: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch007: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch009: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch008: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch010: gdb-6.6-testsuite-timeouts.patch +Patch009: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch011: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch010: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch012: gdb-6.3-attach-see-vdso-test.patch +Patch011: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch013: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch012: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch014: gdb-6.6-buildid-locate.patch +Patch013: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch015: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch014: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch016: gdb-6.6-buildid-locate-rpm.patch +Patch015: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch017: gdb-6.7-charsign-test.patch +Patch016: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch018: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch017: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch019: gdb-6.7-testsuite-stable-results.patch +Patch018: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch020: gdb-6.5-ia64-libunwind-leak-test.patch +Patch019: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch021: gdb-6.5-missed-trap-on-step-test.patch +Patch020: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch022: gdb-6.5-gcore-buffer-limit-test.patch +Patch021: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch023: gdb-6.3-mapping-zero-inode-test.patch +Patch022: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch024: gdb-6.5-section-num-fixup-test.patch +Patch023: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch025: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch024: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch026: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch025: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch027: gdb-core-open-vdso-warning.patch +Patch026: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch028: gdb-ccache-workaround.patch +Patch027: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch029: gdb-lineno-makeup-test.patch +Patch028: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch030: gdb-ppc-power7-test.patch +Patch029: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch031: gdb-archer-next-over-throw-cxx-exec.patch +Patch030: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch032: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch031: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch033: gdb-test-bt-cfi-without-die.patch +Patch032: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch034: gdb-bz634108-solib_address.patch +Patch033: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch035: gdb-test-pid0-core.patch +Patch034: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch036: gdb-test-dw2-aranges.patch +Patch035: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch037: gdb-glibc-strstr-workaround.patch +Patch036: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch038: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch037: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch039: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch038: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch040: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch039: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch041: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch040: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch042: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch041: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch043: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch042: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch044: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch043: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch045: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch044: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch046: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch045: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch047: gdb-fedora-libncursesw.patch +Patch046: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch048: gdb-opcodes-clflushopt-test.patch +Patch047: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch049: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch048: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch050: gdb-container-rh-pkg.patch +Patch049: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch051: gdb-linux_perf-bundle.patch +Patch050: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -219,20 +215,20 @@ Patch051: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch052: gdb-libexec-add-index.patch +Patch051: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch053: gdb-rhbz1553104-s390x-arch12-test.patch +Patch052: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch054: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch053: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch055: gdb-rhbz2183595-rustc-inside_main.patch +Patch054: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch057: gdb-binutils29988-read_indexed_address.patch +Patch055: gdb-binutils29988-read_indexed_address.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index c13c1cc..b72c412 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -53,5 +53,3 @@ %patch -p1 -P053 %patch -p1 -P054 %patch -p1 -P055 -%patch -p1 -P056 -%patch -p1 -P057 diff --git a/_patch_order b/_patch_order index cd98115..222c6fa 100644 --- a/_patch_order +++ b/_patch_order @@ -3,7 +3,6 @@ gdb-6.3-gstack-20050411.patch gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch gdb-6.5-sharedlibrary-path.patch gdb-6.5-BEA-testsuite.patch -gdb-6.5-last-address-space-byte-test.patch gdb-6.5-bz218379-ppc-solib-trampoline-test.patch gdb-6.5-bz109921-DW_AT_decl_file-test.patch gdb-6.6-bz229517-gcore-without-terminal.patch diff --git a/gdb-6.5-last-address-space-byte-test.patch b/gdb-6.5-last-address-space-byte-test.patch deleted file mode 100644 index e99d811..0000000 --- a/gdb-6.5-last-address-space-byte-test.patch +++ /dev/null @@ -1,62 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.5-last-address-space-byte-test.patch - -;; Testcase for deadlocking on last address space byte; for corrupted backtraces. -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.base/largecore-last-address-lock.exp b/gdb/testsuite/gdb.base/largecore-last-address-lock.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/largecore-last-address-lock.exp -@@ -0,0 +1,49 @@ -+# Copyright 2006 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+if $tracelevel then { -+ strace $tracelevel -+} -+ -+# Get things started. -+ -+gdb_exit -+gdb_start -+ -+# i386 (32-bit) only: gdb with Red Hat largecore patch did lock up: -+# https://enterprise.redhat.com/issue-tracker/?module=issues&action=view&tid=103263 -+# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=210614 -+ -+# i386: Bug exists when the `target_xfer_memory' condition -+# `(memaddr + len < region->hi)' operates on 64-bit operands on -+# largecore-patched with 32-bit addresses and so it can get `false' with -+# arbitrary `len'. -+ -+# x86_64: The bug is not present as the operands and calculations have the same -+# bit size. Would would still need to pass there the highest address -+# (`memaddr == 0xffffffffffffffff') but we would need to pass `len == 0' -+# to make the condition `(memaddr + len < region->hi)' false. -+# `len == 0' would get caught eariler. -+ -+# Error in the success case is immediate. -+set timeoutold ${timeout} -+set timeout 10 -+ -+gdb_test "x/xb 0xffffffff" \ -+ "Cannot access memory at address 0xffffffff" \ -+ "Read the last address space byte" -+ -+set timeout ${timeoutold} diff --git a/gdb.spec b/gdb.spec index d44d55a..eb3b904 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,11 @@ fi %endif %changelog +* Mon Apr 24 2023 Bruno Larsen +- Remove gdb-6.5-last-address-space-byte-test.patch. It was used to + test for a regression in target_xfer_memory, a function that has + been removed from upstream back in 2006. + * Thu Apr 13 2023 Alexandra Hájková - Remove gdb-6.3-bz140532-ppc-unwinding-test.patch, it adds powerpc-bcl-prologue.exp test which seems to be a subset of From 231ea6585af3592e0424fca070e514333c00b813 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Tue, 25 Apr 2023 14:14:49 +0200 Subject: [PATCH 47/84] Remove gdb-6.5-bz109921-DW_AT_decl_file-test.patch This patch only had a test for basic DWARF-2 support, and the test was already covered by other tests, such as gdb.linespec/linespec.exp --- _gdb.spec.Patch.include | 100 +++++++-------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.5-bz109921-DW_AT_decl_file-test.patch | 134 -------------------- gdb.spec | 6 + 5 files changed, 54 insertions(+), 188 deletions(-) delete mode 100644 gdb-6.5-bz109921-DW_AT_decl_file-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 6e0c915..e6595c8 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -23,190 +23,186 @@ Patch005: gdb-6.5-BEA-testsuite.patch #=fedoratest Patch006: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch -# Find symbols properly at their original (included) file (BZ 109921). -#=fedoratest -Patch007: gdb-6.5-bz109921-DW_AT_decl_file-test.patch - # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch008: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch007: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch009: gdb-6.6-testsuite-timeouts.patch +Patch008: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch010: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch009: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch011: gdb-6.3-attach-see-vdso-test.patch +Patch010: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch012: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch011: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch013: gdb-6.6-buildid-locate.patch +Patch012: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch014: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch013: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch015: gdb-6.6-buildid-locate-rpm.patch +Patch014: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). #=fedoratest: But it is failing anyway, one should check the behavior more. -Patch016: gdb-6.7-charsign-test.patch +Patch015: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch017: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch016: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch018: gdb-6.7-testsuite-stable-results.patch +Patch017: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch019: gdb-6.5-ia64-libunwind-leak-test.patch +Patch018: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch020: gdb-6.5-missed-trap-on-step-test.patch +Patch019: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch021: gdb-6.5-gcore-buffer-limit-test.patch +Patch020: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch022: gdb-6.3-mapping-zero-inode-test.patch +Patch021: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch023: gdb-6.5-section-num-fixup-test.patch +Patch022: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch024: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch023: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch025: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch024: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch026: gdb-core-open-vdso-warning.patch +Patch025: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch027: gdb-ccache-workaround.patch +Patch026: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch028: gdb-lineno-makeup-test.patch +Patch027: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch029: gdb-ppc-power7-test.patch +Patch028: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch030: gdb-archer-next-over-throw-cxx-exec.patch +Patch029: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch031: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch030: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch032: gdb-test-bt-cfi-without-die.patch +Patch031: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch033: gdb-bz634108-solib_address.patch +Patch032: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch034: gdb-test-pid0-core.patch +Patch033: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch035: gdb-test-dw2-aranges.patch +Patch034: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch036: gdb-glibc-strstr-workaround.patch +Patch035: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch037: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch036: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch038: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch037: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch039: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch038: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch040: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch039: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch041: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch040: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch042: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch041: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch043: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch042: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch044: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch043: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch045: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch044: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch046: gdb-fedora-libncursesw.patch +Patch045: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch047: gdb-opcodes-clflushopt-test.patch +Patch046: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch048: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch047: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch049: gdb-container-rh-pkg.patch +Patch048: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch050: gdb-linux_perf-bundle.patch +Patch049: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -215,20 +211,20 @@ Patch050: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch051: gdb-libexec-add-index.patch +Patch050: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch052: gdb-rhbz1553104-s390x-arch12-test.patch +Patch051: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch053: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch052: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch054: gdb-rhbz2183595-rustc-inside_main.patch +Patch053: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch055: gdb-binutils29988-read_indexed_address.patch +Patch054: gdb-binutils29988-read_indexed_address.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index b72c412..c9558ed 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -52,4 +52,3 @@ %patch -p1 -P052 %patch -p1 -P053 %patch -p1 -P054 -%patch -p1 -P055 diff --git a/_patch_order b/_patch_order index 222c6fa..779e82a 100644 --- a/_patch_order +++ b/_patch_order @@ -4,7 +4,6 @@ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch gdb-6.5-sharedlibrary-path.patch gdb-6.5-BEA-testsuite.patch gdb-6.5-bz218379-ppc-solib-trampoline-test.patch -gdb-6.5-bz109921-DW_AT_decl_file-test.patch gdb-6.6-bz229517-gcore-without-terminal.patch gdb-6.6-testsuite-timeouts.patch gdb-6.6-bz237572-ppc-atomic-sequence-test.patch diff --git a/gdb-6.5-bz109921-DW_AT_decl_file-test.patch b/gdb-6.5-bz109921-DW_AT_decl_file-test.patch deleted file mode 100644 index 8d03e3f..0000000 --- a/gdb-6.5-bz109921-DW_AT_decl_file-test.patch +++ /dev/null @@ -1,134 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.5-bz109921-DW_AT_decl_file-test.patch - -;; Find symbols properly at their original (included) file (BZ 109921). -;;=fedoratest - -https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=109921 - -It is duplicite to its upstream variant: -http://sourceware.org/ml/gdb-cvs/2007-01/msg00157.html -http://sourceware.org/ml/gdb-patches/2007-01/msg00434.html -2007-01-21 Jan Kratochvil - Daniel Jacobowitz - - * gdb.base/included.c, gdb.base/included.exp, - gdb.base/included.h: New files. - ------------------------------------------------------------------------------- - -2007-01-09 Jan Kratochvil - - * gdb.dwarf2/dw2-included.exp, gdb.dwarf2/dw2-included.c, - gdb.dwarf2/dw2-included.h: New files. - -diff --git a/gdb/testsuite/gdb.dwarf2/dw2-included.c b/gdb/testsuite/gdb.dwarf2/dw2-included.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-included.c -@@ -0,0 +1,26 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2006 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+ USA. */ -+ -+#include "dw2-included.h" -+ -+int -+main() -+{ -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.dwarf2/dw2-included.exp b/gdb/testsuite/gdb.dwarf2/dw2-included.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-included.exp -@@ -0,0 +1,47 @@ -+# Copyright 2006 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Minimal DWARF-2 unit test -+ -+# This test can only be run on targets which support DWARF-2. -+# For now pick a sampling of likely targets. -+if {![istarget *-*-linux*] -+ && ![istarget *-*-gnu*] -+ && ![istarget *-*-elf*] -+ && ![istarget *-*-openbsd*] -+ && ![istarget arm-*-eabi*] -+ && ![istarget powerpc-*-eabi*]} { -+ return 0 -+} -+ -+set testfile "dw2-included" -+set srcfile ${testfile}.c -+set binfile [standard_output_file ${testfile}] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+gdb_test "set listsize 1" "" -+gdb_test "list integer" "int integer;\r" -+gdb_test "ptype integer" "type = int\r" -+# Path varies depending on the build location. -+gdb_test "info variables integer" "\r\nFile \[^\r\n\]*/gdb.dwarf2/dw2-included.h:\r\n${decimal}:.*int integer;\r" -diff --git a/gdb/testsuite/gdb.dwarf2/dw2-included.h b/gdb/testsuite/gdb.dwarf2/dw2-included.h -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-included.h -@@ -0,0 +1,20 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2006 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+ USA. */ -+ -+int integer; diff --git a/gdb.spec b/gdb.spec index eb3b904..26cb424 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,12 @@ fi %endif %changelog +* Tue Apr 25 2023 Bruno Larsen +- Remove gdb-6.5-bz109921-DW_AT_decl_file-test.patch. That patch was + only a test for basic DWARF-2 support, ensuring that GDB found a + variable in a .h file; tests such as gdb.linespec/linespec.exp already + tests for it. + * Mon Apr 24 2023 Bruno Larsen - Remove gdb-6.5-last-address-space-byte-test.patch. It was used to test for a regression in target_xfer_memory, a function that has From b1e9fbcc291b909c5b97c51d2a56cadb3db27806 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Sat, 29 Apr 2023 19:34:05 -0700 Subject: [PATCH 48/84] Remove gdb-6.7-charsign-test.patch This patch originally contained some changes to GDB which were rejected by upstream maintainers. All that remained was a testcase which had a number of failures due to the rest of the work not being present in GDB. --- _gdb.spec.Patch.include | 82 +++++++++++------------ _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.7-charsign-test.patch | 130 ------------------------------------ gdb.spec | 6 ++ 5 files changed, 45 insertions(+), 175 deletions(-) delete mode 100644 gdb-6.7-charsign-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index e6595c8..a94ccdd 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -56,153 +56,149 @@ Patch013: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan Patch014: gdb-6.6-buildid-locate-rpm.patch -# Fix displaying of numeric char arrays as strings (BZ 224128). -#=fedoratest: But it is failing anyway, one should check the behavior more. -Patch015: gdb-6.7-charsign-test.patch - # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch016: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch015: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. #=fedoratest -Patch017: gdb-6.7-testsuite-stable-results.patch +Patch016: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch018: gdb-6.5-ia64-libunwind-leak-test.patch +Patch017: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch019: gdb-6.5-missed-trap-on-step-test.patch +Patch018: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch020: gdb-6.5-gcore-buffer-limit-test.patch +Patch019: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch021: gdb-6.3-mapping-zero-inode-test.patch +Patch020: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch022: gdb-6.5-section-num-fixup-test.patch +Patch021: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch023: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch022: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch024: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch023: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch025: gdb-core-open-vdso-warning.patch +Patch024: gdb-core-open-vdso-warning.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch026: gdb-ccache-workaround.patch +Patch025: gdb-ccache-workaround.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch027: gdb-lineno-makeup-test.patch +Patch026: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch028: gdb-ppc-power7-test.patch +Patch027: gdb-ppc-power7-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch029: gdb-archer-next-over-throw-cxx-exec.patch +Patch028: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch030: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch029: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch031: gdb-test-bt-cfi-without-die.patch +Patch030: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch032: gdb-bz634108-solib_address.patch +Patch031: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch033: gdb-test-pid0-core.patch +Patch032: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch034: gdb-test-dw2-aranges.patch +Patch033: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch035: gdb-glibc-strstr-workaround.patch +Patch034: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch036: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch035: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch037: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch036: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch038: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch037: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch039: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch038: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch040: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch039: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch041: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch040: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch042: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch041: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch043: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch042: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch044: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch043: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch045: gdb-fedora-libncursesw.patch +Patch044: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch046: gdb-opcodes-clflushopt-test.patch +Patch045: gdb-opcodes-clflushopt-test.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch047: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch046: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch048: gdb-container-rh-pkg.patch +Patch047: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch049: gdb-linux_perf-bundle.patch +Patch048: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -211,20 +207,20 @@ Patch049: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch050: gdb-libexec-add-index.patch +Patch049: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch051: gdb-rhbz1553104-s390x-arch12-test.patch +Patch050: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch052: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch051: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch053: gdb-rhbz2183595-rustc-inside_main.patch +Patch052: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch054: gdb-binutils29988-read_indexed_address.patch +Patch053: gdb-binutils29988-read_indexed_address.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index c9558ed..8ec13e9 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -51,4 +51,3 @@ %patch -p1 -P051 %patch -p1 -P052 %patch -p1 -P053 -%patch -p1 -P054 diff --git a/_patch_order b/_patch_order index 779e82a..ee1598a 100644 --- a/_patch_order +++ b/_patch_order @@ -12,7 +12,6 @@ gdb-6.5-bz243845-stale-testing-zombie-test.patch gdb-6.6-buildid-locate.patch gdb-6.6-buildid-locate-solib-missing-ids.patch gdb-6.6-buildid-locate-rpm.patch -gdb-6.7-charsign-test.patch gdb-6.7-ppc-clobbered-registers-O2-test.patch gdb-6.7-testsuite-stable-results.patch gdb-6.5-ia64-libunwind-leak-test.patch diff --git a/gdb-6.7-charsign-test.patch b/gdb-6.7-charsign-test.patch deleted file mode 100644 index 1a66390..0000000 --- a/gdb-6.7-charsign-test.patch +++ /dev/null @@ -1,130 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.7-charsign-test.patch - -;; Fix displaying of numeric char arrays as strings (BZ 224128). -;;=fedoratest: But it is failing anyway, one should check the behavior more. - -https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=224128 - -2007-01-25 Jan Kratochvil - - * gdb.base/charsign.exp, gdb.base/charsign.c: New files. - [ stripped ] - -2007-10-19 Jan Kratochvil - - Port to GDB-6.7 - only the testcase left, patch has been reverted, - char-vectors restricted. - -diff --git a/gdb/testsuite/gdb.base/charsign.c b/gdb/testsuite/gdb.base/charsign.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/charsign.c -@@ -0,0 +1,37 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@prep.ai.mit.edu */ -+ -+int main() -+{ -+ return 0; -+} -+ -+char n[]="A"; -+signed char s[]="A"; -+unsigned char u[]="A"; -+ -+typedef char char_n; -+typedef signed char char_s; -+typedef unsigned char char_u; -+ -+char_n n_typed[]="A"; -+char_s s_typed[]="A"; -+char_u u_typed[]="A"; -diff --git a/gdb/testsuite/gdb.base/charsign.exp b/gdb/testsuite/gdb.base/charsign.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/charsign.exp -@@ -0,0 +1,63 @@ -+# Copyright 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+set testfile charsign -+set srcfile ${testfile}.c -+set binfile [standard_output_file ${testfile}] -+ -+proc do_test { cflags } { -+ global srcdir -+ global binfile -+ global subdir -+ global srcfile -+ global gdb_prompt -+ -+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug additional_flags=$cflags]] != "" } { -+ untested "Couldn't compile test program" -+ return -1 -+ } -+ -+ # Get things started. -+ -+ gdb_exit -+ gdb_start -+ gdb_reinitialize_dir $srcdir/$subdir -+ gdb_load ${binfile} -+ -+ # For C programs, "start" should stop in main(). -+ -+ gdb_test "p n" \ -+ "= \"A\"" -+ gdb_test "p s" \ -+ "= \\{65 'A', 0 '\\\\0'\\}" -+ gdb_test "p u" \ -+ "= \\{65 'A', 0 '\\\\0'\\}" -+ gdb_test "p n_typed" \ -+ "= \"A\"" -+ gdb_test "p s_typed" \ -+ "= \\{65 'A', 0 '\\\\0'\\}" -+ gdb_test "p u_typed" \ -+ "= \\{65 'A', 0 '\\\\0'\\}" -+} -+ -+# The string identification works despite the compiler flags below due to -+# gdbtypes.c: -+# if (name && strcmp (name, "char") == 0) -+# TYPE_FLAGS (type) |= TYPE_FLAG_NOSIGN; -+ -+do_test {} -+do_test {-fsigned-char} -+do_test {-funsigned-char} diff --git a/gdb.spec b/gdb.spec index 26cb424..37fd746 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,12 @@ fi %endif %changelog +* Sat Apr 29 2023 Kevin Buettner +- Remove gdb-6.7-charsign-test.patch. This patch originally contained + some changes to GDB which were rejected by upstream maintainers. All + that remained was a testcase which had a number of failures due to + the rest of the work not being present in GDB. + * Tue Apr 25 2023 Bruno Larsen - Remove gdb-6.5-bz109921-DW_AT_decl_file-test.patch. That patch was only a test for basic DWARF-2 support, ensuring that GDB found a From 7cd90204c94892da53929696177323f608b5c434 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 2 May 2023 19:11:36 +0100 Subject: [PATCH 49/84] Remove gdb-opcodes-clflushopt-test.patch Remove gdb-opcodes-clflushopt-test.patch. This patch tests that GDB can disassemble the clflushopt instruction correctly. Such disassembly is a feature of libopcode and is covered by the gas tests i386/x86-64-clflushopt.s and i386/clflushopt.s. Lets remove this test from GDB and just rely on the gas tests instead. --- _gdb.spec.Patch.include | 20 ++++------ _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-opcodes-clflushopt-test.patch | 62 ------------------------------- gdb.spec | 7 ++++ 5 files changed, 15 insertions(+), 76 deletions(-) delete mode 100644 gdb-opcodes-clflushopt-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index a94ccdd..7376b4e 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -184,21 +184,17 @@ Patch043: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch #=push+jan Patch044: gdb-fedora-libncursesw.patch -# Test clflushopt instruction decode (for RH BZ 1262471). -#=fedoratest -Patch045: gdb-opcodes-clflushopt-test.patch - # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch046: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch045: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch047: gdb-container-rh-pkg.patch +Patch046: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch048: gdb-linux_perf-bundle.patch +Patch047: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -207,20 +203,20 @@ Patch048: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch049: gdb-libexec-add-index.patch +Patch048: gdb-libexec-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch050: gdb-rhbz1553104-s390x-arch12-test.patch +Patch049: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch051: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch050: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch052: gdb-rhbz2183595-rustc-inside_main.patch +Patch051: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch053: gdb-binutils29988-read_indexed_address.patch +Patch052: gdb-binutils29988-read_indexed_address.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8ec13e9..d954063 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -50,4 +50,3 @@ %patch -p1 -P050 %patch -p1 -P051 %patch -p1 -P052 -%patch -p1 -P053 diff --git a/_patch_order b/_patch_order index ee1598a..915ec2e 100644 --- a/_patch_order +++ b/_patch_order @@ -42,7 +42,6 @@ gdb-rhbz1149205-catch-syscall-after-fork-test.patch gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch gdb-fedora-libncursesw.patch -gdb-opcodes-clflushopt-test.patch gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch diff --git a/gdb-opcodes-clflushopt-test.patch b/gdb-opcodes-clflushopt-test.patch deleted file mode 100644 index f95999e..0000000 --- a/gdb-opcodes-clflushopt-test.patch +++ /dev/null @@ -1,62 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-opcodes-clflushopt-test.patch - -;; Test clflushopt instruction decode (for RH BZ 1262471). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.arch/amd64-clflushopt.S b/gdb/testsuite/gdb.arch/amd64-clflushopt.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-clflushopt.S -@@ -0,0 +1,19 @@ -+/* Copyright 2016 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ -+ This file is part of the gdb testsuite. */ -+ -+_start: .globl _start -+ clflushopt (%edi) -diff --git a/gdb/testsuite/gdb.arch/amd64-clflushopt.exp b/gdb/testsuite/gdb.arch/amd64-clflushopt.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/amd64-clflushopt.exp -@@ -0,0 +1,25 @@ -+# Copyright 2016 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+if { ![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"] } then { -+ verbose "Skipping amd64 clflushopt test." -+ return -+} -+ -+if [prepare_for_testing amd64-clflushopt.exp amd64-clflushopt amd64-clflushopt.S [list debug "additional_flags=-nostdlib"]] { -+ return -1 -+} -+ -+gdb_test "disas _start" "Dump of assembler code for function _start:\r\n *0x\[0-9a-f\]+ <\[+\]0>:\tclflushopt \\(%edi\\)\r\nEnd of assembler dump\\." "clflushopt" diff --git a/gdb.spec b/gdb.spec index 37fd746..75edff2 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,13 @@ fi %endif %changelog +* Tue May 2 2023 Andrew Burgess +- Remove gdb-opcodes-clflushopt-test.patch. This patch tests that GDB + can disassemble the clflushopt instruction correctly. Such + disassembly is a feature of libopcode and is covered by the gas + tests i386/x86-64-clflushopt.s and i386/clflushopt.s. Lets remove + this test from GDB and just rely on the gas tests instead. + * Sat Apr 29 2023 Kevin Buettner - Remove gdb-6.7-charsign-test.patch. This patch originally contained some changes to GDB which were rejected by upstream maintainers. All From f68e769d7075f05e702288ffebd89a2ce5c50b1b Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Wed, 3 May 2023 13:32:42 -0700 Subject: [PATCH 50/84] Backport upstream fix for RHBZ 2192105 Specifically, "Pass const frame_info_ptr reference for skip_[language_]trampoline". (Mark Wielaard, RHBZ 2192105, build/30413) --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-rhbz2192105-ftbs-dangling-pointer | 107 ++++++++++++++++++++++++++ gdb.spec | 6 +- 5 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 7376b4e..46a73bf 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -220,3 +220,7 @@ Patch051: gdb-rhbz2183595-rustc-inside_main.patch # (Nick Clifton, binutils/29988) Patch052: gdb-binutils29988-read_indexed_address.patch +# Backport upstream patch fixing a "dangling pointer" build problem +# first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). +Patch053: gdb-rhbz2192105-ftbs-dangling-pointer + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index d954063..8ec13e9 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -50,3 +50,4 @@ %patch -p1 -P050 %patch -p1 -P051 %patch -p1 -P052 +%patch -p1 -P053 diff --git a/_patch_order b/_patch_order index 915ec2e..fb645b7 100644 --- a/_patch_order +++ b/_patch_order @@ -50,3 +50,4 @@ gdb-rhbz1553104-s390x-arch12-test.patch gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch gdb-rhbz2183595-rustc-inside_main.patch gdb-binutils29988-read_indexed_address.patch +gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/gdb-rhbz2192105-ftbs-dangling-pointer b/gdb-rhbz2192105-ftbs-dangling-pointer new file mode 100644 index 0000000..26ced86 --- /dev/null +++ b/gdb-rhbz2192105-ftbs-dangling-pointer @@ -0,0 +1,107 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Wed, 3 May 2023 11:28:24 -0700 +Subject: gdb-rhbz2192105-ftbs-dangling-pointer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +;; Backport upstream patch fixing a "dangling pointer" build problem +;; first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). + +Pass const frame_info_ptr reference for skip_[language_]trampoline + +g++ 13.1.1 produces a -Werror=dangling-pointer= + +In file included from ../../binutils-gdb/gdb/frame.h:75, + from ../../binutils-gdb/gdb/symtab.h:40, + from ../../binutils-gdb/gdb/language.c:33: +In member function ‘void intrusive_list::push_empty(T&) [with T = frame_info_ptr; AsNode = intrusive_base_node]’, + inlined from ‘void intrusive_list::push_back(reference) [with T = frame_info_ptr; AsNode = intrusive_base_node]’ at gdbsupport/intrusive_list.h:332:24, + inlined from ‘frame_info_ptr::frame_info_ptr(const frame_info_ptr&)’ at gdb/frame.h:241:26, + inlined from ‘CORE_ADDR skip_language_trampoline(frame_info_ptr, CORE_ADDR)’ at gdb/language.c:530:49: +gdbsupport/intrusive_list.h:415:12: error: storing the address of local variable ‘’ in ‘frame_info_ptr::frame_list.intrusive_list::m_back’ [-Werror=dangling-pointer=] + 415 | m_back = &elem; + | ~~~~~~~^~~~~~~ +gdb/language.c: In function ‘CORE_ADDR skip_language_trampoline(frame_info_ptr, CORE_ADDR)’: +gdb/language.c:530:49: note: ‘’ declared here + 530 | CORE_ADDR real_pc = lang->skip_trampoline (frame, pc); + | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ +gdb/frame.h:359:41: note: ‘frame_info_ptr::frame_list’ declared here + 359 | static intrusive_list frame_list; + | ^~~~~~~~~~ + +Each new frame_info_ptr is being pushed on a static frame list and g++ +cannot see why that is safe in case the frame_info_ptr is created and +destroyed immediately when passed as value. + +It isn't clear why only in this one place g++ sees the issue (probably +because it can inline enough code in this specific case). + +Since passing the frame_info_ptr as const reference is cheaper, use +that as workaround for this warning. + +PR build/30413 +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30413 + +Tested-by: Kevin Buettner +Reviewed-by: Kevin Buettner +Reviewed-by: Tom Tromey + +diff --git a/gdb/c-lang.c b/gdb/c-lang.c +--- a/gdb/c-lang.c ++++ b/gdb/c-lang.c +@@ -1003,7 +1003,7 @@ class cplus_language : public language_defn + + /* See language.h. */ + +- CORE_ADDR skip_trampoline (frame_info_ptr fi, ++ CORE_ADDR skip_trampoline (const frame_info_ptr &fi, + CORE_ADDR pc) const override + { + return cplus_skip_trampoline (fi, pc); +diff --git a/gdb/language.c b/gdb/language.c +--- a/gdb/language.c ++++ b/gdb/language.c +@@ -528,7 +528,7 @@ add_set_language_command () + Return the result from the first that returns non-zero, or 0 if all + `fail'. */ + CORE_ADDR +-skip_language_trampoline (frame_info_ptr frame, CORE_ADDR pc) ++skip_language_trampoline (const frame_info_ptr &frame, CORE_ADDR pc) + { + for (const auto &lang : language_defn::languages) + { +diff --git a/gdb/language.h b/gdb/language.h +--- a/gdb/language.h ++++ b/gdb/language.h +@@ -471,7 +471,7 @@ struct language_defn + If that PC falls in a trampoline belonging to this language, return + the address of the first pc in the real function, or 0 if it isn't a + language tramp for this language. */ +- virtual CORE_ADDR skip_trampoline (frame_info_ptr fi, CORE_ADDR pc) const ++ virtual CORE_ADDR skip_trampoline (const frame_info_ptr &fi, CORE_ADDR pc) const + { + return (CORE_ADDR) 0; + } +@@ -789,7 +789,7 @@ extern const char *language_str (enum language); + + /* Check for a language-specific trampoline. */ + +-extern CORE_ADDR skip_language_trampoline (frame_info_ptr, CORE_ADDR pc); ++extern CORE_ADDR skip_language_trampoline (const frame_info_ptr &, CORE_ADDR pc); + + /* Return demangled language symbol, or NULL. */ + extern gdb::unique_xmalloc_ptr language_demangle +diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c +--- a/gdb/objc-lang.c ++++ b/gdb/objc-lang.c +@@ -282,7 +282,7 @@ class objc_language : public language_defn + + /* See language.h. */ + +- CORE_ADDR skip_trampoline (frame_info_ptr frame, ++ CORE_ADDR skip_trampoline (const frame_info_ptr &frame, + CORE_ADDR stop_pc) const override + { + struct gdbarch *gdbarch = get_frame_arch (frame); diff --git a/gdb.spec b/gdb.spec index 75edff2..458e3e4 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1249,6 +1249,10 @@ fi %endif %changelog +* Wed May 3 2023 Kevin Buettner 13.1-5 +- Backport "Pass const frame_info_ptr reference for + skip_[language_]trampoline". (Mark Wielaard, RHBZ 2192105, build/30413) + * Tue May 2 2023 Andrew Burgess - Remove gdb-opcodes-clflushopt-test.patch. This patch tests that GDB can disassemble the clflushopt instruction correctly. Such From e19c0f8fb786f149f224f49de41cf02c117e5f93 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Thu, 4 May 2023 14:48:16 +0100 Subject: [PATCH 51/84] Rewrite (and rename) gdb-libexec-add-index.patch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been observed that the changes added by gdb-libexec-add-index.patch will result in GDB testing hanging when the tests are being run using an in-tree GDB; that is when using 'make check'. One test that is known to fail is gdb.base/with-mf.exp, though any test that calls the gdb-add-index.sh script will also hang. The problem is that when the gdb-add-index.sh script is run, the GDB testsuite passes the GDB command to use within the GDB environment variable. For in-tree testing this will be something like: GDB="/path/to/gdb -data-directory /path/to/data-directory" Notice that the environment variable contains both an executable and an argument. Our changes to gdb-add-index.sh add this: GDB2=/usr/libexec/gdb if test -x $GDB2 && ! which $GDB &>/dev/null; then GDB=$GDB2 fi The problem then is that '-data-directory' is treated as a set of options to 'which'. Many of these options are not known to 'which', but the '-i' option is known. The documentation of '-i' says: --read-alias, -i Read aliases from stdin, reporting matching ones on stdout. This is useful in combination with using an alias for which itself. For example alias which=´alias | which -i´. And here's the problem; this option causes 'which' to read from stdin. As the GDB testsuite doesn't send any additional input on stdin then the which command will never complete, and the test will hang. The solution I think is to avoid calling 'which' like this on a user supplied GDB environment variable. The changes in the gdb-libexec-add-index.patch were really about what the _default_ GDB executable should be. The upstream version of this script does this: GDB=${GDB:=gdb} That is, the default is just 'gdb'. However, for RH this is not good enough. We want to handle two additional cases, first, when only the gdb-minimal package is installed, in which case the default should be /usr/bin/gdb.minimal. Then we also want to handle the case where the user doesn't have 'gdb' itself in their $PATH, but does have the 'gdb' executable installed in /usr/libexec/gdb. The code as it currently stands also has a problem where, if gdb.minimal is installed on the machine this will _always_ be used in preference to the user supplied GDB value (assuming the code worked at all) this means that when doing in-tree testing we wouldn't actually be using the in-tree GDB to build the index, which isn't ideal. So in this commit I propose that we rework our gdb-add-index.sh changes. Now, we only use the RH special values in the case that there is no GDB environment variable set. I believe this handles all the required use cases: 1. When doing in-tree testing GDB environment variable will be set, and this will always be used as is, with no special processing, 2. When gdb-add-index.sh is used and GDB environment variable is not set then we will use the first of the following as the default: (a) /usr/bin/gdb.minimal if this file exists and is executable, (b) The first gdb executable that can be found in the $PATH, (c) /usr/libexec/gdb if this file exists and is executable. While I was changing this patch anyway I've removed the libexec part of the patch name -- this no longer seemed relevant, I suspect this related to an older version of this patch. --- _gdb.spec.Patch.include | 13 +++++-- _patch_order | 2 +- gdb-add-index.patch | 77 +++++++++++++++++++++++++++++++++++++ gdb-libexec-add-index.patch | 37 ------------------ gdb.spec | 5 +++ 5 files changed, 92 insertions(+), 42 deletions(-) create mode 100644 gdb-add-index.patch delete mode 100644 gdb-libexec-add-index.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 46a73bf..2017068 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -196,14 +196,19 @@ Patch046: gdb-container-rh-pkg.patch #=fedora Patch047: gdb-linux_perf-bundle.patch -# Fix gdb-headless /usr/bin/ executables (BZ 1390251). +# Update gdb-add-index.sh such that, when the GDB environment +# variable is not set, the script is smarter than just looking for +# 'gdb' in the $PATH. # -# Also, make /usr/bin/gdb.minimal be the default GDB used, if it's -# present. For rationale, see: +# The actual search order is now: /usr/bin/gdb.minimal, gdb (in the +# $PATH), then /usr/libexec/gdb. +# +# For the rationale of looking for gdb.minimal see: # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot +# #=fedora -Patch048: gdb-libexec-add-index.patch +Patch048: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest diff --git a/_patch_order b/_patch_order index fb645b7..e3bb2aa 100644 --- a/_patch_order +++ b/_patch_order @@ -45,7 +45,7 @@ gdb-fedora-libncursesw.patch gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch -gdb-libexec-add-index.patch +gdb-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch gdb-rhbz2183595-rustc-inside_main.patch diff --git a/gdb-add-index.patch b/gdb-add-index.patch new file mode 100644 index 0000000..b95e06f --- /dev/null +++ b/gdb-add-index.patch @@ -0,0 +1,77 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Fedora GDB patches +Date: Fri, 27 Oct 2017 21:07:50 +0200 +Subject: gdb-add-index.patch + +;; Update gdb-add-index.sh such that, when the GDB environment +;; variable is not set, the script is smarter than just looking for +;; 'gdb' in the $PATH. +;; +;; The actual search order is now: /usr/bin/gdb.minimal, gdb (in the +;; $PATH), then /usr/libexec/gdb. +;; +;; For the rationale of looking for gdb.minimal see: +;; +;; https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot +;; +;;=fedora + +diff --git a/gdb/contrib/gdb-add-index.sh b/gdb/contrib/gdb-add-index.sh +--- a/gdb/contrib/gdb-add-index.sh ++++ b/gdb/contrib/gdb-add-index.sh +@@ -16,14 +16,52 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see . + +-# This program assumes gdb and objcopy are in $PATH. +-# If not, or you want others, pass the following in the environment +-GDB=${GDB:=gdb} ++# This program assumes objcopy and readelf are in $PATH. If not, or ++# you want others, pass the following in the environment + OBJCOPY=${OBJCOPY:=objcopy} + READELF=${READELF:=readelf} + + myname="${0##*/}" + ++# For GDB itself we need to be a little smarter. If GDB is set in the ++# environment then we will use that. But if GDB is not set in the ++# environment then we have a couple of options that we need to check ++# through. ++# ++# Our default choice is for /usr/bin/gdb.minimal. For an explanation ++# of why this is chosen, check out: ++# https://bugzilla.redhat.com/show_bug.cgi?id=1695015 ++# https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot ++# ++# If gdb.minimal is not found then we look for a 'gdb' executable on ++# the path. ++# ++# And finally, we check for /usr/libexec/gdb. ++# ++# If none of those result in a useable GDB then we give an error and ++# exit. ++if test -z "$GDB"; then ++ for possible_gdb in /usr/bin/gdb.minimal gdb /usr/libexec/gdb; do ++ if ! which "$possible_gdb" 2>/dev/null; then ++ continue ++ fi ++ ++ possible_gdb=$(which "$possible_gdb") ++ ++ if ! test -x "$possible_gdb"; then ++ continue ++ fi ++ ++ GDB="$possible_gdb" ++ break ++ done ++ ++ if test -z "$GDB"; then ++ echo "$myname: Failed to find a useable GDB binary" 1>&2 ++ exit 1 ++ fi ++fi ++ + dwarf5="" + if [ "$1" = "-dwarf-5" ]; then + dwarf5="$1" diff --git a/gdb-libexec-add-index.patch b/gdb-libexec-add-index.patch deleted file mode 100644 index 19f6b54..0000000 --- a/gdb-libexec-add-index.patch +++ /dev/null @@ -1,37 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-libexec-add-index.patch - -;; Fix gdb-headless /usr/bin/ executables (BZ 1390251). -;; -;; Also, make /usr/bin/gdb.minimal be the default GDB used, if it's -;; present. For rationale, see: -;; -;; https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot -;;=fedora - -diff --git a/gdb/contrib/gdb-add-index.sh b/gdb/contrib/gdb-add-index.sh ---- a/gdb/contrib/gdb-add-index.sh -+++ b/gdb/contrib/gdb-add-index.sh -@@ -22,6 +22,20 @@ GDB=${GDB:=gdb} - OBJCOPY=${OBJCOPY:=objcopy} - READELF=${READELF:=readelf} - -+GDB2=/usr/libexec/gdb -+if test -x $GDB2 && ! which $GDB &>/dev/null; then -+ GDB=$GDB2 -+fi -+ -+# We default to using /usr/bin/gdb.minimal if it's present. See -+# https://bugzilla.redhat.com/show_bug.cgi?id=1695015 and -+# https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot for -+# explanations. -+GDB3=/usr/bin/gdb.minimal -+if test -x $GDB3; then -+ GDB=$GDB3 -+fi -+ - myname="${0##*/}" - - dwarf5="" diff --git a/gdb.spec b/gdb.spec index 458e3e4..482b542 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,11 @@ fi %endif %changelog +* Thu May 4 2023 Andrew Burgess +- Rewrite the changes to gdb-add-index.sh. If the user has set the + GDB environment variable then use that value, otherwise find a + suitable GDB executable by looking in various places. + * Wed May 3 2023 Kevin Buettner 13.1-5 - Backport "Pass const frame_info_ptr reference for skip_[language_]trampoline". (Mark Wielaard, RHBZ 2192105, build/30413) From 6c805458b55f4e48c90eadb6ec8e95730dfcb490 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Thu, 4 May 2023 13:40:32 -0700 Subject: [PATCH 52/84] Restore changes which fix C89-isms in gdb-6.6-buildid-locate-rpm.patch These changes, originally added to Fedora GDB by Keith Seitz, and described in the Nov 30 2022 Changelog eentry, were inadvertently lost during the GDB 13.1 rebase. Only downstream/local changes were lost - the remainder of the changes were in the upstream GDB 13.1 sources. --- gdb-6.6-buildid-locate-rpm.patch | 6 ++++-- gdb-fedora-libncursesw.patch | 12 ++++++------ gdb.spec | 6 ++++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch index 051f3cb..23f4d55 100644 --- a/gdb-6.6-buildid-locate-rpm.patch +++ b/gdb-6.6-buildid-locate-rpm.patch @@ -339,7 +339,7 @@ diff --git a/gdb/configure b/gdb/configure YACC The `Yet Another Compiler Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. -@@ -17848,6 +17860,494 @@ _ACEOF +@@ -17848,6 +17860,495 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5 $as_echo "$with_auto_load_safe_path" >&6; } @@ -403,6 +403,7 @@ diff --git a/gdb/configure b/gdb/configure +#include +#include +#include ++#include + +int +main () @@ -837,7 +838,7 @@ diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac -@@ -160,6 +160,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir, +@@ -160,6 +160,200 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir, [Directories safe to hold auto-loaded files.]) AC_MSG_RESULT([$with_auto_load_safe_path]) @@ -887,6 +888,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac +#include +#include +#include ++#include + ]], [[ + void *h; + const char *const *rpmverp; diff --git a/gdb-fedora-libncursesw.patch b/gdb-fedora-libncursesw.patch index 621d905..350138c 100644 --- a/gdb-fedora-libncursesw.patch +++ b/gdb-fedora-libncursesw.patch @@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1270534 diff --git a/gdb/configure b/gdb/configure --- a/gdb/configure +++ b/gdb/configure -@@ -20915,6 +20915,7 @@ if test x"$prefer_curses" = xyes; then +@@ -20916,6 +20916,7 @@ if test x"$prefer_curses" = xyes; then # search /usr/local/include, if ncurses is installed in /usr/local. A # default installation of ncurses on alpha*-dec-osf* will lead to such # a situation. @@ -20,7 +20,7 @@ diff --git a/gdb/configure b/gdb/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5 $as_echo_n "checking for library containing waddstr... " >&6; } if ${ac_cv_search_waddstr+:} false; then : -@@ -20939,7 +20940,7 @@ return waddstr (); +@@ -20940,7 +20941,7 @@ return waddstr (); return 0; } _ACEOF @@ -29,7 +29,7 @@ diff --git a/gdb/configure b/gdb/configure if test -z "$ac_lib"; then ac_res="none required" else -@@ -21013,6 +21014,7 @@ case $host_os in +@@ -21014,6 +21015,7 @@ case $host_os in esac # These are the libraries checked by Readline. @@ -37,7 +37,7 @@ diff --git a/gdb/configure b/gdb/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5 $as_echo_n "checking for library containing tgetent... " >&6; } if ${ac_cv_search_tgetent+:} false; then : -@@ -21037,7 +21039,7 @@ return tgetent (); +@@ -21038,7 +21040,7 @@ return tgetent (); return 0; } _ACEOF @@ -49,7 +49,7 @@ diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure.ac b/gdb/configure.ac --- a/gdb/configure.ac +++ b/gdb/configure.ac -@@ -704,7 +704,8 @@ if test x"$prefer_curses" = xyes; then +@@ -705,7 +705,8 @@ if test x"$prefer_curses" = xyes; then # search /usr/local/include, if ncurses is installed in /usr/local. A # default installation of ncurses on alpha*-dec-osf* will lead to such # a situation. @@ -59,7 +59,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac if test "$ac_cv_search_waddstr" != no; then curses_found=yes -@@ -746,7 +747,8 @@ case $host_os in +@@ -747,7 +748,8 @@ case $host_os in esac # These are the libraries checked by Readline. diff --git a/gdb.spec b/gdb.spec index 482b542..21d6647 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,12 @@ fi %endif %changelog +* Thu May 4 2023 Kevin Buettner +- Fix C89-isms in gdb-6.6-buildid-locate-rpm.patch. (Florian Weimer, + RHBZ 2143992)'. This change merely restores changes introduced by + Keith's Nov 30 2022 commit, but which were inadvertently lost during + the GDB 13.1 backport. + * Thu May 4 2023 Andrew Burgess - Rewrite the changes to gdb-add-index.sh. If the user has set the GDB environment variable then use that value, otherwise find a From 7046f4cf6f5df3cff7fb4193b9ff5b695146bc03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Sat, 6 May 2023 18:28:01 +0200 Subject: [PATCH 53/84] Remove gdb-rhel5.9-testcase-xlf-var-inside-mod.patch The patch adds gdb.fortran/xlf-variable.exp test, the test can only be run on PPC64 machines which are not supported anymore. --- _gdb.spec.Patch.include | 40 +- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-rhel5.9-testcase-xlf-var-inside-mod.patch | 731 ------------------ gdb.spec | 5 + 5 files changed, 23 insertions(+), 755 deletions(-) delete mode 100644 gdb-rhel5.9-testcase-xlf-var-inside-mod.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 2017068..f868922 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -137,64 +137,60 @@ Patch033: gdb-test-dw2-aranges.patch #=fedoratest: Compatibility with RHELs (unchecked which ones). Patch034: gdb-glibc-strstr-workaround.patch -# Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). -#=fedoratest -Patch035: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch - # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch036: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch035: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch037: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch036: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch038: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch037: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch039: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch038: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch040: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch039: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch041: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch040: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch042: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch041: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch043: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch042: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch044: gdb-fedora-libncursesw.patch +Patch043: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch045: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch044: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch046: gdb-container-rh-pkg.patch +Patch045: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch047: gdb-linux_perf-bundle.patch +Patch046: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -208,24 +204,24 @@ Patch047: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch048: gdb-add-index.patch +Patch047: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch049: gdb-rhbz1553104-s390x-arch12-test.patch +Patch048: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch050: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch049: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch051: gdb-rhbz2183595-rustc-inside_main.patch +Patch050: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch052: gdb-binutils29988-read_indexed_address.patch +Patch051: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch053: gdb-rhbz2192105-ftbs-dangling-pointer +Patch052: gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8ec13e9..d954063 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -50,4 +50,3 @@ %patch -p1 -P050 %patch -p1 -P051 %patch -p1 -P052 -%patch -p1 -P053 diff --git a/_patch_order b/_patch_order index e3bb2aa..43767fc 100644 --- a/_patch_order +++ b/_patch_order @@ -32,7 +32,6 @@ gdb-bz634108-solib_address.patch gdb-test-pid0-core.patch gdb-test-dw2-aranges.patch gdb-glibc-strstr-workaround.patch -gdb-rhel5.9-testcase-xlf-var-inside-mod.patch gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch gdb-rhbz1007614-memleak-infpy_read_memory-test.patch diff --git a/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch b/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch deleted file mode 100644 index b130d1f..0000000 --- a/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +++ /dev/null @@ -1,731 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch - -;; Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.fortran/xlf-variable.S b/gdb/testsuite/gdb.fortran/xlf-variable.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/xlf-variable.S -@@ -0,0 +1,638 @@ -+/* Copyright (C) 2012 Free Software Foundation, Inc. -+ -+ This file is part of GDB. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* This file has been generated from the file named `xlf-variable.f', which -+ should be present in this directory. The command used to generate this -+ file was: -+ -+ xlf -qnoopt -g9 -S xlf-variable.f -o xlf-variable.S -+ -+ After issuing this command, you must hand-edit this file and remove the -+ mentions for `_xlfExit', since it is only present in XLF-specific -+ libraries. You must also make sure to remove the file named `mod1.mod' -+ which will be created in the compilation directory. -+ -+ In order to generated this file, the following XLF package was used: -+ -+ xlf.14.1.0.0.linux.eval.tar.gz -+ -+ These instructions may be different for different versions of the XLF -+ compiler. */ -+ -+.set r0,0; .set SP,1; .set RTOC,2; .set r3,3; .set r4,4 -+.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9 -+.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14 -+.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19 -+.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24 -+.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29 -+.set r30,30; .set r31,31 -+.set fp0,0; .set fp1,1; .set fp2,2; .set fp3,3; .set fp4,4 -+.set fp5,5; .set fp6,6; .set fp7,7; .set fp8,8; .set fp9,9 -+.set fp10,10; .set fp11,11; .set fp12,12; .set fp13,13; .set fp14,14 -+.set fp15,15; .set fp16,16; .set fp17,17; .set fp18,18; .set fp19,19 -+.set fp20,20; .set fp21,21; .set fp22,22; .set fp23,23; .set fp24,24 -+.set fp25,25; .set fp26,26; .set fp27,27; .set fp28,28; .set fp29,29 -+.set fp30,30; .set fp31,31 -+.set v0,0; .set v1,1; .set v2,2; .set v3,3; .set v4,4 -+.set v5,5; .set v6,6; .set v7,7; .set v8,8; .set v9,9 -+.set v10,10; .set v11,11; .set v12,12; .set v13,13; .set v14,14 -+.set v15,15; .set v16,16; .set v17,17; .set v18,18; .set v19,19 -+.set v20,20; .set v21,21; .set v22,22; .set v23,23; .set v24,24 -+.set v25,25; .set v26,26; .set v27,27; .set v28,28; .set v29,29 -+.set v30,30; .set v31,31 -+.set q0,0; .set q1,1; .set q2,2; .set q3,3; .set q4,4 -+.set q5,5; .set q6,6; .set q7,7; .set q8,8; .set q9,9 -+.set q10,10; .set q11,11; .set q12,12; .set q13,13; .set q14,14 -+.set q15,15; .set q16,16; .set q17,17; .set q18,18; .set q19,19 -+.set q20,20; .set q21,21; .set q22,22; .set q23,23; .set q24,24 -+.set q25,25; .set q26,26; .set q27,27; .set q28,28; .set q29,29 -+.set q30,30; .set q31,31 -+.set MQ,0; .set XER,1; .set FROM_RTCU,4; .set FROM_RTCL,5; .set FROM_DEC,6 -+.set LR,8; .set CTR,9; .set TID,17; .set DSISR,18; .set DAR,19; .set TO_RTCU,20 -+.set TO_RTCL,21; .set TO_DEC,22; .set SDR_0,24; .set SDR_1,25; .set SRR_0,26 -+.set SRR_1,27 -+.set BO_dCTR_NZERO_AND_NOT,0; .set BO_dCTR_NZERO_AND_NOT_1,1 -+.set BO_dCTR_ZERO_AND_NOT,2; .set BO_dCTR_ZERO_AND_NOT_1,3 -+.set BO_IF_NOT,4; .set BO_IF_NOT_1,5; .set BO_IF_NOT_2,6 -+.set BO_IF_NOT_3,7; .set BO_dCTR_NZERO_AND,8; .set BO_dCTR_NZERO_AND_1,9 -+.set BO_dCTR_ZERO_AND,10; .set BO_dCTR_ZERO_AND_1,11; .set BO_IF,12 -+.set BO_IF_1,13; .set BO_IF_2,14; .set BO_IF_3,15; .set BO_dCTR_NZERO,16 -+.set BO_dCTR_NZERO_1,17; .set BO_dCTR_ZERO,18; .set BO_dCTR_ZERO_1,19 -+.set BO_ALWAYS,20; .set BO_ALWAYS_1,21; .set BO_ALWAYS_2,22 -+.set BO_ALWAYS_3,23; .set BO_dCTR_NZERO_8,24; .set BO_dCTR_NZERO_9,25 -+.set BO_dCTR_ZERO_8,26; .set BO_dCTR_ZERO_9,27; .set BO_ALWAYS_8,28 -+.set BO_ALWAYS_9,29; .set BO_ALWAYS_10,30; .set BO_ALWAYS_11,31 -+.set CR0_LT,0; .set CR0_GT,1; .set CR0_EQ,2; .set CR0_SO,3 -+.set CR1_FX,4; .set CR1_FEX,5; .set CR1_VX,6; .set CR1_OX,7 -+.set CR2_LT,8; .set CR2_GT,9; .set CR2_EQ,10; .set CR2_SO,11 -+.set CR3_LT,12; .set CR3_GT,13; .set CR3_EQ,14; .set CR3_SO,15 -+.set CR4_LT,16; .set CR4_GT,17; .set CR4_EQ,18; .set CR4_SO,19 -+.set CR5_LT,20; .set CR5_GT,21; .set CR5_EQ,22; .set CR5_SO,23 -+.set CR6_LT,24; .set CR6_GT,25; .set CR6_EQ,26; .set CR6_SO,27 -+.set CR7_LT,28; .set CR7_GT,29; .set CR7_EQ,30; .set CR7_SO,31 -+.set TO_LT,16; .set TO_GT,8; .set TO_EQ,4; .set TO_LLT,2; .set TO_LGT,1 -+ -+ .file "xlf-variable.f" -+ .globl __mod1_NMOD_____mod1 -+ .type __mod1_NMOD_____mod1,@function -+ .size __mod1_NMOD_____mod1,32 -+ .globl main -+ .type main,@function -+ .size main,68 -+ .globl __mod1_NMOD_sub1 -+ .type __mod1_NMOD_sub1,@function -+ .size __mod1_NMOD_sub1,136 -+ .globl _main -+ .type _main,@function -+ .size _main,68 -+ -+ .section ".text" -+ .align 7 -+.LC.text: -+__mod1_NMOD_____mod1: -+ stwu SP,-32(SP) -+ stw r31,28(SP) -+ or r31,SP,SP -+ b $+0x4 -+ addi r11,r31,32 -+ lwz r31,-4(r11) -+ or SP,r11,r11 -+ bclr BO_ALWAYS,CR0_LT -+.LC.text32: -+ -+__mod1_NMOD_sub1: -+ stwu SP,-32(SP) -+ stw r31,28(SP) -+ stw r30,24(SP) -+ or r31,SP,SP -+ addis r30,r0,.const_dr@ha -+ addi r30,r30,.const_dr@l -+ addis r3,r0,__N_mod1@ha -+ addi r3,r3,__N_mod1@l -+ addi r0,r0,1 -+ stb r0,4(r3) -+ addi r4,r0,14 -+ stb r4,5(r3) -+ stb r0,7(r3) -+ addis r5,r0,__N__mod1@ha -+ addi r5,r5,__N__mod1@l -+ stw r5,0(r3) -+ lbz r5,6(r3) -+ rlwinm r5,r5,0,25,25 -+ ori r5,r5,0x0040 -+ stb r5,6(r3) -+ lwz r5,0(r3) -+ lfs fp0,0(r30) -+ stfs fp0,0(r5) -+ stb r0,4(r3) -+ stb r4,5(r3) -+ addi r4,r0,0 -+ stb r4,6(r3) -+ stb r0,7(r3) -+ b $+0x4 -+ addi r11,r31,32 -+ lwz r30,-8(r11) -+ lwz r31,-4(r11) -+ or SP,r11,r11 -+ bclr BO_ALWAYS,CR0_LT -+.LC.text168: -+ .long 0 -+ .skip 0x54 -+.LC.text256: -+ -+main: -+_main: -+ mfspr r0,LR -+ stwu SP,-32(SP) -+ stw r31,28(SP) -+ stw r0,36(SP) -+ or r31,SP,SP -+ bl __mod1_NMOD_sub1 -+ addi r3,r0,0 -+.LC.text288: -+ -+ tw TO_EQ,r14,r14 -+ addi r3,r0,0 -+ b $+0x4 -+ addi r11,r31,32 -+ lwz r31,-4(r11) -+ lwz r0,4(r11) -+ mtspr LR,r0 -+ or SP,r11,r11 -+ bclr BO_ALWAYS,CR0_LT -+.LC.text324: -+ -+ -+ .section ".rodata","a" -+ .align 2 -+.LC.rodata: -+ .type .const_dr,@object -+ .size .const_dr,4 -+.const_dr: -+ .long 0x40400000 -+ -+ .section ".eh_frame","wa" -+ .align 2 -+.LC.eh_frame: -+ .long 0x0000000c -+ .long 0x00000000 -+ .long 0x0100047c -+ .long 0x410c0100 -+ .long 0x0000001c -+ .long 0x00000014 -+ .long .LC.text -+ .long 0x00000020 -+ .long 0x410e2041 -+ .long 0x9f01410d -+ .long 0x1f410a42 -+ .long 0xdf420b00 -+ .long 0x00000020 -+ .long 0x00000034 -+ .long .LC.text32 -+ .long 0x00000088 -+ .long 0x410e2041 -+ .long 0x9f01419e -+ .long 0x02410d1f -+ .long 0x590a42de -+ .long 0x41df420b -+ .long 0x0000000c -+ .long 0x00000000 -+ .long 0x0100047c -+ .long 0x410c0100 -+ .long 0x00000020 -+ .long 0x00000014 -+ .long .LC.text256 -+ .long 0x00000044 -+ .long 0x420e2041 -+ .long 0x9f014111 -+ .long 0x417f410d -+ .long 0x1f460a42 -+ .long 0xdf440b00 -+ -+ .section ".data","wa" -+ .align 4 -+.LC.data: -+ .globl __N_mod1 -+ .type __N_mod1,@object -+ .size __N_mod1,8 -+__N_mod1: -+ .long 0x00000000 -+ .long 0x01000001 -+ -+ .section ".except.1","wa" -+ .align 1 -+.LC.except.1: -+ .long .LC.text288 -+ .byte 0x01 -+ .byte 0x09 -+ -+ .ident "Fri Jun 15 16:35:45 2012 .IBM XL Fortran for Linux, V14.1 (5765-J05, 5725-C75) Version 14.01.0000.0000.Fri Jun 15 16:35:45 2012 .IBM XL Fortran for Linux, V14.1 (5765-J05, 5725-C75) Version 14.01.0000.0000." -+ -+ .section ".debug_aranges" -+ .align 0 -+.LC.debug_aranges: -+ .long 0x0000001c -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_info -+ .long 0x04000000 -+ .byte 0x00 -+ .byte 0x00 -+ .long .LC.text -+ .long 0x000000a8 -+ .long 0x00000000 -+ .long 0x00000000 -+ .long 0x0000001c -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_info273 -+ .long 0x04000000 -+ .byte 0x00 -+ .byte 0x00 -+ .long .LC.text256 -+ .long 0x00000044 -+ .long 0x00000000 -+ .long 0x00000000 -+ -+ .section ".debug_pubnames" -+ .align 0 -+.LC.debug_pubnames: -+ .long 0x0000002f -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_info -+ .long 0x00000111 -+ .long 0x000000dc -+ .long 0x79000000 -+ .long 0x00ec7a00 -+ .long 0x000000fc -+ .long 0x5f5f6d6f -+ .long 0x64315f4e -+ .long 0x4d4f445f -+ .long 0x73756231 -+ .long 0x00000000 -+ .long 0x00000000 -+ .byte 0x18 -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_info273 -+ .long 0x00000127 -+ .long 0x0000010f -+ .long 0x5f6d6169 -+ .long 0x6e000000 -+ .byte 0x00 -+ .byte 0x00 -+ -+ .section ".debug_info" -+ .align 0 -+.LC.debug_info: -+ .long 0x0000010d -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_abbrev -+ .long 0x0401786c -+ .long 0x662d7661 -+ .long 0x72696162 -+ .long 0x6c652e66 -+ .byte 0x00 -+ .long .LC.debug_line -+ .long .LC.text -+ .long .LC.text168 -+ .long 0x082f726f -+ .long 0x6f742f73 -+ .long 0x65726769 -+ .long 0x6f646a2f -+ .long 0x6764622d -+ .long 0x372e302e -+ .long 0x312d3432 -+ .long 0x2e656c35 -+ .long 0x2f676462 -+ .long 0x2d372e30 -+ .long 0x2e312f67 -+ .long 0x64622f74 -+ .long 0x65737473 -+ .long 0x75697465 -+ .long 0x2f676462 -+ .long 0x2e666f72 -+ .long 0x7472616e -+ .long 0x0049424d -+ .long 0x20584c20 -+ .long 0x466f7274 -+ .long 0x72616e20 -+ .long 0x666f7220 -+ .long 0x4c696e75 -+ .long 0x782c2056 -+ .long 0x31342e31 -+ .long 0x20283537 -+ .long 0x36352d4a -+ .long 0x30352c20 -+ .long 0x35373235 -+ .long 0x2d433735 -+ .long 0x29205665 -+ .long 0x7273696f -+ .long 0x6e203134 -+ .long 0x2e30312e -+ .long 0x30303030 -+ .long 0x2e303030 -+ .long 0x30000249 -+ .long 0x4e544547 -+ .long 0x45520004 -+ .long 0x05030005 -+ .long 0x02524541 -+ .long 0x4c000404 -+ .long 0x04050000 -+ .long 0x0000c706 -+ .long 0x6d6f6431 -+ .long 0x00070503 -+ .long __N_mod1 -+ .long 0x79000100 -+ .long 0x01000000 -+ .long 0xd0070503 -+ .long __N__mod1 -+ .long 0x7a000100 -+ .long 0x01000000 -+ .long 0xc7087375 -+ .byte 0x62 -+ .byte 0x31 -+ .byte 0x00 -+ .long .LC.text32 -+ .long .LC.text168 -+ .long 0x01180101 -+ .byte 0x6f -+ .byte 0x00 -+ .byte 0x00 -+.LC.debug_info273: -+ .long 0x00000123 -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_abbrev97 -+ .long 0x0401786c -+ .long 0x662d7661 -+ .long 0x72696162 -+ .long 0x6c652e66 -+ .byte 0x00 -+ .long .LC.debug_line98 -+ .long .LC.text256 -+ .long .LC.text324 -+ .long 0x082f726f -+ .long 0x6f742f73 -+ .long 0x65726769 -+ .long 0x6f646a2f -+ .long 0x6764622d -+ .long 0x372e302e -+ .long 0x312d3432 -+ .long 0x2e656c35 -+ .long 0x2f676462 -+ .long 0x2d372e30 -+ .long 0x2e312f67 -+ .long 0x64622f74 -+ .long 0x65737473 -+ .long 0x75697465 -+ .long 0x2f676462 -+ .long 0x2e666f72 -+ .long 0x7472616e -+ .long 0x0049424d -+ .long 0x20584c20 -+ .long 0x466f7274 -+ .long 0x72616e20 -+ .long 0x666f7220 -+ .long 0x4c696e75 -+ .long 0x782c2056 -+ .long 0x31342e31 -+ .long 0x20283537 -+ .long 0x36352d4a -+ .long 0x30352c20 -+ .long 0x35373235 -+ .long 0x2d433735 -+ .long 0x29205665 -+ .long 0x7273696f -+ .long 0x6e203134 -+ .long 0x2e30312e -+ .long 0x30303030 -+ .long 0x2e303030 -+ .long 0x30000249 -+ .long 0x4e544547 -+ .long 0x45520004 -+ .long 0x05030005 -+ .long 0x02524541 -+ .long 0x4c000404 -+ .long 0x04000000 -+ .long 0xb9050000 -+ .long 0x0000c706 -+ .long 0x000000f4 -+ .long 0x26264e26 -+ .long 0x6d6f6431 -+ .long 0x00080779 -+ .long 0x00022300 -+ .long 0x000000d4 -+ .long 0x00060000 -+ .long 0x010f2626 -+ .long 0x4e26266d -+ .long 0x6f643100 -+ .long 0x04077a00 -+ .long 0x02230000 -+ .long 0x0000c700 -+ .long 0x085f6d61 -+ .byte 0x69 -+ .byte 0x6e -+ .byte 0x00 -+ .long .LC.text256 -+ .long .LC.text324 -+ .long 0x0201016f -+ .long 0x000000b9 -+ .byte 0x00 -+ -+ .section ".debug_abbrev" -+ .align 0 -+.LC.debug_abbrev: -+ .long 0x01110103 -+ .long 0x08100611 -+ .long 0x01120113 -+ .long 0x0b1b0825 -+ .long 0x08000002 -+ .long 0x24000308 -+ .long 0x0b0b3e0b -+ .long 0x00000324 -+ .long 0x000b0b3e -+ .long 0x0b000004 -+ .long 0x15000000 -+ .long 0x050f0033 -+ .long 0x0b491300 -+ .long 0x00061e01 -+ .long 0x03080000 -+ .long 0x07340002 -+ .long 0x0a03083a -+ .long 0x0b3b0b3f -+ .long 0x0c491300 -+ .long 0x00082e00 -+ .long 0x03081101 -+ .long 0x12013a0b -+ .long 0x3b0b3f0c -+ .long 0x400a0000 -+ .byte 0x00 -+.LC.debug_abbrev97: -+ .long 0x01110103 -+ .long 0x08100611 -+ .long 0x01120113 -+ .long 0x0b1b0825 -+ .long 0x08000002 -+ .long 0x24000308 -+ .long 0x0b0b3e0b -+ .long 0x00000324 -+ .long 0x000b0b3e -+ .long 0x0b000004 -+ .long 0x15004913 -+ .long 0x0000050f -+ .long 0x00330b49 -+ .long 0x13000006 -+ .long 0x13010113 -+ .long 0x03080b0b -+ .long 0x0000070d -+ .long 0x00030838 -+ .long 0x0a491300 -+ .long 0x00082e00 -+ .long 0x03081101 -+ .long 0x1201360b -+ .long 0x3f0c400a -+ .long 0x49130000 -+ .byte 0x00 -+ -+ .section ".debug_line" -+ .align 0 -+.LC.debug_line: -+ .long 0x0000005e -+ .long 0x00020000 -+ .long 0x00220101 -+ .long 0x9cdc0a00 -+ .long 0x01010101 -+ .long 0x00000001 -+ .long 0x00786c66 -+ .long 0x2d766172 -+ .long 0x6961626c -+ .long 0x652e6600 -+ .long 0x00000000 -+ .long 0x04010005 -+ .byte 0x02 -+ .long .LC.text -+ .long 0x03130109 -+ .long 0x000c0309 -+ .long 0x01090014 -+ .long 0x037b0109 -+ .long 0x00180301 -+ .long 0x01090038 -+ .long 0x03010109 -+ .long 0x000c0301 -+ .long 0x01090014 -+ .long 0x03010109 -+ .long 0x00180001 -+ .byte 0x01 -+.LC.debug_line98: -+ .long 0x00000046 -+ .long 0x00020000 -+ .long 0x00220101 -+ .long 0x9cdc0a00 -+ .long 0x01010101 -+ .long 0x00000001 -+ .long 0x00786c66 -+ .long 0x2d766172 -+ .long 0x6961626c -+ .long 0x652e6600 -+ .long 0x00000000 -+ .long 0x04010005 -+ .byte 0x02 -+ .long .LC.text256 -+ .long 0x031f0109 -+ .long 0x00140300 -+ .long 0x01090004 -+ .long 0x03010109 -+ .long 0x002c0001 -+ .byte 0x01 -+ -+ .section ".debug_frame" -+ .align 0 -+.LC.debug_frame: -+ .long 0x0000000c -+ .long 0xffffffff -+ .long 0x0100047c -+ .long 0x410c0100 -+ .long 0x0000001c -+ .long .LC.debug_frame -+ .long .LC.text -+ .long 0x00000020 -+ .long 0x410e2041 -+ .long 0x9f01410d -+ .long 0x1f410a42 -+ .long 0xdf420b00 -+ .long 0x00000020 -+ .long .LC.debug_frame -+ .long .LC.text32 -+ .long 0x00000088 -+ .long 0x410e2041 -+ .long 0x9f01419e -+ .long 0x02410d1f -+ .long 0x590a42de -+ .long 0x41df420b -+.LC.debug_frame84: -+ .long 0x0000000c -+ .long 0xffffffff -+ .long 0x0100047c -+ .long 0x410c0100 -+ .long 0x00000020 -+ .long .LC.debug_frame84 -+ .long .LC.text256 -+ .long 0x00000044 -+ .long 0x420e2041 -+ .long 0x9f014111 -+ .long 0x417f410d -+ .long 0x1f460a42 -+ .long 0xdf440b00 -+ -+ .section ".debug_pubtypes" -+ .align 0 -+.LC.debug_pubtypes: -+ .long 0x00000023 -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_info -+ .long 0x00000111 -+ .long 0x000000b9 -+ .long 0x494e5445 -+ .long 0x47455200 -+ .long 0x000000c7 -+ .long 0x5245414c -+ .long 0x00000000 -+ .long 0x00000000 -+ .byte 0x3e -+ .byte 0x00 -+ .byte 0x02 -+ .long .LC.debug_info273 -+ .long 0x00000127 -+ .long 0x000000b9 -+ .long 0x494e5445 -+ .long 0x47455200 -+ .long 0x000000c7 -+ .long 0x5245414c -+ .long 0x00000000 -+ .long 0xda26264e -+ .long 0x266d6f64 -+ .long 0x31000000 -+ .long 0x00f42626 -+ .long 0x4e26266d -+ .long 0x6f643100 -+ .long 0x00000000 -+ -+ .comm __N__mod1,4,16 -diff --git a/gdb/testsuite/gdb.fortran/xlf-variable.exp b/gdb/testsuite/gdb.fortran/xlf-variable.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/xlf-variable.exp -@@ -0,0 +1,37 @@ -+# Copyright 2012 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This test can only be run on PPC64 machines. -+ -+if { ![istarget powerpc64-*] || ![is_ilp32_target] } { -+ return -1 -+} -+ -+set testfile "xlf-variable" -+set srcfile ${testfile}.S -+ -+if { [prepare_for_testing $testfile.exp $testfile $srcfile] } { -+ return -1 -+} -+ -+if { ![runto_main] } { -+ return -1 -+} -+ -+gdb_test "step" ".*y => z.*" "y => z" -+gdb_test "step" ".*y = 3\.0.*" "y = 3.0" -+gdb_test "step" ".*nullify \\(y\\).*" "nullify (y)" -+gdb_test "print z" "= 3" "z = 3" -+gdb_test "ptype z" "= REAL" "z is REAL" -diff --git a/gdb/testsuite/gdb.fortran/xlf-variable.f b/gdb/testsuite/gdb.fortran/xlf-variable.f -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/xlf-variable.f -@@ -0,0 +1,33 @@ -+c Copyright 2012 Free Software Foundation, Inc. -+c -+c This program is free software; you can redistribute it and/or modify -+c it under the terms of the GNU General Public License as published by -+c the Free Software Foundation; either version 3 of the License, or -+c (at your option) any later version. -+c -+c This program is distributed in the hope that it will be useful, -+c but WITHOUT ANY WARRANTY; without even the implied warranty of -+c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+c GNU General Public License for more details. -+c -+c You should have received a copy of the GNU General Public License -+c along with this program. If not, see . -+ -+c This file is the Fortran source file for xlf-variable.f. -+c It was used to generate the assembly output called xlf-variable.S, -+c which was generated using IBM's XLF compiler. -+ -+ module mod1 -+ real, pointer :: y -+ real, target :: z -+ contains -+ subroutine sub1 -+ y => z -+ y = 3.0 -+ nullify (y) -+ end subroutine -+ end module -+ -+ use mod1 -+ call sub1 -+ end diff --git a/gdb.spec b/gdb.spec index 21d6647..7eaeb57 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,11 @@ fi %endif %changelog +* Sat May 6 2023 Alexandra Hájková +- Remove gdb-rhel5.9-testcase-xlf-var-inside-mod.patch, the patch adds + gdb.fortran/xlf-variable.exp test, the test can only be run on + PPC64 machines which are not supported anymore. + * Thu May 4 2023 Kevin Buettner - Fix C89-isms in gdb-6.6-buildid-locate-rpm.patch. (Florian Weimer, RHBZ 2143992)'. This change merely restores changes introduced by From 2a935aa29b38ef92f9c89bf56dcb4727d32a5857 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 16 May 2023 15:23:14 +0100 Subject: [PATCH 54/84] Remove gdb-ppc-power7-test.patch The test added by this patch claims to be a power7 test, however, it actually appears to test instructions from power7, power8, and power9. All the instructions tested by this patch are already tested by upstream tests: gdb.arch/powerpc-power7.exp gdb.arch/powerpc-power8.exp gdb.arch/powerpc-power9.exp As such this patch is redundant and can be removed. --- _gdb.spec.Patch.include | 54 ++++--- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-ppc-power7-test.patch | 303 -------------------------------------- gdb.spec | 4 + 5 files changed, 29 insertions(+), 334 deletions(-) delete mode 100644 gdb-ppc-power7-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index f868922..cfa47d0 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -105,92 +105,88 @@ Patch025: gdb-ccache-workaround.patch #=fedoratest Patch026: gdb-lineno-makeup-test.patch -# Test power7 ppc disassembly. -#=fedoratest -Patch027: gdb-ppc-power7-test.patch - # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch028: gdb-archer-next-over-throw-cxx-exec.patch +Patch027: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch029: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch028: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch030: gdb-test-bt-cfi-without-die.patch +Patch029: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch031: gdb-bz634108-solib_address.patch +Patch030: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch032: gdb-test-pid0-core.patch +Patch031: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch033: gdb-test-dw2-aranges.patch +Patch032: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch034: gdb-glibc-strstr-workaround.patch +Patch033: gdb-glibc-strstr-workaround.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch035: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch034: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch036: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch035: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch037: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch036: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch038: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch037: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch039: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch038: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch040: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch039: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch041: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch040: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch042: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch041: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch043: gdb-fedora-libncursesw.patch +Patch042: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch044: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch043: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch045: gdb-container-rh-pkg.patch +Patch044: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch046: gdb-linux_perf-bundle.patch +Patch045: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -204,24 +200,24 @@ Patch046: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch047: gdb-add-index.patch +Patch046: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch048: gdb-rhbz1553104-s390x-arch12-test.patch +Patch047: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch049: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch048: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch050: gdb-rhbz2183595-rustc-inside_main.patch +Patch049: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch051: gdb-binutils29988-read_indexed_address.patch +Patch050: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch052: gdb-rhbz2192105-ftbs-dangling-pointer +Patch051: gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index d954063..161654d 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -49,4 +49,3 @@ %patch -p1 -P049 %patch -p1 -P050 %patch -p1 -P051 -%patch -p1 -P052 diff --git a/_patch_order b/_patch_order index 43767fc..f789b6e 100644 --- a/_patch_order +++ b/_patch_order @@ -24,7 +24,6 @@ gdb-simultaneous-step-resume-breakpoint-test.patch gdb-core-open-vdso-warning.patch gdb-ccache-workaround.patch gdb-lineno-makeup-test.patch -gdb-ppc-power7-test.patch gdb-archer-next-over-throw-cxx-exec.patch gdb-6.6-buildid-locate-rpm-librpm-workaround.patch gdb-test-bt-cfi-without-die.patch diff --git a/gdb-ppc-power7-test.patch b/gdb-ppc-power7-test.patch deleted file mode 100644 index c8b22cf..0000000 --- a/gdb-ppc-power7-test.patch +++ /dev/null @@ -1,303 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-ppc-power7-test.patch - -;; Test power7 ppc disassembly. -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.arch/powerpc-power7rh.exp b/gdb/testsuite/gdb.arch/powerpc-power7rh.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-power7rh.exp -@@ -0,0 +1,178 @@ -+# Copyright 2009 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Test PowerPC Power7 instructions disassembly. -+ -+if {![istarget "powerpc*-*-*"]} then { -+ verbose "Skipping PowerPC Power7 instructions disassembly." -+ return -+} -+ -+set testfile "powerpc-power7rh" -+set srcfile ${testfile}.s -+set objfile [standard_output_file ${testfile}.o] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } { -+ untested "PowerPC Power7 instructions disassembly" -+ return -1 -+} -+ -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${objfile} -+ -+ -+# Disassemble the function. -+ -+set test "disass func" -+gdb_test_multiple $test $test { -+ -re "\r\nDump of assembler code for function func:(\r\n.*\r\n)End of assembler dump.\r\n$gdb_prompt $" { -+ set func $expect_out(1,string) -+ pass $test -+ } -+} -+ -+proc instr_to_patt {offset instr} { -+ # 0x0000000000000018 : stxvd2x vs43,r4,r5 -+ return ".*\r\n\[ \t\]*[string map {0x 0x0*} $offset] <(func)?\\+?\[0-9\]*>:\[ \t\]*[string map [list { } "\[ \t\]+" . {\.}] $instr]\[ \t\]*\r\n.*" -+} -+ -+# KFAIL strings would not exist if -Many would print the same as -Mpower7. -+# That means the power7 form should be the preferred one. -+# http://sourceware.org/ml/gdb-patches/2009-03/threads.html#00020 -+ -+proc func_check {offset instr {kfail ""}} { -+ global func -+ -+ set test "Found $offset: $instr" -+ if [regexp -nocase -line [instr_to_patt $offset $instr] $func] { -+ pass $test -+ } elseif {$kfail != "" && [regexp -nocase -line [instr_to_patt $offset $kfail] $func]} { -+ kfail gdb/NNNN $test -+ } else { -+ fail $test -+ } -+} -+ -+func_check 0x0 "lxvd2x vs3,r4,r5" -+# [PATCH] Remove support for POWER7 VSX load/store with update instructions -+# http://sourceware.org/ml/binutils/2009-09/msg00680.html -+# http://sourceware.org/ml/binutils-cvs/2009-09/msg00331.html -+func_check 0x4 "lxvb16x vs3,r4,r5" -+func_check 0x8 "lxvd2x vs43,r4,r5" -+func_check 0xc "lxvb16x vs43,r4,r5" -+func_check 0x10 "stxvd2x vs3,r4,r5" -+func_check 0x14 "stxvb16x vs3,r4,r5" -+func_check 0x18 "stxvd2x vs43,r4,r5" -+func_check 0x1c "stxvb16x vs43,r4,r5" -+func_check 0x20 "xxmrghd vs3,vs4,vs5" -+func_check 0x24 "xxmrghd vs43,vs44,vs45" -+func_check 0x28 "xxmrgld vs3,vs4,vs5" -+func_check 0x2c "xxmrgld vs43,vs44,vs45" -+func_check 0x30 "xxmrghd vs3,vs4,vs5" -+func_check 0x34 "xxmrghd vs43,vs44,vs45" -+func_check 0x38 "xxmrgld vs3,vs4,vs5" -+func_check 0x3c "xxmrgld vs43,vs44,vs45" -+func_check 0x40 "xxpermdi vs3,vs4,vs5,1" -+func_check 0x44 "xxpermdi vs43,vs44,vs45,1" -+func_check 0x48 "xxpermdi vs3,vs4,vs5,2" -+func_check 0x4c "xxpermdi vs43,vs44,vs45,2" -+func_check 0x50 "xvmovdp vs3,vs4" -+func_check 0x54 "xvmovdp vs43,vs44" -+func_check 0x58 "xvmovdp vs3,vs4" -+func_check 0x5c "xvmovdp vs43,vs44" -+func_check 0x60 "xvcpsgndp vs3,vs4,vs5" -+func_check 0x64 "xvcpsgndp vs43,vs44,vs45" -+func_check 0x68 "wait" -+func_check 0x6c "wait" -+func_check 0x70 "waitrsv" -+func_check 0x74 "waitrsv" -+func_check 0x78 "waitimpl" -+func_check 0x7c "waitimpl" -+func_check 0x80 "doze" -+func_check 0x84 "nap" -+func_check 0x88 "sleep" -+func_check 0x8c "rvwinkle" -+func_check 0x90 "prtyw r3,r4" -+func_check 0x94 "prtyd r13,r14" -+func_check 0x98 "mfcfar r10" "mfspr r10,28" -+func_check 0x9c "mtcfar r11" "mtspr 28,r11" -+func_check 0xa0 "cmpb r3,r4,r5" -+func_check 0xa4 "lwzcix r10,r11,r12" -+func_check 0xa8 "dadd f16,f17,f18" -+func_check 0xac "daddq f20,f22,f24" -+func_check 0xb0 "dss 3" -+func_check 0xb4 "dssall" -+func_check 0xb8 "dst r5,r4,1" -+func_check 0xbc "dstt r8,r7,0" -+func_check 0xc0 "dstst r5,r6,3" -+func_check 0xc4 "dststt r4,r5,2" -+func_check 0xc8 "divwe r10,r11,r12" -+func_check 0xcc "divwe. r11,r12,r13" -+func_check 0xd0 "divweo r12,r13,r14" -+func_check 0xd4 "divweo. r13,r14,r15" -+func_check 0xd8 "divweu r10,r11,r12" -+func_check 0xdc "divweu. r11,r12,r13" -+func_check 0xe0 "divweuo r12,r13,r14" -+func_check 0xe4 "divweuo. r13,r14,r15" -+func_check 0xe8 "bpermd r7,r17,r27" -+func_check 0xec "popcntw r10,r20" -+func_check 0xf0 "popcntd r10,r20" -+func_check 0xf4 "ldbrx r20,r21,r22" -+func_check 0xf8 "stdbrx r20,r21,r22" -+func_check 0xfc "lfiwzx f10,0,r10" -+func_check 0x100 "lfiwzx f10,r9,r10" -+func_check 0x104 "fcfids f4,f5" -+func_check 0x108 "fcfids. f4,f5" -+func_check 0x10c "fcfidus f4,f5" -+func_check 0x110 "fcfidus. f4,f5" -+func_check 0x114 "fctiwu f4,f5" -+func_check 0x118 "fctiwu. f4,f5" -+func_check 0x11c "fctiwuz f4,f5" -+func_check 0x120 "fctiwuz. f4,f5" -+func_check 0x124 "fctidu f4,f5" -+func_check 0x128 "fctidu. f4,f5" -+func_check 0x12c "fctiduz f4,f5" -+func_check 0x130 "fctiduz. f4,f5" -+func_check 0x134 "fcfidu f4,f5" -+func_check 0x138 "fcfidu. f4,f5" -+func_check 0x13c "ftdiv cr0,f10,f11" -+func_check 0x140 "ftdiv cr7,f10,f11" -+func_check 0x144 "ftsqrt cr0,f10" -+func_check 0x148 "ftsqrt cr7,f10" -+func_check 0x14c "dcbtt r8,r9" "dcbt 16,r8,r9" -+func_check 0x150 "dcbtstt r8,r9" "dcbtst 16,r8,r9" -+func_check 0x154 "dcffix f10,f12" -+func_check 0x158 "dcffix. f20,f22" -+func_check 0x15c "lbarx r10,r11,r12" -+func_check 0x160 "lbarx r10,r11,r12" -+func_check 0x164 "lbarx r10,r11,r12,1" -+func_check 0x168 "lharx r20,r21,r22" -+func_check 0x16c "lharx r20,r21,r22" -+func_check 0x170 "lharx r20,r21,r22,1" -+func_check 0x174 "stbcx. r10,r11,r12" -+func_check 0x178 "sthcx. r10,r11,r12" -+func_check 0x17c "fre f14,f15" -+func_check 0x180 "fre. f14,f15" -+func_check 0x184 "fres f14,f15" -+func_check 0x188 "fres. f14,f15" -+func_check 0x18c "frsqrte f14,f15" -+func_check 0x190 "frsqrte. f14,f15" -+func_check 0x194 "frsqrtes f14,f15" -+func_check 0x198 "frsqrtes. f14,f15" -+func_check 0x19c "isel r2,r3,r4,28" -diff --git a/gdb/testsuite/gdb.arch/powerpc-power7rh.s b/gdb/testsuite/gdb.arch/powerpc-power7rh.s -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/powerpc-power7rh.s -@@ -0,0 +1,107 @@ -+ .text -+ .globl func -+func: -+ .long 0x7c642e98 /* 0: lxvd2x vs3,r4,r5 */ -+ .long 0x7c642ed8 /* 4: lxvd2ux vs3,r4,r5 */ -+ .long 0x7d642e99 /* 8: lxvd2x vs43,r4,r5 */ -+ .long 0x7d642ed9 /* c: lxvd2ux vs43,r4,r5 */ -+ .long 0x7c642f98 /* 10: stxvd2x vs3,r4,r5 */ -+ .long 0x7c642fd8 /* 14: stxvd2ux vs3,r4,r5 */ -+ .long 0x7d642f99 /* 18: stxvd2x vs43,r4,r5 */ -+ .long 0x7d642fd9 /* 1c: stxvd2ux vs43,r4,r5 */ -+ .long 0xf0642850 /* 20: xxmrghd vs3,vs4,vs5 */ -+ .long 0xf16c6857 /* 24: xxmrghd vs43,vs44,vs45 */ -+ .long 0xf0642b50 /* 28: xxmrgld vs3,vs4,vs5 */ -+ .long 0xf16c6b57 /* 2c: xxmrgld vs43,vs44,vs45 */ -+ .long 0xf0642850 /* 30: xxmrghd vs3,vs4,vs5 */ -+ .long 0xf16c6857 /* 34: xxmrghd vs43,vs44,vs45 */ -+ .long 0xf0642b50 /* 38: xxmrgld vs3,vs4,vs5 */ -+ .long 0xf16c6b57 /* 3c: xxmrgld vs43,vs44,vs45 */ -+ .long 0xf0642950 /* 40: xxpermdi vs3,vs4,vs5,1 */ -+ .long 0xf16c6957 /* 44: xxpermdi vs43,vs44,vs45,1 */ -+ .long 0xf0642a50 /* 48: xxpermdi vs3,vs4,vs5,2 */ -+ .long 0xf16c6a57 /* 4c: xxpermdi vs43,vs44,vs45,2 */ -+ .long 0xf0642780 /* 50: xvmovdp vs3,vs4 */ -+ .long 0xf16c6787 /* 54: xvmovdp vs43,vs44 */ -+ .long 0xf0642780 /* 58: xvmovdp vs3,vs4 */ -+ .long 0xf16c6787 /* 5c: xvmovdp vs43,vs44 */ -+ .long 0xf0642f80 /* 60: xvcpsgndp vs3,vs4,vs5 */ -+ .long 0xf16c6f87 /* 64: xvcpsgndp vs43,vs44,vs45 */ -+ .long 0x7c00007c /* 68: wait */ -+ .long 0x7c00007c /* 6c: wait */ -+ .long 0x7c20007c /* 70: waitrsv */ -+ .long 0x7c20007c /* 74: waitrsv */ -+ .long 0x7c40007c /* 78: waitimpl */ -+ .long 0x7c40007c /* 7c: waitimpl */ -+ .long 0x4c000324 /* 80: doze */ -+ .long 0x4c000364 /* 84: nap */ -+ .long 0x4c0003a4 /* 88: sleep */ -+ .long 0x4c0003e4 /* 8c: rvwinkle */ -+ .long 0x7c830134 /* 90: prtyw r3,r4 */ -+ .long 0x7dcd0174 /* 94: prtyd r13,r14 */ -+ .long 0x7d5c02a6 /* 98: mfcfar r10 */ -+ .long 0x7d7c03a6 /* 9c: mtcfar r11 */ -+ .long 0x7c832bf8 /* a0: cmpb r3,r4,r5 */ -+ .long 0x7d4b662a /* a4: lwzcix r10,r11,r12 */ -+ .long 0xee119004 /* a8: dadd f16,f17,f18 */ -+ .long 0xfe96c004 /* ac: daddq f20,f22,f24 */ -+ .long 0x7c60066c /* b0: dss 3 */ -+ .long 0x7e00066c /* b4: dssall */ -+ .long 0x7c2522ac /* b8: dst r5,r4,1 */ -+ .long 0x7e083aac /* bc: dstt r8,r7,0 */ -+ .long 0x7c6532ec /* c0: dstst r5,r6,3 */ -+ .long 0x7e442aec /* c4: dststt r4,r5,2 */ -+ .long 0x7d4b6356 /* c8: divwe r10,r11,r12 */ -+ .long 0x7d6c6b57 /* cc: divwe. r11,r12,r13 */ -+ .long 0x7d8d7756 /* d0: divweo r12,r13,r14 */ -+ .long 0x7dae7f57 /* d4: divweo. r13,r14,r15 */ -+ .long 0x7d4b6316 /* d8: divweu r10,r11,r12 */ -+ .long 0x7d6c6b17 /* dc: divweu. r11,r12,r13 */ -+ .long 0x7d8d7716 /* e0: divweuo r12,r13,r14 */ -+ .long 0x7dae7f17 /* e4: divweuo. r13,r14,r15 */ -+ .long 0x7e27d9f8 /* e8: bpermd r7,r17,r27 */ -+ .long 0x7e8a02f4 /* ec: popcntw r10,r20 */ -+ .long 0x7e8a03f4 /* f0: popcntd r10,r20 */ -+ .long 0x7e95b428 /* f4: ldbrx r20,r21,r22 */ -+ .long 0x7e95b528 /* f8: stdbrx r20,r21,r22 */ -+ .long 0x7d4056ee /* fc: lfiwzx f10,0,r10 */ -+ .long 0x7d4956ee /* 100: lfiwzx f10,r9,r10 */ -+ .long 0xec802e9c /* 104: fcfids f4,f5 */ -+ .long 0xec802e9d /* 108: fcfids. f4,f5 */ -+ .long 0xec802f9c /* 10c: fcfidus f4,f5 */ -+ .long 0xec802f9d /* 110: fcfidus. f4,f5 */ -+ .long 0xfc80291c /* 114: fctiwu f4,f5 */ -+ .long 0xfc80291d /* 118: fctiwu. f4,f5 */ -+ .long 0xfc80291e /* 11c: fctiwuz f4,f5 */ -+ .long 0xfc80291f /* 120: fctiwuz. f4,f5 */ -+ .long 0xfc802f5c /* 124: fctidu f4,f5 */ -+ .long 0xfc802f5d /* 128: fctidu. f4,f5 */ -+ .long 0xfc802f5e /* 12c: fctiduz f4,f5 */ -+ .long 0xfc802f5f /* 130: fctiduz. f4,f5 */ -+ .long 0xfc802f9c /* 134: fcfidu f4,f5 */ -+ .long 0xfc802f9d /* 138: fcfidu. f4,f5 */ -+ .long 0xfc0a5900 /* 13c: ftdiv cr0,f10,f11 */ -+ .long 0xff8a5900 /* 140: ftdiv cr7,f10,f11 */ -+ .long 0xfc005140 /* 144: ftsqrt cr0,f10 */ -+ .long 0xff805140 /* 148: ftsqrt cr7,f10 */ -+ .long 0x7e084a2c /* 14c: dcbtt r8,r9 */ -+ .long 0x7e0849ec /* 150: dcbtstt r8,r9 */ -+ .long 0xed406644 /* 154: dcffix f10,f12 */ -+ .long 0xee80b645 /* 158: dcffix. f20,f22 */ -+ .long 0x7d4b6068 /* 15c: lbarx r10,r11,r12 */ -+ .long 0x7d4b6068 /* 160: lbarx r10,r11,r12 */ -+ .long 0x7d4b6069 /* 164: lbarx r10,r11,r12,1 */ -+ .long 0x7e95b0e8 /* 168: lharx r20,r21,r22 */ -+ .long 0x7e95b0e8 /* 16c: lharx r20,r21,r22 */ -+ .long 0x7e95b0e9 /* 170: lharx r20,r21,r22,1 */ -+ .long 0x7d4b656d /* 174: stbcx. r10,r11,r12 */ -+ .long 0x7d4b65ad /* 178: sthcx. r10,r11,r12 */ -+ .long 0xfdc07830 /* 17c: fre f14,f15 */ -+ .long 0xfdc07831 /* 180: fre. f14,f15 */ -+ .long 0xedc07830 /* 184: fres f14,f15 */ -+ .long 0xedc07831 /* 188: fres. f14,f15 */ -+ .long 0xfdc07834 /* 18c: frsqrte f14,f15 */ -+ .long 0xfdc07835 /* 190: frsqrte. f14,f15 */ -+ .long 0xedc07834 /* 194: frsqrtes f14,f15 */ -+ .long 0xedc07835 /* 198: frsqrtes. f14,f15 */ -+ .long 0x7c43271e /* 19c: isel r2,r3,r4,28 */ diff --git a/gdb.spec b/gdb.spec index 7eaeb57..a4d6e8f 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,10 @@ fi %endif %changelog +* Tue May 16 2023 Andrew Burgess +- Remove gdb-ppc-power7-test.patch, this patch is already covered by + upstream tests gdb.arch/powerpc-*.exp. + * Sat May 6 2023 Alexandra Hájková - Remove gdb-rhel5.9-testcase-xlf-var-inside-mod.patch, the patch adds gdb.fortran/xlf-variable.exp test, the test can only be run on From f71aced2fdb9d37abddf4b46007b4c68b73b0d3d Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 16 May 2023 16:26:07 +0100 Subject: [PATCH 55/84] Remove gdb-ccache-workaround.patch This patch adds a work around for an issue with older versions of ccache -- the line number for macros defined at the compiler command line was '1' instead of '0'. Not only is this ccache issue fixed with newer versions of ccache, but upstream GDB now disables ccache during testing, see commit: commit 49b4de64242d4ae035e0e2197837278e33c187fc Date: Thu Sep 15 14:04:20 2016 +0200 testsuite: Disable ccache As a result this work around is no longer needed, and this patch can be dropped. --- _gdb.spec.Patch.include | 56 +++++++++++++++++-------------------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-ccache-workaround.patch | 26 ----------------- gdb.spec | 5 ++++ 5 files changed, 31 insertions(+), 58 deletions(-) delete mode 100644 gdb-ccache-workaround.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index cfa47d0..6d3ff93 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -97,96 +97,92 @@ Patch023: gdb-simultaneous-step-resume-breakpoint-test.patch #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> Patch024: gdb-core-open-vdso-warning.patch -# Workaround ccache making lineno non-zero for command-line definitions. -#=fedoratest: ccache is rarely used and it is even fixed now. -Patch025: gdb-ccache-workaround.patch - # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch026: gdb-lineno-makeup-test.patch +Patch025: gdb-lineno-makeup-test.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch027: gdb-archer-next-over-throw-cxx-exec.patch +Patch026: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch028: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch027: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch029: gdb-test-bt-cfi-without-die.patch +Patch028: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch030: gdb-bz634108-solib_address.patch +Patch029: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch031: gdb-test-pid0-core.patch +Patch030: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch032: gdb-test-dw2-aranges.patch +Patch031: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch033: gdb-glibc-strstr-workaround.patch +Patch032: gdb-glibc-strstr-workaround.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch034: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch033: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch035: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch034: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch036: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch035: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch037: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch036: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch038: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch037: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch039: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch038: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch040: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch039: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch041: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch040: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch042: gdb-fedora-libncursesw.patch +Patch041: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch043: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch042: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch044: gdb-container-rh-pkg.patch +Patch043: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch045: gdb-linux_perf-bundle.patch +Patch044: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -200,24 +196,24 @@ Patch045: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch046: gdb-add-index.patch +Patch045: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch047: gdb-rhbz1553104-s390x-arch12-test.patch +Patch046: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch048: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch047: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch049: gdb-rhbz2183595-rustc-inside_main.patch +Patch048: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch050: gdb-binutils29988-read_indexed_address.patch +Patch049: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch051: gdb-rhbz2192105-ftbs-dangling-pointer +Patch050: gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 161654d..f84adba 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -48,4 +48,3 @@ %patch -p1 -P048 %patch -p1 -P049 %patch -p1 -P050 -%patch -p1 -P051 diff --git a/_patch_order b/_patch_order index f789b6e..2ddd86b 100644 --- a/_patch_order +++ b/_patch_order @@ -22,7 +22,6 @@ gdb-6.5-section-num-fixup-test.patch gdb-6.8-bz466901-backtrace-full-prelinked.patch gdb-simultaneous-step-resume-breakpoint-test.patch gdb-core-open-vdso-warning.patch -gdb-ccache-workaround.patch gdb-lineno-makeup-test.patch gdb-archer-next-over-throw-cxx-exec.patch gdb-6.6-buildid-locate-rpm-librpm-workaround.patch diff --git a/gdb-ccache-workaround.patch b/gdb-ccache-workaround.patch deleted file mode 100644 index e6137f7..0000000 --- a/gdb-ccache-workaround.patch +++ /dev/null @@ -1,26 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-ccache-workaround.patch - -;; Workaround ccache making lineno non-zero for command-line definitions. -;;=fedoratest: ccache is rarely used and it is even fixed now. - -diff --git a/gdb/testsuite/gdb.base/macscp.exp b/gdb/testsuite/gdb.base/macscp.exp ---- a/gdb/testsuite/gdb.base/macscp.exp -+++ b/gdb/testsuite/gdb.base/macscp.exp -@@ -20,6 +20,14 @@ set objfile [standard_output_file ${testfile}.o] - - set options {debug macros additional_flags=-DFROM_COMMANDLINE=ARG} - -+# Workaround ccache making lineno non-zero for command-line definitions. -+if {[find_gcc] == "gcc" && [file executable "/usr/bin/gcc"]} { -+ set result [catch "exec which gcc" output] -+ if {$result == 0 && [string first "/ccache/" $output] > -1} { -+ lappend options "compiler=/usr/bin/gcc" -+ } -+} -+ - # Generate the intermediate object file. This is required by Darwin to - # have access to the .debug_macinfo section. - if {[gdb_compile "${srcdir}/${subdir}/macscp1.c" "${objfile}" \ diff --git a/gdb.spec b/gdb.spec index a4d6e8f..ca09465 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,11 @@ fi %endif %changelog +* Tue May 16 2023 Andrew Burgess +- Remove gdb-ccache-workaround.patch. This patch works around + problems when using older versions of ccache, however, upstream GDB + now disables ccache during testing, see upstream commit 49b4de64242d. + * Tue May 16 2023 Andrew Burgess - Remove gdb-ppc-power7-test.patch, this patch is already covered by upstream tests gdb.arch/powerpc-*.exp. From 5f67b86ed19d2a8e8806ec087282ec31c17da5b6 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Sat, 20 May 2023 10:24:29 +0100 Subject: [PATCH 56/84] Remove gdb-lineno-makeup-test.patch An equivalent test has been merged upstream in this commit: commit ef56b006501ba52b128d4e5f36657ddbf56d22bc Date: Wed May 17 15:14:15 2023 +0100 gdb/testsuite: test for a function with no line table As this is only a test there seems little point in backporting this commit to Fedora -- we'll pick it up next time we rebase. For now I suggest that we drop this patch. --- _gdb.spec.Patch.include | 54 ++++++------ _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-lineno-makeup-test.patch | 165 ----------------------------------- gdb.spec | 4 + 5 files changed, 29 insertions(+), 196 deletions(-) delete mode 100644 gdb-lineno-makeup-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 6d3ff93..9501c8f 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -97,92 +97,88 @@ Patch023: gdb-simultaneous-step-resume-breakpoint-test.patch #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> Patch024: gdb-core-open-vdso-warning.patch -# Testcase for "Do not make up line information" fix by Daniel Jacobowitz. -#=fedoratest -Patch025: gdb-lineno-makeup-test.patch - # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch026: gdb-archer-next-over-throw-cxx-exec.patch +Patch025: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch027: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch026: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch028: gdb-test-bt-cfi-without-die.patch +Patch027: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch029: gdb-bz634108-solib_address.patch +Patch028: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch030: gdb-test-pid0-core.patch +Patch029: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch031: gdb-test-dw2-aranges.patch +Patch030: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch032: gdb-glibc-strstr-workaround.patch +Patch031: gdb-glibc-strstr-workaround.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch033: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch032: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch034: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch033: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch035: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch034: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch036: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch035: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch037: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch036: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch038: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch037: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch039: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch038: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch040: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch039: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch041: gdb-fedora-libncursesw.patch +Patch040: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch042: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch041: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch043: gdb-container-rh-pkg.patch +Patch042: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch044: gdb-linux_perf-bundle.patch +Patch043: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -196,24 +192,24 @@ Patch044: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch045: gdb-add-index.patch +Patch044: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch046: gdb-rhbz1553104-s390x-arch12-test.patch +Patch045: gdb-rhbz1553104-s390x-arch12-test.patch # [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch047: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +Patch046: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # Backport "Fix crash in inside_main_func" # (Tom Tromey, RHBZ 2183595) -Patch048: gdb-rhbz2183595-rustc-inside_main.patch +Patch047: gdb-rhbz2183595-rustc-inside_main.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch049: gdb-binutils29988-read_indexed_address.patch +Patch048: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch050: gdb-rhbz2192105-ftbs-dangling-pointer +Patch049: gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f84adba..2ca0c1f 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -47,4 +47,3 @@ %patch -p1 -P047 %patch -p1 -P048 %patch -p1 -P049 -%patch -p1 -P050 diff --git a/_patch_order b/_patch_order index 2ddd86b..8568481 100644 --- a/_patch_order +++ b/_patch_order @@ -22,7 +22,6 @@ gdb-6.5-section-num-fixup-test.patch gdb-6.8-bz466901-backtrace-full-prelinked.patch gdb-simultaneous-step-resume-breakpoint-test.patch gdb-core-open-vdso-warning.patch -gdb-lineno-makeup-test.patch gdb-archer-next-over-throw-cxx-exec.patch gdb-6.6-buildid-locate-rpm-librpm-workaround.patch gdb-test-bt-cfi-without-die.patch diff --git a/gdb-lineno-makeup-test.patch b/gdb-lineno-makeup-test.patch deleted file mode 100644 index 4b96286..0000000 --- a/gdb-lineno-makeup-test.patch +++ /dev/null @@ -1,165 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-lineno-makeup-test.patch - -;; Testcase for "Do not make up line information" fix by Daniel Jacobowitz. -;;=fedoratest - -New testcase for: -https://bugzilla.redhat.com/show_bug.cgi?id=466222 - (for the first / customer recommended fix) -and the upstream fix: -http://sourceware.org/ml/gdb-patches/2006-11/msg00253.html - [rfc] Do not make up line information -http://sourceware.org/ml/gdb-cvs/2006-11/msg00127.html - -diff --git a/gdb/testsuite/gdb.base/lineno-makeup-func.c b/gdb/testsuite/gdb.base/lineno-makeup-func.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/lineno-makeup-func.c -@@ -0,0 +1,21 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2009 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+void -+func (void) -+{ -+} -diff --git a/gdb/testsuite/gdb.base/lineno-makeup.c b/gdb/testsuite/gdb.base/lineno-makeup.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/lineno-makeup.c -@@ -0,0 +1,35 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2009 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* DW_AT_low_pc-DW_AT_high_pc should cover the function without line number -+ information (.debug_line) so we cannot use an external object file. -+ -+ It must not be just a label as it would alias on the next function even for -+ correct GDB. Therefore some stub data must be placed there. -+ -+ We need to provide a real stub function body as at least s390 -+ (s390_analyze_prologue) would skip the whole body till reaching `main'. */ -+ -+extern void func (void); -+asm ("func: .incbin \"" BINFILENAME "\""); -+ -+int -+main (void) -+{ -+ func (); -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.base/lineno-makeup.exp b/gdb/testsuite/gdb.base/lineno-makeup.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/lineno-makeup.exp -@@ -0,0 +1,78 @@ -+# Copyright 2009 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+set testfile "lineno-makeup" -+set srcfuncfile ${testfile}-func.c -+set srcfile ${testfile}.c -+set objfuncfile [standard_output_file ${testfile}-func.o] -+set binfuncfile [standard_output_file ${testfile}-func.bin] -+set binfile [standard_output_file ${testfile}] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfuncfile}" "${objfuncfile}" object {}] != "" } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+ -+set objcopy [catch "exec objcopy -O binary --only-section .text ${objfuncfile} ${binfuncfile}" output] -+verbose -log "objcopy=$objcopy: $output" -+if { $objcopy != 0 } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+set binfuncfilesize [file size $binfuncfile] -+verbose -log "file size $binfuncfile = $binfuncfilesize" -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug additional_flags=-DBINFILENAME=\"$binfuncfile\"]] != "" } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+set b_addr "" -+set test "break func" -+gdb_test_multiple $test $test { -+ -re "Breakpoint \[0-9\]+ at (0x\[0-9a-f\]+)\r\n$gdb_prompt $" { -+ set b_addr $expect_out(1,string) -+ pass $test -+ } -+ -re "Breakpoint \[0-9\]+ at (0x\[0-9a-f\]+): .*\r\n$gdb_prompt $" { -+ set b_addr $expect_out(1,string) -+ fail $test -+ } -+} -+verbose -log "b_addr=<$b_addr>" -+ -+set p_addr "" -+set test "print func" -+gdb_test_multiple $test $test { -+ -re "\\$\[0-9\]+ = {} (0x\[0-9a-f\]+) \r\n$gdb_prompt $" { -+ set p_addr $expect_out(1,string) -+ pass $test -+ } -+} -+verbose -log "p_addr=<$p_addr>" -+ -+set test "break address belongs to func" -+if {$b_addr == $p_addr} { -+ pass "$test (exact match)" -+} else { -+ set skip [expr $b_addr - $p_addr] -+ if {$skip > 0 && $skip < $binfuncfilesize} { -+ pass "$test (prologue skip by $skip bytes)" -+ } else { -+ fail $test -+ } -+} diff --git a/gdb.spec b/gdb.spec index ca09465..9dbd51a 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,10 @@ fi %endif %changelog +* Sat May 20 2023 Andrew Burgess +- Remove gdb-lineno-makeup-test.patch. An equivalent test has now + been merged to upstream binutils-gdb in commit ef56b006501. + * Tue May 16 2023 Andrew Burgess - Remove gdb-ccache-workaround.patch. This patch works around problems when using older versions of ccache, however, upstream GDB From dc392f53a258f4d66a68497b8ddf133bc3e65f98 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Thu, 8 Jun 2023 13:07:39 -0700 Subject: [PATCH 57/84] libipt no longer requires initialization Since commit d701c95bb9f6db652ada625023bf8bdf54750365, this initialization patch has not been needed: commit d701c95bb9f6db652ada625023bf8bdf54750365 Author: Markus Metzger Date: Mon Jan 30 17:30:44 2017 +0100 libipt, init: remove library constructor Now that the instruction length decoder no longer needs initialization, we can remove the library's constructor. Change-Id: Ibaa43be9a8af6e4e4f3a78fd9c84b3589cf33e99 Signed-off-by: Markus Metzger I've verified that RHEL7 IPT still works. --- v1.5-libipt-static.patch | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 v1.5-libipt-static.patch diff --git a/v1.5-libipt-static.patch b/v1.5-libipt-static.patch deleted file mode 100644 index 69e1d1a..0000000 --- a/v1.5-libipt-static.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: processor-trace-2.0/libipt/src/posix/init.c -=================================================================== ---- processor-trace-2.0.orig/libipt/src/posix/init.c -+++ processor-trace-2.0/libipt/src/posix/init.c -@@ -29,7 +29,7 @@ - #include "pt_ild.h" - - --static void __attribute__((constructor)) init(void) -+void __libipt_init(void) - { - /* Initialize the Intel(R) Processor Trace instruction decoder. */ - pt_ild_init(); From e0c46fa352ce3c5dc6a795e0d6b21865cc3ed4f3 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Thu, 8 Jun 2023 15:34:51 -0700 Subject: [PATCH 58/84] Remove gdb-testsuite-readline63-sigint-revert.patch This patch was removed with the 10.2 rebase (commit 8594aea), but appears to have been accidentally reintroduced with the 11.1 rebase (commit 1f618b9). --- gdb-testsuite-readline63-sigint-revert.patch | 33 -------------------- 1 file changed, 33 deletions(-) delete mode 100644 gdb-testsuite-readline63-sigint-revert.patch diff --git a/gdb-testsuite-readline63-sigint-revert.patch b/gdb-testsuite-readline63-sigint-revert.patch deleted file mode 100644 index c5e1b2e..0000000 --- a/gdb-testsuite-readline63-sigint-revert.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git b/gdb/testsuite/gdb.gdb/selftest.exp a/gdb/testsuite/gdb.gdb/selftest.exp -index 7e6a4e1..969797a 100644 ---- b/gdb/testsuite/gdb.gdb/selftest.exp -+++ a/gdb/testsuite/gdb.gdb/selftest.exp -@@ -451,25 +451,9 @@ proc test_with_self { executable } { - } - - set description "send SIGINT signal to child process" -- gdb_test_multiple "signal SIGINT" "$description" { -- -re "^signal SIGINT\r\nContinuing with signal SIGINT.\r\nQuit\r\n" { -- pass "$description" -- } -- } -- -- set description "send ^C to child process again" -- send_gdb "\003" -- gdb_expect { -- -re "(Thread .*|Program) received signal SIGINT.*$gdb_prompt $" { -- pass "$description" -- } -- -re ".*$gdb_prompt $" { -- fail "$description" -- } -- timeout { -- fail "$description (timeout)" -- } -- } -+ gdb_test "signal SIGINT" \ -+ "Continuing with signal SIGINT.*" \ -+ "$description" - - # Switch back to the GDB thread if Guile support is linked in. - # "signal SIGINT" could also switch the current thread. From dacd4f346f8f4b88942ef331b843181a549d6034 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 15:18:09 +0200 Subject: [PATCH 59/84] Bootstrap for Python 3.12 --- gdb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 9dbd51a..c72c71b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1,3 +1,4 @@ +%global _without_python 1 # rpmbuild parameters: # --with testsuite: Run the testsuite (biarch if possible). Default is without. # --with buildisa: Use %%{?_isa} for BuildRequires @@ -57,7 +58,7 @@ Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1249,6 +1250,9 @@ fi %endif %changelog +* Tue Jun 13 2023 Python Maint +- Bootstrap for Python 3.12 + * Sat May 20 2023 Andrew Burgess - Remove gdb-lineno-makeup-test.patch. An equivalent test has now been merged to upstream binutils-gdb in commit ef56b006501. From 68fb4ae79f708ba6b8de12a901bee88dd814c5e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= Date: Tue, 13 Jun 2023 15:47:32 +0200 Subject: [PATCH 60/84] Hotpach rpm 4.19 soname version --- gdb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gdb.spec b/gdb.spec index c72c71b..2bc42c8 100644 --- a/gdb.spec +++ b/gdb.spec @@ -162,6 +162,9 @@ Recommends: default-yama-scope %if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 %global librpmver 9 %endif +%if 0%{?fedora} >= 39 || 0%{?rhel} >= 10 +%global librpmver 10 +%endif %endif %endif %if 0%{?__isa_bits} == 64 From 67cb8a0e818e334c97d3e75a7603c864345039b3 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 23:26:41 +0200 Subject: [PATCH 61/84] Rebuilt for Python 3.12 --- gdb.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gdb.spec b/gdb.spec index 2bc42c8..9c25e00 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1,4 +1,3 @@ -%global _without_python 1 # rpmbuild parameters: # --with testsuite: Run the testsuite (biarch if possible). Default is without. # --with buildisa: Use %%{?_isa} for BuildRequires @@ -58,7 +57,7 @@ Version: 13.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1253,6 +1252,9 @@ fi %endif %changelog +* Tue Jun 13 2023 Python Maint +- Rebuilt for Python 3.12 + * Tue Jun 13 2023 Python Maint - Bootstrap for Python 3.12 From b85c01223e744a6e5e0d58c1fd03a1f527faf869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Mon, 5 Jun 2023 13:36:15 +0200 Subject: [PATCH 62/84] Rebase to FSF GDB 13.2. --- .gitignore | 1 + _gdb.spec.Patch.include | 11 +- _gdb.spec.patch.include | 2 - _git_upstream_commit | 2 +- _patch_order | 2 - ...2177655-aarch64-pauth-valid-regcache.patch | 279 ------------------ gdb-rhbz2183595-rustc-inside_main.patch | 136 --------- gdb.spec | 9 +- sources | 4 +- 9 files changed, 12 insertions(+), 434 deletions(-) delete mode 100644 gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch delete mode 100644 gdb-rhbz2183595-rustc-inside_main.patch diff --git a/.gitignore b/.gitignore index 59fdeb1..b4b0840 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz /v2.0.5.tar.gz /gdb-13.1.tar.xz +/gdb-13.2.tar.xz diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 9501c8f..1befb33 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -198,18 +198,11 @@ Patch044: gdb-add-index.patch # =fedoratest Patch045: gdb-rhbz1553104-s390x-arch12-test.patch -# [aarch64] Backport fix from Luis Machado for RH BZ 2177655. -Patch046: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch - -# Backport "Fix crash in inside_main_func" -# (Tom Tromey, RHBZ 2183595) -Patch047: gdb-rhbz2183595-rustc-inside_main.patch - # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch048: gdb-binutils29988-read_indexed_address.patch +Patch046: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch049: gdb-rhbz2192105-ftbs-dangling-pointer +Patch047: gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 2ca0c1f..8258dc9 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -45,5 +45,3 @@ %patch -p1 -P045 %patch -p1 -P046 %patch -p1 -P047 -%patch -p1 -P048 -%patch -p1 -P049 diff --git a/_git_upstream_commit b/_git_upstream_commit index 550f43d..26ed85a 100644 --- a/_git_upstream_commit +++ b/_git_upstream_commit @@ -1 +1 @@ -4f3e26ac6ee31f7bc4b04abd8bdb944e7f1fc5d2 +662243de0e14a4945555a480dca33c0e677976eb diff --git a/_patch_order b/_patch_order index 8568481..6c3981d 100644 --- a/_patch_order +++ b/_patch_order @@ -43,7 +43,5 @@ gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch gdb-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch -gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch -gdb-rhbz2183595-rustc-inside_main.patch gdb-binutils29988-read_indexed_address.patch gdb-rhbz2192105-ftbs-dangling-pointer diff --git a/gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch b/gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch deleted file mode 100644 index 4f72647..0000000 --- a/gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch +++ /dev/null @@ -1,279 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Kevin Buettner -Date: Fri, 24 Mar 2023 15:26:57 -0700 -Subject: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch - -;; [aarch64] Backport fix from Luis Machado for RH BZ 2177655. - -aarch64: Check for valid inferior thread/regcache before reading pauth registers - -There were reports of gdb throwing internal errors when calling -inferior_thread ()/get_current_regcache () on a system with -Pointer Authentication enabled. - -In such cases, gdb produces the following backtrace, or a variation -of it (for gdb's with the non-address removal implemented only in -the aarch64-linux-tdep.c file). - -../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed. -A problem internal to GDB has been detected, -further debugging may prove unreliable. ------ Backtrace ----- -0xaaaae04a571f gdb_internal_backtrace_1 - ../../../repos/binutils-gdb/gdb/bt-utils.c:122 -0xaaaae04a57f3 _Z22gdb_internal_backtracev - ../../../repos/binutils-gdb/gdb/bt-utils.c:168 -0xaaaae0b52ccf internal_vproblem - ../../../repos/binutils-gdb/gdb/utils.c:401 -0xaaaae0b5310b _Z15internal_verrorPKciS0_St9__va_list - ../../../repos/binutils-gdb/gdb/utils.c:481 -0xaaaae0e24b8f _Z18internal_error_locPKciS0_z - ../../../repos/binutils-gdb/gdbsupport/errors.cc:58 -0xaaaae0a88983 _Z15inferior_threadv - ../../../repos/binutils-gdb/gdb/thread.c:86 -0xaaaae0956c87 _Z20get_current_regcachev - ../../../repos/binutils-gdb/gdb/regcache.c:428 -0xaaaae035223f aarch64_remove_non_address_bits - ../../../repos/binutils-gdb/gdb/aarch64-tdep.c:3572 -0xaaaae03e8abb _Z31gdbarch_remove_non_address_bitsP7gdbarchm - ../../../repos/binutils-gdb/gdb/gdbarch.c:3109 -0xaaaae0a692d7 memory_xfer_partial - ../../../repos/binutils-gdb/gdb/target.c:1620 -0xaaaae0a695e3 _Z19target_xfer_partialP10target_ops13target_objectPKcPhPKhmmPm - ../../../repos/binutils-gdb/gdb/target.c:1684 -0xaaaae0a69e9f target_read_partial - ../../../repos/binutils-gdb/gdb/target.c:1937 -0xaaaae0a69fdf _Z11target_readP10target_ops13target_objectPKcPhml - ../../../repos/binutils-gdb/gdb/target.c:1977 -0xaaaae0a69937 _Z18target_read_memorymPhl - ../../../repos/binutils-gdb/gdb/target.c:1773 -0xaaaae08be523 ps_xfer_memory - ../../../repos/binutils-gdb/gdb/proc-service.c:90 -0xaaaae08be6db ps_pdread - ../../../repos/binutils-gdb/gdb/proc-service.c:124 -0x40001ed7c3b3 _td_fetch_value - /build/glibc-RIFKjK/glibc-2.31/nptl_db/fetch-value.c:115 -0x40001ed791ef td_ta_map_lwp2thr - /build/glibc-RIFKjK/glibc-2.31/nptl_db/td_ta_map_lwp2thr.c:194 -0xaaaae07f4473 thread_from_lwp - ../../../repos/binutils-gdb/gdb/linux-thread-db.c:413 -0xaaaae07f6d6f _ZN16thread_db_target4waitE6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE - ../../../repos/binutils-gdb/gdb/linux-thread-db.c:1420 -0xaaaae0a6b33b _Z11target_wait6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE - ../../../repos/binutils-gdb/gdb/target.c:2586 -0xaaaae0789cf7 do_target_wait_1 - ../../../repos/binutils-gdb/gdb/infrun.c:3825 -0xaaaae0789e6f operator() - ../../../repos/binutils-gdb/gdb/infrun.c:3884 -0xaaaae078a167 do_target_wait - ../../../repos/binutils-gdb/gdb/infrun.c:3903 -0xaaaae078b0af _Z20fetch_inferior_eventv - ../../../repos/binutils-gdb/gdb/infrun.c:4314 -0xaaaae076652f _Z22inferior_event_handler19inferior_event_type - ../../../repos/binutils-gdb/gdb/inf-loop.c:41 -0xaaaae07dc68b handle_target_event - ../../../repos/binutils-gdb/gdb/linux-nat.c:4206 -0xaaaae0e25fbb handle_file_event - ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:573 -0xaaaae0e264f3 gdb_wait_for_event - ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:694 -0xaaaae0e24f9b _Z16gdb_do_one_eventi - ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:217 -0xaaaae080f033 start_event_loop - ../../../repos/binutils-gdb/gdb/main.c:411 -0xaaaae080f1b7 captured_command_loop - ../../../repos/binutils-gdb/gdb/main.c:475 -0xaaaae0810b97 captured_main - ../../../repos/binutils-gdb/gdb/main.c:1318 -0xaaaae0810c1b _Z8gdb_mainP18captured_main_args - ../../../repos/binutils-gdb/gdb/main.c:1337 -0xaaaae0338453 main - ../../../repos/binutils-gdb/gdb/gdb.c:32 ---------------------- -../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed. -A problem internal to GDB has been detected, -further debugging may prove unreliable. -Quit this debugging session? (y or n) - -We also see failures across the testsuite if the tests get executed on a target -that has native support for the pointer authentication feature. But -gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of -tests that run into errors and internal errors. - -This issue started after commit d88cb738e6a7a7179dfaff8af78d69250c852af1, which -enabled more broad use of pointer authentication masks to remove non-address -bits of pointers, but wasn't immediately detected because systems with native -support for pointer authentication are not that common yet. - -The above crash happens because gdb is in the middle of handling an event, -and do_target_wait_1 calls switch_to_inferior_no_thread, nullifying the -current thread. This means a call to inferior_thread () will assert, and -attempting to call get_current_regcache () will also call inferior_thread (), -resulting in an assertion as well. - -target_has_registers was one function that seemed useful for detecting these -types of situation where we don't have a register cache. The problem with that -is the inconsistent state of inferior_ptid, which is used by -target_has_registers. - -Despite the call to switch_to_no_thread in switch_to_inferior_no_thread from -do_target_wait_1 in the backtrace above clearing inferior_ptid, the call to -ps_xfer_memory sets inferior_ptid momentarily before reading memory: - -static ps_err_e -ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr, - gdb_byte *buf, size_t len, int write) -{ - scoped_restore_current_inferior restore_inferior; - set_current_inferior (ph->thread->inf); - - scoped_restore_current_program_space restore_current_progspace; - set_current_program_space (ph->thread->inf->pspace); - - scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); - inferior_ptid = ph->thread->ptid; - - CORE_ADDR core_addr = ps_addr_to_core_addr (addr); - - int ret; - if (write) - ret = target_write_memory (core_addr, buf, len); - else - ret = target_read_memory (core_addr, buf, len); - return (ret == 0 ? PS_OK : PS_ERR); -} - -Maybe this shouldn't happen, or maybe it is just an unfortunate state to be -in. But this prevents the use of target_has_registers to guard against the -lack of registers, since, although current_thread_ is still nullptr, -inferior_ptid is valid and is not null_ptid. - -There is another crash scenario after we kill a previously active inferior, in -which case the gdbarch will still say we support pointer authentication but we -will also have no current thread (inferior_thread () will assert etc). - -If the target has support for pointer authentication, gdb needs to use -a couple (or 4, for bare-metal) mask registers to mask off some bits of -pointers, and for that it needs to access the registers. - -At some points, like the one from the backtrace above, there is no active -thread/current regcache because gdb is in the middle of doing event handling -and switching between threads. - -Simon suggested the use of inferior_ptid to fetch the register cache, as -opposed to relying on the current register cache. Though we need to make sure -inferior_ptid is valid (not null_ptid), I think this works nicely. - -With inferior_ptid, we can do safety checks along the way, making sure we have -a thread to fetch a register cache from and checking if the thread is actually -stopped or running. - -The following patch implements this idea with safety checks to make sure we -don't run into assertions or errors. If any of the checks fail, we fallback to -using a default mask to remove non-address bits of a pointer. - -I discussed with Pedro the possibility of caching the mask register values -(which are per-process and can change mid-execution), but there isn't a good -spot to cache those values. Besides, the mask registers can change constantly -for bare-metal debugging when switching between exception levels. - -In some cases, it is just not possible to get access to these mask registers, -like the case where threads are running. In those cases, using a default mask -to remove the non-address bits should be enough. - -This can happen when we let threads run in the background and then we attempt -to access a memory address (now that gdb is capable of reading memory even -with threads running). Thus gdb will attempt to remove non-address bits -of that memory access, will attempt to access registers, running into errors. - -Regression-tested on aarch64-linux Ubuntu 20.04. - -diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c ---- a/gdb/aarch64-linux-tdep.c -+++ b/gdb/aarch64-linux-tdep.c -@@ -57,6 +57,9 @@ - #include "elf/common.h" - #include "elf/aarch64.h" - -+/* For inferior_ptid and current_inferior (). */ -+#include "inferior.h" -+ - /* Signal frame handling. - - +------------+ ^ -@@ -1986,29 +1989,60 @@ aarch64_linux_decode_memtag_section (struct gdbarch *gdbarch, - static CORE_ADDR - aarch64_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer) - { -- aarch64_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -- - /* By default, we assume TBI and discard the top 8 bits plus the VA range -- select bit (55). */ -+ select bit (55). Below we try to fetch information about pointer -+ authentication masks in order to make non-address removal more -+ precise. */ - CORE_ADDR mask = AARCH64_TOP_BITS_MASK; - -- if (tdep->has_pauth ()) -+ /* Check if we have an inferior first. If not, just use the default -+ mask. -+ -+ We use the inferior_ptid here because the pointer authentication masks -+ should be the same across threads of a process. Since we may not have -+ access to the current thread (gdb may have switched to no inferiors -+ momentarily), we use the inferior ptid. */ -+ if (inferior_ptid != null_ptid) - { -- /* Fetch the PAC masks. These masks are per-process, so we can just -- fetch data from whatever thread we have at the moment. -+ /* If we do have an inferior, attempt to fetch its thread's thread_info -+ struct. */ -+ thread_info *thread -+ = find_thread_ptid (current_inferior ()->process_target (), -+ inferior_ptid); - -- Also, we have both a code mask and a data mask. For now they are the -- same, but this may change in the future. */ -- struct regcache *regs = get_current_regcache (); -- CORE_ADDR cmask, dmask; -+ /* If the thread is running, we will not be able to fetch the mask -+ registers. */ -+ if (thread != nullptr && thread->state != THREAD_RUNNING) -+ { -+ /* Otherwise, fetch the register cache and the masks. */ -+ struct regcache *regs -+ = get_thread_regcache (current_inferior ()->process_target (), -+ inferior_ptid); -+ -+ /* Use the gdbarch from the register cache to check for pointer -+ authentication support, as it matches the features found in -+ that particular thread. */ -+ aarch64_gdbarch_tdep *tdep -+ = gdbarch_tdep (regs->arch ()); -+ -+ /* Is there pointer authentication support? */ -+ if (tdep->has_pauth ()) -+ { -+ /* We have both a code mask and a data mask. For now they are -+ the same, but this may change in the future. */ -+ CORE_ADDR cmask, dmask; - -- if (regs->cooked_read (tdep->pauth_reg_base, &dmask) != REG_VALID) -- dmask = mask; -+ if (regs->cooked_read (tdep->pauth_reg_base, &dmask) -+ != REG_VALID) -+ dmask = mask; - -- if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) != REG_VALID) -- cmask = mask; -+ if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) -+ != REG_VALID) -+ cmask = mask; - -- mask |= aarch64_mask_from_pac_registers (cmask, dmask); -+ mask |= aarch64_mask_from_pac_registers (cmask, dmask); -+ } -+ } - } - - return aarch64_remove_top_bits (pointer, mask); diff --git a/gdb-rhbz2183595-rustc-inside_main.patch b/gdb-rhbz2183595-rustc-inside_main.patch deleted file mode 100644 index 16a77b6..0000000 --- a/gdb-rhbz2183595-rustc-inside_main.patch +++ /dev/null @@ -1,136 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Tom Tromey -Date: Fri, 24 Feb 2023 10:40:16 -0700 -Subject: gdb-rhbz2183595-rustc-inside_main.patch - -;; Backport "Fix crash in inside_main_func" -;; (Tom Tromey, RHBZ 2183595) - -gdb 13.1 crashes while running the rust compiler's debugger tests. -The crash has a number of causes. - -First, the rust compiler still uses the C++-like _Z mangling, but with -its own twist -- some hex digits added to the end of a symbol. So, -while gdb finds the correct name of "main": - -(top-gdb) p name -$13 = 0x292e0c0 "rustc_gdb_1031745::main" - -It isn't found in the minsyms, because C++ demangling yields: - -[99] t 0x90c0 _ZN17rustc_gdb_10317454main17h5b5be7fe16a97225E section .text rustc_gdb_1031745::main::h5b5be7fe16a97225 zko06yobckx336v - -This could perhaps be fixed. I also filed a new PR to suggest -preferring the linkage name of the main program. - -Next, the rust compiler emits both a DW_TAG_subprogram and a -DW_TAG_namespace for "main". This happens because the file is named -"main.rs" -- i.e., the bug is specific to the source file name. The -crash also seems to require the nested function inside of 'main', at -least for me. The namespace always is generated, but perhaps this -changes the ordering in the DWARF. - -When inside_main_func looks up the main symbol, it finds the namespace -symbol rather than the function. (I filed a bug about fixing gdb's -symbol tables -- long overdue.) - -Meanwhile, as I think it's important to fix this crash sooner rather -than later, this patch changes inside_main_func to check that the -symbol that is found is LOC_BLOCK. This perhaps should have been done -in the first place, anyway. - -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30158 - -diff --git a/gdb/frame.c b/gdb/frame.c ---- a/gdb/frame.c -+++ b/gdb/frame.c -@@ -2453,6 +2453,14 @@ inside_main_func (frame_info_ptr this_frame) - if (bs.symbol == nullptr) - return false; - -+ /* We might have found some unrelated symbol. For example, the -+ Rust compiler can emit both a subprogram and a namespace with -+ the same name in the same scope; and due to how gdb's symbol -+ tables currently work, we can't request the one we'd -+ prefer. */ -+ if (bs.symbol->aclass () != LOC_BLOCK) -+ return false; -+ - const struct block *block = bs.symbol->value_block (); - gdb_assert (block != nullptr); - sym_addr = block->start (); -diff --git a/gdb/testsuite/gdb.rust/main-crash.exp b/gdb/testsuite/gdb.rust/main-crash.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.rust/main-crash.exp -@@ -0,0 +1,35 @@ -+# Copyright (C) 2023 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# Regression test for a crash in inside_main_func. -+ -+load_lib rust-support.exp -+require allow_rust_tests -+ -+standard_testfile main.rs -+if {[prepare_for_testing "failed to prepare" $testfile $srcfile \ -+ {debug rust}]} { -+ return -1 -+} -+ -+set line [gdb_get_line_number "BREAK"] -+# The bug was that this would crash. -+if {![runto ${srcfile}:$line]} { -+ untested "could not run to breakpoint" -+ return -1 -+} -+ -+# Test that gdb is alive. -+gdb_test "print 23" " = 23" -diff --git a/gdb/testsuite/gdb.rust/main.rs b/gdb/testsuite/gdb.rust/main.rs -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.rust/main.rs -@@ -0,0 +1,30 @@ -+// Copyright (C) 2016-2023 Free Software Foundation, Inc. -+ -+// This program is free software; you can redistribute it and/or modify -+// it under the terms of the GNU General Public License as published by -+// the Free Software Foundation; either version 3 of the License, or -+// (at your option) any later version. -+// -+// This program is distributed in the hope that it will be useful, -+// but WITHOUT ANY WARRANTY; without even the implied warranty of -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+// GNU General Public License for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program. If not, see . -+ -+#![allow(dead_code)] -+#![allow(unused_variables)] -+#![allow(unused_assignments)] -+ -+fn global_fn(x: u8) { -+ // BREAK -+} -+ -+fn main() { -+ fn nested(y: u8) { -+ global_fn(y) -+ } -+ -+ nested(23); -+} diff --git a/gdb.spec b/gdb.spec index 9c25e00..7eb683e 100644 --- a/gdb.spec +++ b/gdb.spec @@ -53,11 +53,11 @@ Name: %{?scl_prefix}gdb # See timestamp of source gnulib installed into gnulib/ . %global snapgnulib 20220501 %global tarname gdb-%{version} -Version: 13.1 +Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 7%{?dist} +Release: 1%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,11 @@ fi %endif %changelog +* Sun Jun 25 2023 Alexandra Hájková - 13.2 +- Rebase to FSF GDB 13.22. +- Remove gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch. +- Remove gdb-rhbz2183595-rustc-inside_main.patch. + * Tue Jun 13 2023 Python Maint - Rebuilt for Python 3.12 diff --git a/sources b/sources index 7f7f1ed..6ce9bdd 100644 --- a/sources +++ b/sources @@ -1,3 +1 @@ -SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8 -SHA512 (v2.0.5.tar.gz) = 2e7ac2aede84671b15597d9c56dbe077a81357bbf44b6684802592246fb7729b4a5743238ddf02f6ea143b4d29872f581408135f9c1ea1ccc99dab905916d98d -SHA512 (gdb-13.1.tar.xz) = e65054ffbc0357eeed4b17e1edc5ef45aa73c9ddf3b1210651e3d859576e27c1d27b266800fe26328eda58857455ccd8632f4000cfc5f63f90854096290187ca +SHA512 (gdb-13.2.tar.xz) = 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 From 61b2b883caebe3581d047b63366dc65a9069094a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Wed, 28 Jun 2023 10:56:34 +0200 Subject: [PATCH 63/84] Fix sources file. --- sources | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources b/sources index 6ce9bdd..bac9830 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ +SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8 +SHA512 (v2.0.5.tar.gz) = 2e7ac2aede84671b15597d9c56dbe077a81357bbf44b6684802592246fb7729b4a5743238ddf02f6ea143b4d29872f581408135f9c1ea1ccc99dab905916d98d SHA512 (gdb-13.2.tar.xz) = 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 From 57b0ecded607cddf187f45150c8f6931f6d556f7 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 28 Jun 2023 19:04:31 +0200 Subject: [PATCH 64/84] Rebuilt for Python 3.12 --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 7eb683e..ba0ab43 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Wed Jun 28 2023 Python Maint +- Rebuilt for Python 3.12 + * Sun Jun 25 2023 Alexandra Hájková - 13.2 - Rebase to FSF GDB 13.22. - Remove gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch. From d5dc87ea90091b6e3664fe94da0c8ece672fb320 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Fri, 30 Jun 2023 15:20:10 -0700 Subject: [PATCH 65/84] Suppress repeated warnings when loading a core file Backport upstream changes which prevent repeated warnings from being printed when loading a core file (RHBZ 2160211, Lancelot SIX). --- _gdb.spec.Patch.include | 5 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...2160211-excessive-core-file-warnings.patch | 108 ++++++++++++++++++ gdb.spec | 10 +- 5 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 gdb-rhbz2160211-excessive-core-file-warnings.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 1befb33..eeed776 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -206,3 +206,8 @@ Patch046: gdb-binutils29988-read_indexed_address.patch # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). Patch047: gdb-rhbz2192105-ftbs-dangling-pointer +# Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX +# which prevent repeated warnings from being printed while loading a +# core file. (RH BZ 2160211) +Patch048: gdb-rhbz2160211-excessive-core-file-warnings.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8258dc9..ef55dd0 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -45,3 +45,4 @@ %patch -p1 -P045 %patch -p1 -P046 %patch -p1 -P047 +%patch -p1 -P048 diff --git a/_patch_order b/_patch_order index 6c3981d..cddc2ce 100644 --- a/_patch_order +++ b/_patch_order @@ -45,3 +45,4 @@ gdb-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-binutils29988-read_indexed_address.patch gdb-rhbz2192105-ftbs-dangling-pointer +gdb-rhbz2160211-excessive-core-file-warnings.patch diff --git a/gdb-rhbz2160211-excessive-core-file-warnings.patch b/gdb-rhbz2160211-excessive-core-file-warnings.patch new file mode 100644 index 0000000..a790054 --- /dev/null +++ b/gdb-rhbz2160211-excessive-core-file-warnings.patch @@ -0,0 +1,108 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Thu, 29 Jun 2023 18:20:30 -0700 +Subject: gdb-rhbz2160211-excessive-core-file-warnings.patch + +;; Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX +;; which prevent repeated warnings from being printed while loading a +;; core file. (RH BZ 2160211) + +gdb/corelow.c: avoid repeated warnings in build_file_mappings + +When GDB opens a coredump it tries to locate and then open all files +which were mapped in the process. + +If a file is found but cannot be opened with BFD (bfd_open / +bfd_check_format fails), then a warning is printed to the user. If the +same file was mapped multiple times in the process's address space, the +warning is printed once for each time the file was mapped. I find this +un-necessarily noisy. + +This patch makes it so the warning message is printed only once per +file. + +There was a comment in the code assuming that if the file was found on +the system, opening it (bfd_open + bfd_check_format) should always +succeed. A recent change in BFD (014a602b86f "Don't optimise bfd_seek +to same position") showed that this assumption is not valid. For +example, it is possible to have a core dump of a process which had +mmaped an IO page from a DRI render node (/dev/dri/runderD$NUM). In +such case the core dump does contain the information that portions of +this special file were mapped in the host process, but trying to seek to +position 0 will fail, making bfd_check_format fail. This patch removes +this comment. + +Reviewed-By: John Baldwin +Approved-By: Andrew Burgess + +gdb/corelow.c: do not try to reopen a file if open failed once + +In the current implementation, core_target::build_file_mappings will try +to locate and open files which were mapped in the process for which the +core dump was produced. If the file cannot be found or cannot be +opened, GDB will re-try to open it once for each time it was mapped in +the process's address space. + +This patch makes it so GDB recognizes that it has already failed to open +a given file once and does not re-try the process for each mapping. + +Reviewed-By: John Baldwin +Approved-By: Andrew Burgess + +diff --git a/gdb/corelow.c b/gdb/corelow.c +--- a/gdb/corelow.c ++++ b/gdb/corelow.c +@@ -237,6 +237,16 @@ core_target::build_file_mappings () + weed out non-file-backed mappings. */ + gdb_assert (filename != nullptr); + ++ if (unavailable_paths.find (filename) != unavailable_paths.end ()) ++ { ++ /* We have already seen some mapping for FILENAME but failed to ++ find/open the file. There is no point in trying the same ++ thing again so just record that the range [start, end) is ++ unavailable. */ ++ m_core_unavailable_mappings.emplace_back (start, end - start); ++ return; ++ } ++ + struct bfd *bfd = bfd_map[filename]; + if (bfd == nullptr) + { +@@ -254,11 +264,10 @@ core_target::build_file_mappings () + if (expanded_fname == nullptr) + { + m_core_unavailable_mappings.emplace_back (start, end - start); +- /* Print just one warning per path. */ +- if (unavailable_paths.insert (filename).second) +- warning (_("Can't open file %s during file-backed mapping " +- "note processing"), +- filename); ++ unavailable_paths.insert (filename); ++ warning (_("Can't open file %s during file-backed mapping " ++ "note processing"), ++ filename); + return; + } + +@@ -268,18 +277,11 @@ core_target::build_file_mappings () + if (bfd == nullptr || !bfd_check_format (bfd, bfd_object)) + { + m_core_unavailable_mappings.emplace_back (start, end - start); +- /* If we get here, there's a good chance that it's due to +- an internal error. We issue a warning instead of an +- internal error because of the possibility that the +- file was removed in between checking for its +- existence during the expansion in exec_file_find() +- and the calls to bfd_openr() / bfd_check_format(). +- Output both the path from the core file note along +- with its expansion to make debugging this problem +- easier. */ ++ unavailable_paths.insert (filename); + warning (_("Can't open file %s which was expanded to %s " + "during file-backed mapping note processing"), + filename, expanded_fname.get ()); ++ + if (bfd != nullptr) + bfd_close (bfd); + return; diff --git a/gdb.spec b/gdb.spec index ba0ab43..13e4f89 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,10 +1252,14 @@ fi %endif %changelog -* Wed Jun 28 2023 Python Maint +* Fri Jun 30 2023 Kevin Buettner - 13.2-3 +- Backport upstream changes which prevent repeated warnings from being + printed when loading a core file (RHBZ 2160211, Lancelot SIX). + +* Wed Jun 28 2023 Python Maint - 13.2-2 - Rebuilt for Python 3.12 -* Sun Jun 25 2023 Alexandra Hájková - 13.2 +* Sun Jun 25 2023 Alexandra Hájková - 13.2-1 - Rebase to FSF GDB 13.22. - Remove gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch. - Remove gdb-rhbz2183595-rustc-inside_main.patch. From 2b402b25f45937bd25331859a08225d4233c383d Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 1 Jul 2023 18:31:05 +0200 Subject: [PATCH 66/84] Adjust gdb-add-index.patch to be silent about which gdb Every invocation of gdb-add-index will print which possible gdb command will be used. This is because the which command always prints the name of the command found. Redirect both stdout and stderr to /dev/null to suppress this when the output isn't needed. --- gdb-add-index.patch | 2 +- gdb.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gdb-add-index.patch b/gdb-add-index.patch index b95e06f..5039172 100644 --- a/gdb-add-index.patch +++ b/gdb-add-index.patch @@ -52,7 +52,7 @@ diff --git a/gdb/contrib/gdb-add-index.sh b/gdb/contrib/gdb-add-index.sh +# exit. +if test -z "$GDB"; then + for possible_gdb in /usr/bin/gdb.minimal gdb /usr/libexec/gdb; do -+ if ! which "$possible_gdb" 2>/dev/null; then ++ if ! which "$possible_gdb" >/dev/null 2>&1; then + continue + fi + diff --git a/gdb.spec b/gdb.spec index 13e4f89..2142369 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Sat Jul 1 2023 Mark Wielaard - 13.2-4 +- Adjust gdb-add-index.patch to be silent about which gdb. + * Fri Jun 30 2023 Kevin Buettner - 13.2-3 - Backport upstream changes which prevent repeated warnings from being printed when loading a core file (RHBZ 2160211, Lancelot SIX). From dd38aa36ce979c0d484a3f89c5aecfd280694db1 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 4 Jul 2023 14:29:08 +0100 Subject: [PATCH 67/84] Remove gdb-test-pid0-core.patch The patch gdb-test-pid0-core.patch only contains a test. A similar test has been merged upstream in commit 8bcead69665, so I propose that we drop this patch from Fedora, the test will be picked up next time we rebase. --- _gdb.spec.Patch.include | 42 +++++++++--------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-test-pid0-core.patch | 92 ---------------------------------------- gdb.spec | 4 ++ 5 files changed, 23 insertions(+), 117 deletions(-) delete mode 100644 gdb-test-pid0-core.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index eeed776..0b464fd 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -113,72 +113,68 @@ Patch027: gdb-test-bt-cfi-without-die.patch #=fedoratest Patch028: gdb-bz634108-solib_address.patch -# New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). -#=fedoratest -Patch029: gdb-test-pid0-core.patch - # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch030: gdb-test-dw2-aranges.patch +Patch029: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch031: gdb-glibc-strstr-workaround.patch +Patch030: gdb-glibc-strstr-workaround.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch032: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch031: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch033: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch032: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch034: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch033: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch035: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch034: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch036: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch035: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch037: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch036: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch038: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch037: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch039: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch038: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch040: gdb-fedora-libncursesw.patch +Patch039: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch041: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch040: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch042: gdb-container-rh-pkg.patch +Patch041: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch043: gdb-linux_perf-bundle.patch +Patch042: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -192,22 +188,22 @@ Patch043: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch044: gdb-add-index.patch +Patch043: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch045: gdb-rhbz1553104-s390x-arch12-test.patch +Patch044: gdb-rhbz1553104-s390x-arch12-test.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch046: gdb-binutils29988-read_indexed_address.patch +Patch045: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch047: gdb-rhbz2192105-ftbs-dangling-pointer +Patch046: gdb-rhbz2192105-ftbs-dangling-pointer # Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX # which prevent repeated warnings from being printed while loading a # core file. (RH BZ 2160211) -Patch048: gdb-rhbz2160211-excessive-core-file-warnings.patch +Patch047: gdb-rhbz2160211-excessive-core-file-warnings.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index ef55dd0..8258dc9 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -45,4 +45,3 @@ %patch -p1 -P045 %patch -p1 -P046 %patch -p1 -P047 -%patch -p1 -P048 diff --git a/_patch_order b/_patch_order index cddc2ce..51c4581 100644 --- a/_patch_order +++ b/_patch_order @@ -26,7 +26,6 @@ gdb-archer-next-over-throw-cxx-exec.patch gdb-6.6-buildid-locate-rpm-librpm-workaround.patch gdb-test-bt-cfi-without-die.patch gdb-bz634108-solib_address.patch -gdb-test-pid0-core.patch gdb-test-dw2-aranges.patch gdb-glibc-strstr-workaround.patch gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch diff --git a/gdb-test-pid0-core.patch b/gdb-test-pid0-core.patch deleted file mode 100644 index fea4def..0000000 --- a/gdb-test-pid0-core.patch +++ /dev/null @@ -1,92 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-test-pid0-core.patch - -;; New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). -;;=fedoratest - -https://bugzilla.redhat.com/show_bug.cgi?id=611435 - -Fix: -Re: [RFA]corelow.c: Add tid to add_to_thread_list -http://sourceware.org/ml/gdb-patches/2010-08/msg00085.html -http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html -2e5bcfdef1ec3883d48c3f87a4be5c0dff25e17e - -diff --git a/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu b/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu -@@ -0,0 +1,20 @@ -+begin 600 x86_64-pid0-core.core.bz2 -+M0EIH.3%!629362,CA>P!$/'_____^*#EZ-A!SP36P&_:G0#=14``04A&8,'U -+M2*9`>$$)P`*RN"#*;#4R()IJ8C$TT&FC3$&@`T`#:C1H8C0T,@,FC,D"4T2! -+M"/2CU'B90]31ZAD#U`&AZF@/4:``!HT&F@!H<`#0-`-#0``#3$-&F@```#0R -+M``#")2FD]2>4]0TTT-!HTT--,0,"#$`R!I@AD`#1H,3&GZT.4TO$#H40/`0C -+M2$IRXS,<55!8T,&&,R.Z441"?J9I%G6GUA2!.[]Z"C5S[&19,%VS7E6[3"60 -+M@`-*2G)QEQ(;?0Y<=MK]/U?Q)LB%+F37TJ9BI*46)H'*Z@V"`"$"P7]&XZ:JE0E<*:#1M$P3G]>VCI)(A!O$64`5$4`E$$-.``7&(09`8HO`B6K!Q^& -+M562%N)2+0@*HB@%D@5$%!*0!L1&0D4D6\:-$A`)`+<6D82PP*H(J(H!?F;0$ -+M%PXB7N!2D4!44`W7"ADEQM6O9TBO5,_]1) -+M($Q2))#),UE,QQK)E$,3D\W.>!4)QO8A_@^Z_SXS4;Q8=HV6[:&$@2$@$R29IBW)K%3"O` -+M9^Y0YJ&BXY1U2HTZ5)2H-V\_(.DZHWE+C#WS($(!I"3CUH2#(+(OWUV"*<<9 -+MJ%A!J[%O.P&V%GI.`L7<1@0>,^1F\MY=V5UT,&NOG%7TTZ[03!@BHB@&)P` -+` -+end -diff --git a/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp b/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp -@@ -0,0 +1,46 @@ -+# This testcase is part of GDB, the GNU debugger. -+# -+# Copyright 2010 Free Software Foundation, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Some kernel core files have PID 0 - for the idle task. -+ -+if ![istarget "x86_64-*-*"] { -+ verbose "Skipping x86_64-pid0-core test." -+ return -+} -+ -+set testfile "x86_64-pid0-core" -+set corebz2uufile ${srcdir}/${subdir}/${testfile}.core.bz2.uu -+set corefile [standard_output_file ${testfile}.core] -+ -+if {[catch "system \"uudecode -o - ${corebz2uufile} | bzip2 -dc >${corefile}\""] != 0} { -+ untested "failed uudecode or bzip2" -+ return -1 -+} -+file stat ${corefile} corestat -+if {$corestat(size) != 8798208} { -+ untested "uudecode or bzip2 produce invalid result" -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+ -+# Former crash was: -+# thread.c:884: internal-error: switch_to_thread: Assertion `inf != NULL' failed. -+gdb_test "core-file ${corefile}" "Program terminated with signal (11|SIGSEGV), Segmentation fault\\.\r\n.*" diff --git a/gdb.spec b/gdb.spec index 2142369..33eb982 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,10 @@ fi %endif %changelog +* Tue Jul 4 2023 Andrew Burgess +- Remove gdb-test-pid0-core.patch. This work has been upstreamed in + commit 8bcead69665. + * Sat Jul 1 2023 Mark Wielaard - 13.2-4 - Adjust gdb-add-index.patch to be silent about which gdb. From a5a4c9b4bcb3b38429d6ac1e307ebd5e96e2c600 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jul 2023 22:44:43 +0200 Subject: [PATCH 68/84] Rebuilt for Python 3.12 --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 33eb982..2c27929 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Fri Jul 07 2023 Python Maint +- Rebuilt for Python 3.12 + * Tue Jul 4 2023 Andrew Burgess - Remove gdb-test-pid0-core.patch. This work has been upstreamed in commit 8bcead69665. From a38bd61a55efcde6ef0e1bc5e4b5f8974aec0765 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 20:54:50 +0000 Subject: [PATCH 69/84] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 2c27929..4797705 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Wed Jul 19 2023 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Fri Jul 07 2023 Python Maint - Rebuilt for Python 3.12 From 899498bb21a76308674df73687ca643618c15bea Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 20 Jun 2023 09:57:09 +0100 Subject: [PATCH 70/84] Backport upstream fix for RHBZ 2196395 Backport upstream commit f3eee5861743d635 to fix a crash triggered when debuginfod makes use of particular openssl settings. --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...6395-debuginfod-legacy-openssl-crash.patch | 188 ++++++++++++++++++ gdb.spec | 3 + 5 files changed, 197 insertions(+) create mode 100644 gdb-bz2196395-debuginfod-legacy-openssl-crash.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 0b464fd..38901e1 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -207,3 +207,7 @@ Patch046: gdb-rhbz2192105-ftbs-dangling-pointer # core file. (RH BZ 2160211) Patch047: gdb-rhbz2160211-excessive-core-file-warnings.patch +# Backport upstream commit f3eee5861743d635 to fix a crash triggered +# when debuginfod makes use of particular openssl settings. +Patch048: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8258dc9..ef55dd0 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -45,3 +45,4 @@ %patch -p1 -P045 %patch -p1 -P046 %patch -p1 -P047 +%patch -p1 -P048 diff --git a/_patch_order b/_patch_order index 51c4581..143a63e 100644 --- a/_patch_order +++ b/_patch_order @@ -45,3 +45,4 @@ gdb-rhbz1553104-s390x-arch12-test.patch gdb-binutils29988-read_indexed_address.patch gdb-rhbz2192105-ftbs-dangling-pointer gdb-rhbz2160211-excessive-core-file-warnings.patch +gdb-bz2196395-debuginfod-legacy-openssl-crash.patch diff --git a/gdb-bz2196395-debuginfod-legacy-openssl-crash.patch b/gdb-bz2196395-debuginfod-legacy-openssl-crash.patch new file mode 100644 index 0000000..452fe58 --- /dev/null +++ b/gdb-bz2196395-debuginfod-legacy-openssl-crash.patch @@ -0,0 +1,188 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Andrew Burgess +Date: Tue, 20 Jun 2023 09:46:35 +0100 +Subject: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch + +;; Backport upstream commit f3eee5861743d635 to fix a crash triggered +;; when debuginfod makes use of particular openssl settings. + +gdb/debuginfod: cleanup debuginfod earlier + +A GDB crash was discovered on Fedora GDB that was tracked back to an +issue with the way that debuginfod is cleaned up. + +The bug was reported on Fedora 37, 38, and 39. Here are the steps to +reproduce: + +1. The file /etc/ssl/openssl.cnf contains the following lines: + + [provider_sect] + default = default_sect + ##legacy = legacy_sect + ## + [default_sect] + activate = 1 + + ##[legacy_sect] + ##activate = 1 + + The bug will occur when the '##' characters are removed so that the + lines in question look like this: + + [provider_sect] + default = default_sect + legacy = legacy_sect + + [default_sect] + activate = 1 + + [legacy_sect] + activate = 1 + +2. Clean up any existing debuginfod cache data: + + > rm -rf $HOME/.cache/debuginfod_client + +3. Run GDB: + + > gdb -nx -q -iex 'set trace-commands on' \ + -iex 'set debuginfod enabled on' \ + -iex 'set confirm off' \ + -ex 'start' -ex 'quit' /bin/ls + +set debuginfod enabled on + +set confirm off + Reading symbols from /bin/ls... + Downloading separate debug info for /usr/bin/ls + ... snip ... + Temporary breakpoint 1, main (argc=1, argv=0x7fffffffde38) at ../src/ls.c:1646 + 1646 { + +quit + + Fatal signal: Segmentation fault + ----- Backtrace ----- + ... snip ... + +So GDB ends up crashing during exit. + +What's happening is that when debuginfod is initialised +debuginfod_begin is called (this is in the debuginfod library), this +in turn sets up libcurl, which makes use of openssl. Somewhere during +this setup process an at_exit function is registered to cleanup some +state. + +Back in GDB the debuginfod_client object is managed using this code: + + /* Deleter for a debuginfod_client. */ + + struct debuginfod_client_deleter + { + void operator() (debuginfod_client *c) + { + debuginfod_end (c); + } + }; + + using debuginfod_client_up + = std::unique_ptr; + +And then a global debuginfod_client_up is created to hold a pointer to +the debuginfod_client object. As a global this will be cleaned up +using the standard C++ global object destructor mechanism, which is +run after the at_exit handlers. + +However, it is expected that when debuginfod_end is called the +debuginfod_client object will still be in a usable state, that is, we +don't expect the at_exit handlers to have run and started cleaning up +the library state. + +To fix this issue we need to ensure that debuginfod_end is called +before the at_exit handlers have a chance to run. + +This commit removes the debuginfod_client_up type, and instead has GDB +hold a raw pointer to the debuginfod_client object. We then make use +of GDB's make_final_cleanup to register a function that will call +debuginfod_end. + +As GDB's final cleanups are called before exit is called, this means +that debuginfod_end will be called before the at_exit handlers are +called, and the crash identified above is resolved. + +It's not obvious how this issue can easily be tested for. The bug does +not appear to manifest when using a local debuginfod server, so we'd +need to setup something more involved. For now I'm proposing this +patch without any associated tests. + +diff --git a/gdb/debuginfod-support.c b/gdb/debuginfod-support.c +--- a/gdb/debuginfod-support.c ++++ b/gdb/debuginfod-support.c +@@ -96,20 +96,6 @@ struct user_data + ui_out::progress_update progress; + }; + +-/* Deleter for a debuginfod_client. */ +- +-struct debuginfod_client_deleter +-{ +- void operator() (debuginfod_client *c) +- { +- debuginfod_end (c); +- } +-}; +- +-using debuginfod_client_up +- = std::unique_ptr; +- +- + /* Convert SIZE into a unit suitable for use with progress updates. + SIZE should in given in bytes and will be converted into KB, MB, GB + or remain unchanged. UNIT will be set to "B", "KB", "MB" or "GB" +@@ -180,20 +166,45 @@ progressfn (debuginfod_client *c, long cur, long total) + return 0; + } + ++/* Cleanup ARG, which is a debuginfod_client pointer. */ ++ ++static void ++cleanup_debuginfod_client (void *arg) ++{ ++ debuginfod_client *client = static_cast (arg); ++ debuginfod_end (client); ++} ++ ++/* Return a pointer to the single global debuginfod_client, initialising it ++ first if needed. */ ++ + static debuginfod_client * + get_debuginfod_client () + { +- static debuginfod_client_up global_client; ++ static debuginfod_client *global_client = nullptr; + + if (global_client == nullptr) + { +- global_client.reset (debuginfod_begin ()); ++ global_client = debuginfod_begin (); + + if (global_client != nullptr) +- debuginfod_set_progressfn (global_client.get (), progressfn); ++ { ++ /* It is important that we cleanup the debuginfod_client object ++ before calling exit. Some of the libraries used by debuginfod ++ make use of at_exit handlers to perform cleanup. ++ ++ If we wrapped the debuginfod_client in a unique_ptr and relied ++ on its destructor to cleanup then this would be run as part of ++ the global C++ object destructors, which is after the at_exit ++ handlers, which is too late. ++ ++ So instead, we make use of GDB's final cleanup mechanism. */ ++ make_final_cleanup (cleanup_debuginfod_client, global_client); ++ debuginfod_set_progressfn (global_client, progressfn); ++ } + } + +- return global_client.get (); ++ return global_client; + } + + /* Check if debuginfod is enabled. If configured to do so, ask the user diff --git a/gdb.spec b/gdb.spec index 4797705..7653b86 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Thu Aug 3 2023 Andrew Burgess +- Backport upstream commit f3eee586174, which fixes RHBZ 2196395. + * Wed Jul 19 2023 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 7e349a389bc5d0bdd6c5d844f9f7251d01d27d15 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Mon, 7 Aug 2023 10:40:43 -0700 Subject: [PATCH 71/84] Bump release. --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 7653b86..f2e896f 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Mon Aug 7 2023 Kevin Buettner - 13.2-7 +- Bump release. + * Thu Aug 3 2023 Andrew Burgess - Backport upstream commit f3eee586174, which fixes RHBZ 2196395. From 9a4f6d6e4ccf53f60678afd237b7aa0cb1c10aed Mon Sep 17 00:00:00 2001 From: Guinevere Larsen Date: Wed, 9 Aug 2023 09:31:00 +0200 Subject: [PATCH 72/84] remove gdb-6.7-testsuite-stable-results.patch That patch only changed gdb.base/fileio.{c|exp} tests, supposedly to make them work better when running the test as root. However, that test only increased the number of fails by 20 --- _gdb.spec.Patch.include | 68 ++++++++-------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.7-testsuite-stable-results.patch | 104 ------------------------- gdb.spec | 4 + 5 files changed, 36 insertions(+), 142 deletions(-) delete mode 100644 gdb-6.7-testsuite-stable-results.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 38901e1..5764017 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -60,121 +60,117 @@ Patch014: gdb-6.6-buildid-locate-rpm.patch #=fedoratest Patch015: gdb-6.7-ppc-clobbered-registers-O2-test.patch -# Testsuite fixes for more stable/comparable results. -#=fedoratest -Patch016: gdb-6.7-testsuite-stable-results.patch - # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch017: gdb-6.5-ia64-libunwind-leak-test.patch +Patch016: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch018: gdb-6.5-missed-trap-on-step-test.patch +Patch017: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch019: gdb-6.5-gcore-buffer-limit-test.patch +Patch018: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch020: gdb-6.3-mapping-zero-inode-test.patch +Patch019: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch021: gdb-6.5-section-num-fixup-test.patch +Patch020: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch022: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch021: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch023: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch022: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch024: gdb-core-open-vdso-warning.patch +Patch023: gdb-core-open-vdso-warning.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch025: gdb-archer-next-over-throw-cxx-exec.patch +Patch024: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch026: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch025: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch027: gdb-test-bt-cfi-without-die.patch +Patch026: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch028: gdb-bz634108-solib_address.patch +Patch027: gdb-bz634108-solib_address.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch029: gdb-test-dw2-aranges.patch +Patch028: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch030: gdb-glibc-strstr-workaround.patch +Patch029: gdb-glibc-strstr-workaround.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch031: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch030: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch032: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch031: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch033: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch032: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch034: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch033: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch035: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch034: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch036: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch035: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch037: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch036: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch038: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch037: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch039: gdb-fedora-libncursesw.patch +Patch038: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch040: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch039: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch041: gdb-container-rh-pkg.patch +Patch040: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch042: gdb-linux_perf-bundle.patch +Patch041: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -188,26 +184,26 @@ Patch042: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch043: gdb-add-index.patch +Patch042: gdb-add-index.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch044: gdb-rhbz1553104-s390x-arch12-test.patch +Patch043: gdb-rhbz1553104-s390x-arch12-test.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch045: gdb-binutils29988-read_indexed_address.patch +Patch044: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch046: gdb-rhbz2192105-ftbs-dangling-pointer +Patch045: gdb-rhbz2192105-ftbs-dangling-pointer # Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX # which prevent repeated warnings from being printed while loading a # core file. (RH BZ 2160211) -Patch047: gdb-rhbz2160211-excessive-core-file-warnings.patch +Patch046: gdb-rhbz2160211-excessive-core-file-warnings.patch # Backport upstream commit f3eee5861743d635 to fix a crash triggered # when debuginfod makes use of particular openssl settings. -Patch048: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch +Patch047: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index ef55dd0..8258dc9 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -45,4 +45,3 @@ %patch -p1 -P045 %patch -p1 -P046 %patch -p1 -P047 -%patch -p1 -P048 diff --git a/_patch_order b/_patch_order index 143a63e..ef3567d 100644 --- a/_patch_order +++ b/_patch_order @@ -13,7 +13,6 @@ gdb-6.6-buildid-locate.patch gdb-6.6-buildid-locate-solib-missing-ids.patch gdb-6.6-buildid-locate-rpm.patch gdb-6.7-ppc-clobbered-registers-O2-test.patch -gdb-6.7-testsuite-stable-results.patch gdb-6.5-ia64-libunwind-leak-test.patch gdb-6.5-missed-trap-on-step-test.patch gdb-6.5-gcore-buffer-limit-test.patch diff --git a/gdb-6.7-testsuite-stable-results.patch b/gdb-6.7-testsuite-stable-results.patch deleted file mode 100644 index fcb007c..0000000 --- a/gdb-6.7-testsuite-stable-results.patch +++ /dev/null @@ -1,104 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.7-testsuite-stable-results.patch - -;; Testsuite fixes for more stable/comparable results. -;;=fedoratest - -gdb/testsuite/gdb.base/fileio.c: -gdb/testsuite/gdb.base/fileio.exp: -2007-12-08 Jan Kratochvil - - * gdb.base/fileio.c (ROOTSUBDIR): New macro. - (main): CHDIR into ROOTSUBDIR. CHOWN ROOTSUBDIR and CHDIR into - ROOTSUBDIR if we are being run as root. - * gdb.base/fileio.exp: Change the startup and finish cleanup. - Change the test file reference to be into the `fileio.dir' directory. - -sources/gdb/testsuite/gdb.base/dump.exp: -Found on RHEL-5.s390x. - -gdb-6.8.50.20090209/gdb/testsuite/gdb.base/auxv.exp: -random FAIL: gdb.base/auxv.exp: matching auxv data from live and gcore - -gdb-6.8.50.20090209/gdb/testsuite/gdb.base/annota1.exp: -frames-invalid can happen asynchronously. - -diff --git a/gdb/testsuite/gdb.base/fileio.c b/gdb/testsuite/gdb.base/fileio.c ---- a/gdb/testsuite/gdb.base/fileio.c -+++ b/gdb/testsuite/gdb.base/fileio.c -@@ -559,6 +559,28 @@ strerrno (int err) - int - main () - { -+ /* These tests -+ Open for write but no write permission returns EACCES -+ Unlinking a file in a directory w/o write access returns EACCES -+ fail if we are being run as root - drop the privileges here. */ -+ -+ if (geteuid () == 0) -+ { -+ uid_t uid = 99; -+ -+ if (chown (OUTDIR, uid, uid) != 0) -+ { -+ printf ("chown %d.%d %s: %s\n", (int) uid, (int) uid, -+ OUTDIR, strerror (errno)); -+ exit (1); -+ } -+ if (setuid (uid) || geteuid () == 0) -+ { -+ printf ("setuid %d: %s\n", (int) uid, strerror (errno)); -+ exit (1); -+ } -+ } -+ - /* Don't change the order of the calls. They partly depend on each other */ - test_open (); - test_write (); -diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.exp ---- a/gdb/testsuite/gdb.base/fileio.exp -+++ b/gdb/testsuite/gdb.base/fileio.exp -@@ -24,9 +24,9 @@ if [target_info exists gdb,nofileio] { - standard_testfile - - if {[is_remote host]} { -- set outdir . -+ set outdir "fileio.dir" - } else { -- set outdir [standard_output_file {}] -+ set outdir [standard_output_file "fileio.dir"] - } - - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ -@@ -40,7 +40,8 @@ set dir2 [standard_output_file dir2.fileio.test] - if {[file exists $dir2] && ![file writable $dir2]} { - system "chmod +w $dir2" - } --system "rm -rf [standard_output_file *.fileio.test]" -+system "rm -rf [standard_output_file fileio.dir]" -+system "mkdir -m777 [standard_output_file fileio.dir]" - - set oldtimeout $timeout - set timeout [expr "$timeout + 60"] -@@ -81,7 +82,7 @@ gdb_test continue \ - - gdb_test "continue" ".*" "" - --catch "system \"chmod -f -w [standard_output_file nowrt.fileio.test]\"" -+catch "system \"chmod -f -w [standard_output_file fileio.dir/nowrt.fileio.test]\"" - - gdb_test continue \ - "Continuing\\..*open 5:.*EACCES$stop_msg" \ -@@ -268,9 +269,7 @@ gdb_test continue \ - gdb_exit - - # Make dir2 writable again so rm -rf of a build tree Just Works. --if {[file exists $dir2] && ![file writable $dir2]} { -- system "chmod +w $dir2" --} -+system "chmod -R +w $outdir" - - set timeout $oldtimeout - return 0 diff --git a/gdb.spec b/gdb.spec index f2e896f..75190c7 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,10 @@ fi %endif %changelog +* Wed Aug 9 2023 Guinevere Larsen +- Remove gdb-6.7-testsuite-stable-results.patch, it only made the test + fail more. + * Mon Aug 7 2023 Kevin Buettner - 13.2-7 - Bump release. From 60fc6a1e0f8ab38f6e3f19814fea2786c9813c68 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Wed, 13 Sep 2023 15:31:17 +0100 Subject: [PATCH 73/84] Backport upstream fix for RHBZ 2237515 Backport upstream commit f96328accde1e63 to fix a potential double free issue in the debuginfod code (RHBZ 2237515). --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-bz2237515-debuginfod-double-free.patch | 102 +++++++++++++++++++++ gdb.spec | 3 + 5 files changed, 111 insertions(+) create mode 100644 gdb-bz2237515-debuginfod-double-free.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 5764017..ac17a1d 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -207,3 +207,7 @@ Patch046: gdb-rhbz2160211-excessive-core-file-warnings.patch # when debuginfod makes use of particular openssl settings. Patch047: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch +# Backport upstream commit f96328accde1e63 to fix a potential double +# free issue in the debuginfod code. +Patch048: gdb-bz2237515-debuginfod-double-free.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 8258dc9..ef55dd0 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -45,3 +45,4 @@ %patch -p1 -P045 %patch -p1 -P046 %patch -p1 -P047 +%patch -p1 -P048 diff --git a/_patch_order b/_patch_order index ef3567d..d90b52f 100644 --- a/_patch_order +++ b/_patch_order @@ -45,3 +45,4 @@ gdb-binutils29988-read_indexed_address.patch gdb-rhbz2192105-ftbs-dangling-pointer gdb-rhbz2160211-excessive-core-file-warnings.patch gdb-bz2196395-debuginfod-legacy-openssl-crash.patch +gdb-bz2237515-debuginfod-double-free.patch diff --git a/gdb-bz2237515-debuginfod-double-free.patch b/gdb-bz2237515-debuginfod-double-free.patch new file mode 100644 index 0000000..9d72639 --- /dev/null +++ b/gdb-bz2237515-debuginfod-double-free.patch @@ -0,0 +1,102 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Tom Tromey +Date: Tue, 6 Dec 2022 12:07:12 -0700 +Subject: gdb-bz2237515-debuginfod-double-free.patch + +;; Backport upstream commit f96328accde1e63 to fix a potential double +;; free issue in the debuginfod code. + +Avoid double-free with debuginfod + +PR gdb/29257 points out a possible double free when debuginfod is in +use. Aside from some ugly warts in the symbol code (an ongoing +issue), the underlying issue in this particular case is that elfread.c +seems to assume that symfile_bfd_open will return NULL on error, +whereas in reality it throws an exception. As this code isn't +prepared for an exception, bad things result. + +This patch fixes the problem by introducing a non-throwing variant of +symfile_bfd_open and using it in the affected places. + +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29257 + +diff --git a/gdb/elfread.c b/gdb/elfread.c +--- a/gdb/elfread.c ++++ b/gdb/elfread.c +@@ -1222,10 +1222,12 @@ elf_symfile_read_dwarf2 (struct objfile *objfile, + + if (!debugfile.empty ()) + { +- gdb_bfd_ref_ptr debug_bfd (symfile_bfd_open (debugfile.c_str ())); ++ gdb_bfd_ref_ptr debug_bfd ++ (symfile_bfd_open_no_error (debugfile.c_str ())); + +- symbol_file_add_separate (debug_bfd, debugfile.c_str (), +- symfile_flags, objfile); ++ if (debug_bfd != nullptr) ++ symbol_file_add_separate (debug_bfd, debugfile.c_str (), ++ symfile_flags, objfile); + } + else + { +@@ -1245,13 +1247,12 @@ elf_symfile_read_dwarf2 (struct objfile *objfile, + if (fd.get () >= 0) + { + /* File successfully retrieved from server. */ +- gdb_bfd_ref_ptr debug_bfd (symfile_bfd_open (symfile_path.get ())); ++ gdb_bfd_ref_ptr debug_bfd ++ (symfile_bfd_open_no_error (symfile_path.get ())); + +- if (debug_bfd == nullptr) +- warning (_("File \"%s\" from debuginfod cannot be opened as bfd"), +- filename); +- else if (build_id_verify (debug_bfd.get (), build_id->size, +- build_id->data)) ++ if (debug_bfd != nullptr ++ && build_id_verify (debug_bfd.get (), build_id->size, ++ build_id->data)) + { + symbol_file_add_separate (debug_bfd, symfile_path.get (), + symfile_flags, objfile); +diff --git a/gdb/symfile.c b/gdb/symfile.c +--- a/gdb/symfile.c ++++ b/gdb/symfile.c +@@ -1744,6 +1744,23 @@ symfile_bfd_open (const char *name) + return sym_bfd; + } + ++/* See symfile.h. */ ++ ++gdb_bfd_ref_ptr ++symfile_bfd_open_no_error (const char *name) noexcept ++{ ++ try ++ { ++ return symfile_bfd_open (name); ++ } ++ catch (const gdb_exception_error &err) ++ { ++ warning ("%s", err.what ()); ++ } ++ ++ return nullptr; ++} ++ + /* Return the section index for SECTION_NAME on OBJFILE. Return -1 if + the section was not found. */ + +diff --git a/gdb/symfile.h b/gdb/symfile.h +--- a/gdb/symfile.h ++++ b/gdb/symfile.h +@@ -269,6 +269,11 @@ extern void set_initial_language (void); + + extern gdb_bfd_ref_ptr symfile_bfd_open (const char *); + ++/* Like symfile_bfd_open, but will not throw an exception on error. ++ Instead, it issues a warning and returns nullptr. */ ++ ++extern gdb_bfd_ref_ptr symfile_bfd_open_no_error (const char *) noexcept; ++ + extern int get_section_index (struct objfile *, const char *); + + extern int print_symbol_loading_p (int from_tty, int mainline, int full); diff --git a/gdb.spec b/gdb.spec index 75190c7..3cca409 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Wed Aug 13 2023 Andrew Burgess +- Backport upstream commit f96328accde1e63, which fixes RHBZ 2237515. + * Wed Aug 9 2023 Guinevere Larsen - Remove gdb-6.7-testsuite-stable-results.patch, it only made the test fail more. From ed8eee7ab5f53717e8846fb05decb85d60dd2e74 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Thu, 14 Sep 2023 22:22:33 +0100 Subject: [PATCH 74/84] Backport upstream fix for RHBZ 2237392 Backport upstream commit 54392c4df604f20 to fix an incorrect obstack allocation that wold lead to memory corruption (RHBZ 2237392). --- _gdb.spec.Patch.include | 4 ++ _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-bz2237392-dwarf-obstack-allocation.patch | 68 ++++++++++++++++++++ gdb.spec | 3 + 5 files changed, 77 insertions(+) create mode 100644 gdb-bz2237392-dwarf-obstack-allocation.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index ac17a1d..e3f21e9 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -211,3 +211,7 @@ Patch047: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch # free issue in the debuginfod code. Patch048: gdb-bz2237515-debuginfod-double-free.patch +# Backport upstream commit 54392c4df604f20 to fix an incorrect +# obstack allocation that wold lead to memory corruption. +Patch049: gdb-bz2237392-dwarf-obstack-allocation.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index ef55dd0..2ca0c1f 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -46,3 +46,4 @@ %patch -p1 -P046 %patch -p1 -P047 %patch -p1 -P048 +%patch -p1 -P049 diff --git a/_patch_order b/_patch_order index d90b52f..4f99a83 100644 --- a/_patch_order +++ b/_patch_order @@ -46,3 +46,4 @@ gdb-rhbz2192105-ftbs-dangling-pointer gdb-rhbz2160211-excessive-core-file-warnings.patch gdb-bz2196395-debuginfod-legacy-openssl-crash.patch gdb-bz2237515-debuginfod-double-free.patch +gdb-bz2237392-dwarf-obstack-allocation.patch diff --git a/gdb-bz2237392-dwarf-obstack-allocation.patch b/gdb-bz2237392-dwarf-obstack-allocation.patch new file mode 100644 index 0000000..424cad3 --- /dev/null +++ b/gdb-bz2237392-dwarf-obstack-allocation.patch @@ -0,0 +1,68 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Andrew Burgess +Date: Thu, 14 Sep 2023 13:06:26 +0100 +Subject: gdb-bz2237392-dwarf-obstack-allocation.patch + +;; Backport upstream commit 54392c4df604f20 to fix an incorrect +;; obstack allocation that wold lead to memory corruption. + +gdb: fix buffer overflow in DWARF reader + +In this commit: + + commit 48ac197b0c209ccf1f2de9704eb6cdf7c5c73a8e + Date: Fri Nov 19 10:12:44 2021 -0700 + + Handle multiple addresses in call_site_target + +a buffer overflow bug was introduced when the following code was +added: + + CORE_ADDR *saved = XOBNEWVAR (&objfile->objfile_obstack, CORE_ADDR, + addresses.size ()); + std::copy (addresses.begin (), addresses.end (), saved); + +The definition of XOBNEWVAR is (from libiberty.h): + + #define XOBNEWVAR(O, T, S) ((T *) obstack_alloc ((O), (S))) + +So 'saved' is going to point to addresses.size () bytes of memory, +however, the std::copy will write addresses.size () number of +CORE_ADDR sized entries to the address pointed to by 'saved', this is +going to result in memory corruption. + +The mistake is that we should have used XOBNEWVEC, which allocates a +vector of entries, the definition of XOBNEWVEC is: + + #define XOBNEWVEC(O, T, N) \ + ((T *) obstack_alloc ((O), sizeof (T) * (N))) + +Which means we will have set aside enough space to create a copy of +the contents of the addresses vector. + +I'm not sure how to create a test for this problem, this issue cropped +up when debugging a particular i686 built binary, which just happened +to trigger a glibc assertion (likely due to random memory corruption), +debugging the same binary built for x86-64 appeared to work just fine. + +Using valgrind on the failing GDB binary pointed straight to the cause +of the problem, and with this patch in place there are no longer +valgrind errors in this area. + +If anyone has ideas for a test I'm happy to work on something. + +Co-Authored-By: Keith Seitz +Approved-By: Tom Tromey + +diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c +--- a/gdb/dwarf2/read.c ++++ b/gdb/dwarf2/read.c +@@ -12506,7 +12506,7 @@ read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu) + std::vector addresses; + dwarf2_ranges_read_low_addrs (ranges_offset, target_cu, + target_die->tag, addresses); +- CORE_ADDR *saved = XOBNEWVAR (&objfile->objfile_obstack, CORE_ADDR, ++ CORE_ADDR *saved = XOBNEWVEC (&objfile->objfile_obstack, CORE_ADDR, + addresses.size ()); + std::copy (addresses.begin (), addresses.end (), saved); + call_site->target.set_loc_array (addresses.size (), saved); diff --git a/gdb.spec b/gdb.spec index 3cca409..934875f 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Wed Aug 14 2023 Andrew Burgess +- Backport upstream commit 54392c4df604f20, which fixes RHBZ 2237392. + * Wed Aug 13 2023 Andrew Burgess - Backport upstream commit f96328accde1e63, which fixes RHBZ 2237515. From 22e4ee48ba0a2067db5ee93aa80c428955ae06a0 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 15 Sep 2023 16:04:46 +0100 Subject: [PATCH 75/84] Bump release. --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 934875f..5fc8298 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Mon Aug 15 2023 Andrew Burgess +- Bump release to 13.2-8. + * Wed Aug 14 2023 Andrew Burgess - Backport upstream commit 54392c4df604f20, which fixes RHBZ 2237392. From 8a61e71975669431d1ea50b4b3e817db1673c029 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Fri, 16 Jun 2023 09:32:57 -0700 Subject: [PATCH 76/84] Migrate to SPDX license expression --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index 5fc8298..fcf8bda 100644 --- a/gdb.spec +++ b/gdb.spec @@ -59,7 +59,7 @@ Version: 13.2 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. Release: 8%{?dist} -License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL +License: GPL-3.0-or-later AND BSD-3-clause AND FSFAP AND LGPL-2.1-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later AND LGPL-2.0-or-later WITH GCC-exception-2.0 AND GPL-3.0-or-later WITH GCC-exception-3.1 AND GPL-2.0-or-later WITH GNU-compiler-exception # Do not provide URL for snapshots as the file lasts there only for 2 days. # ftp://sourceware.org/pub/gdb/releases/FIXME{tarname}.tar.xz #Source: %{tarname}.tar.xz @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Fri Sep 15 2023 Keith Seitz +- migrated to SPDX license + * Mon Aug 15 2023 Andrew Burgess - Bump release to 13.2-8. From ba3a7543412985338c11669ddeea56c0b6285ec3 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Fri, 15 Sep 2023 10:54:10 -0700 Subject: [PATCH 77/84] Fix %changelog dates --- gdb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdb.spec b/gdb.spec index fcf8bda..85da8bd 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,16 +1252,16 @@ fi %endif %changelog -* Fri Sep 15 2023 Keith Seitz +* Fri Sep 15 2023 Keith Seitz - 13.2-8 - migrated to SPDX license -* Mon Aug 15 2023 Andrew Burgess +* Fri Sep 15 2023 Andrew Burgess - Bump release to 13.2-8. -* Wed Aug 14 2023 Andrew Burgess +* Thu Sep 14 2023 Andrew Burgess - Backport upstream commit 54392c4df604f20, which fixes RHBZ 2237392. -* Wed Aug 13 2023 Andrew Burgess +* Wed Sep 13 2023 Andrew Burgess - Backport upstream commit f96328accde1e63, which fixes RHBZ 2237515. * Wed Aug 9 2023 Guinevere Larsen From a5080fa18b8c016111b6fab55e244ad3d12b882d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Sun, 17 Sep 2023 13:45:41 +0200 Subject: [PATCH 78/84] Backport upstream commit 8f2c64de86b which fixes RHBZ 2233961, CVE-2022-48064, (Alan Modra). --- _gdb.spec.Patch.include | 4 +++ _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-rhbz2233961-CVE-2022-4806.patch | 50 +++++++++++++++++++++++++++++ gdb.spec | 4 +++ 5 files changed, 60 insertions(+) create mode 100644 gdb-rhbz2233961-CVE-2022-4806.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index e3f21e9..b963415 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -215,3 +215,7 @@ Patch048: gdb-bz2237515-debuginfod-double-free.patch # obstack allocation that wold lead to memory corruption. Patch049: gdb-bz2237392-dwarf-obstack-allocation.patch +# Backport PR29922, SHT_NOBITS section +# avoids section size sanity check. +Patch050: gdb-rhbz2233961-CVE-2022-4806.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 2ca0c1f..f84adba 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -47,3 +47,4 @@ %patch -p1 -P047 %patch -p1 -P048 %patch -p1 -P049 +%patch -p1 -P050 diff --git a/_patch_order b/_patch_order index 4f99a83..2d9e7f8 100644 --- a/_patch_order +++ b/_patch_order @@ -47,3 +47,4 @@ gdb-rhbz2160211-excessive-core-file-warnings.patch gdb-bz2196395-debuginfod-legacy-openssl-crash.patch gdb-bz2237515-debuginfod-double-free.patch gdb-bz2237392-dwarf-obstack-allocation.patch +gdb-rhbz2233961-CVE-2022-4806.patch diff --git a/gdb-rhbz2233961-CVE-2022-4806.patch b/gdb-rhbz2233961-CVE-2022-4806.patch new file mode 100644 index 0000000..633bd32 --- /dev/null +++ b/gdb-rhbz2233961-CVE-2022-4806.patch @@ -0,0 +1,50 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= +Date: Sun, 17 Sep 2023 13:36:13 +0200 +Subject: gdb-rhbz2233961-CVE-2022-4806.patch + +;; Backport PR29922, SHT_NOBITS section +;; avoids section size sanity check. + +PR29922, SHT_NOBITS section avoids section size sanity check + + PR 29922 + * dwarf2.c (find_debug_info): Ignore sections without + SEC_HAS_CONTENTS. + +diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c +--- a/bfd/dwarf2.c ++++ b/bfd/dwarf2.c +@@ -4831,16 +4831,19 @@ find_debug_info (bfd *abfd, const struct dwarf_debug_section *debug_sections, + { + look = debug_sections[debug_info].uncompressed_name; + msec = bfd_get_section_by_name (abfd, look); +- if (msec != NULL) ++ /* Testing SEC_HAS_CONTENTS is an anti-fuzzer measure. Of ++ course debug sections always have contents. */ ++ if (msec != NULL && (msec->flags & SEC_HAS_CONTENTS) != 0) + return msec; + + look = debug_sections[debug_info].compressed_name; + msec = bfd_get_section_by_name (abfd, look); +- if (msec != NULL) ++ if (msec != NULL && (msec->flags & SEC_HAS_CONTENTS) != 0) + return msec; + + for (msec = abfd->sections; msec != NULL; msec = msec->next) +- if (startswith (msec->name, GNU_LINKONCE_INFO)) ++ if ((msec->flags & SEC_HAS_CONTENTS) != 0 ++ && startswith (msec->name, GNU_LINKONCE_INFO)) + return msec; + + return NULL; +@@ -4848,6 +4851,9 @@ find_debug_info (bfd *abfd, const struct dwarf_debug_section *debug_sections, + + for (msec = after_sec->next; msec != NULL; msec = msec->next) + { ++ if ((msec->flags & SEC_HAS_CONTENTS) == 0) ++ continue; ++ + look = debug_sections[debug_info].uncompressed_name; + if (strcmp (msec->name, look) == 0) + return msec; diff --git a/gdb.spec b/gdb.spec index 85da8bd..f657d2b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,10 @@ fi %endif %changelog +* Sun Sep 17 2023 Alexandra Hájková - 13.2-8 +- Backport upstream commit 8f2c64de86b which fixes RHBZ 2233961, + CVE-2022-48064, (Alan Modra). + * Fri Sep 15 2023 Keith Seitz - 13.2-8 - migrated to SPDX license From fb8a11ffe02d49b1bb3b7839a3b759aa0a6c0c83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Mon, 18 Sep 2023 14:44:24 +0200 Subject: [PATCH 79/84] Bump release to 13.2-9. --- gdb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb.spec b/gdb.spec index f657d2b..5b18eec 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 8%{?dist} +Release: 9%{?dist} License: GPL-3.0-or-later AND BSD-3-clause AND FSFAP AND LGPL-2.1-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later AND LGPL-2.0-or-later WITH GCC-exception-2.0 AND GPL-3.0-or-later WITH GCC-exception-3.1 AND GPL-2.0-or-later WITH GNU-compiler-exception # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,9 @@ fi %endif %changelog +* Mon Sep 18 2023 Alexandra Hájková - 13.2-8 +- Bump release to 13.2-9. + * Sun Sep 17 2023 Alexandra Hájková - 13.2-8 - Backport upstream commit 8f2c64de86b which fixes RHBZ 2233961, CVE-2022-48064, (Alan Modra). From 52db67646defacd2523203ed9440ade499626c41 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 19 Sep 2023 09:24:27 -0700 Subject: [PATCH 80/84] Remove gdb-rhbz1553104-s390x-arch12-test.patch This patch adds an s390x/arch12 binary file to disassemble, checking for the appearance of two arch12 insns. Remove this patch in favor of binutil's version, which is much more complete with much more coverage. --- _gdb.spec.Patch.include | 18 +++--- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-rhbz1553104-s390x-arch12-test.patch | 81 ------------------------- gdb.spec | 4 ++ 5 files changed, 11 insertions(+), 94 deletions(-) delete mode 100644 gdb-rhbz1553104-s390x-arch12-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index b963415..c8848b2 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -186,36 +186,32 @@ Patch041: gdb-linux_perf-bundle.patch #=fedora Patch042: gdb-add-index.patch -# [s390x] Backport arch12 instructions decoding (RH BZ 1553104). -# =fedoratest -Patch043: gdb-rhbz1553104-s390x-arch12-test.patch - # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch044: gdb-binutils29988-read_indexed_address.patch +Patch043: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch045: gdb-rhbz2192105-ftbs-dangling-pointer +Patch044: gdb-rhbz2192105-ftbs-dangling-pointer # Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX # which prevent repeated warnings from being printed while loading a # core file. (RH BZ 2160211) -Patch046: gdb-rhbz2160211-excessive-core-file-warnings.patch +Patch045: gdb-rhbz2160211-excessive-core-file-warnings.patch # Backport upstream commit f3eee5861743d635 to fix a crash triggered # when debuginfod makes use of particular openssl settings. -Patch047: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch +Patch046: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch # Backport upstream commit f96328accde1e63 to fix a potential double # free issue in the debuginfod code. -Patch048: gdb-bz2237515-debuginfod-double-free.patch +Patch047: gdb-bz2237515-debuginfod-double-free.patch # Backport upstream commit 54392c4df604f20 to fix an incorrect # obstack allocation that wold lead to memory corruption. -Patch049: gdb-bz2237392-dwarf-obstack-allocation.patch +Patch048: gdb-bz2237392-dwarf-obstack-allocation.patch # Backport PR29922, SHT_NOBITS section # avoids section size sanity check. -Patch050: gdb-rhbz2233961-CVE-2022-4806.patch +Patch049: gdb-rhbz2233961-CVE-2022-4806.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f84adba..2ca0c1f 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -47,4 +47,3 @@ %patch -p1 -P047 %patch -p1 -P048 %patch -p1 -P049 -%patch -p1 -P050 diff --git a/_patch_order b/_patch_order index 2d9e7f8..202863e 100644 --- a/_patch_order +++ b/_patch_order @@ -40,7 +40,6 @@ gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch gdb-linux_perf-bundle.patch gdb-add-index.patch -gdb-rhbz1553104-s390x-arch12-test.patch gdb-binutils29988-read_indexed_address.patch gdb-rhbz2192105-ftbs-dangling-pointer gdb-rhbz2160211-excessive-core-file-warnings.patch diff --git a/gdb-rhbz1553104-s390x-arch12-test.patch b/gdb-rhbz1553104-s390x-arch12-test.patch deleted file mode 100644 index 2cb15e5..0000000 --- a/gdb-rhbz1553104-s390x-arch12-test.patch +++ /dev/null @@ -1,81 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 23 Mar 2018 20:42:44 +0100 -Subject: gdb-rhbz1553104-s390x-arch12-test.patch - -;; [s390x] Backport arch12 instructions decoding (RH BZ 1553104). -;; =fedoratest - -diff --git a/gdb/testsuite/gdb.arch/s390x-arch12.S b/gdb/testsuite/gdb.arch/s390x-arch12.S -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/s390x-arch12.S -@@ -0,0 +1,4 @@ -+.text -+.globl load_guarded -+load_guarded: -+.byte 0xeb,0xbf,0xf0,0x58,0x00,0x24,0xe3,0xf0,0xff,0x50,0xff,0x71,0xb9,0x04,0x00,0xbf,0xe3,0x20,0xb0,0xa0,0x00,0x24,0xe3,0x10,0xb0,0xa0,0x00,0x04,0xe3,0x10,0x10,0x00,0x00,0x4c,0xe3,0x10,0xb0,0xa8,0x00,0x24,0xe3,0x10,0xb0,0xa8,0x00,0x04,0xb9,0x04,0x00,0x21,0xe3,0x40,0xb1,0x20,0x00,0x04,0xeb,0xbf,0xb1,0x08,0x00,0x04,0x07,0xf4 -diff --git a/gdb/testsuite/gdb.arch/s390x-arch12.exp b/gdb/testsuite/gdb.arch/s390x-arch12.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/s390x-arch12.exp -@@ -0,0 +1,34 @@ -+# Copyright 2018 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+#if { ![istarget s390x-*linux-*] || ![is_lp64_target] } { -+# verbose "Skipping s390x-prologue-skip.exp" -+# return -+#} -+ -+set testfile "s390x-arch12" -+set uufile "${srcdir}/${subdir}/${testfile}.o.uu" -+set ofile "${srcdir}/${subdir}/${testfile}.o" -+ -+if { [catch "system \"uudecode -o ${ofile} ${uufile}\"" ] != 0 } { -+ untested "failed uudecode" -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_load $ofile -+ -+gdb_test "disas load_guarded" " <\\+28>:\tlgg\t%r1,0\\(%r1\\)\r\n\[^\r\n\]* <\\+34>:\tstg\t%r1,168\\(%r11\\)\r\n.*" -diff --git a/gdb/testsuite/gdb.arch/s390x-arch12.o.uu b/gdb/testsuite/gdb.arch/s390x-arch12.o.uu -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.arch/s390x-arch12.o.uu -@@ -0,0 +1,20 @@ -+begin 644 s390x-arch12.o -+M?T5,1@("`0`````````````!`!8````!```````````````````````````` -+M``$X``````!```````!```<`!.N_\%@`)./P_U#_<;D$`+_C(+"@`"3C$+"@ -+M``3C$!```$SC$+"H`"3C$+"H``2Y!``AXT"Q(``$Z[^Q"``$!_0`+G-Y;71A -+M8@`N +- Remove gdb-rhbz1553104-s390x-arch12-test.patch, which is more thoroughly tested + by binutils. + * Mon Sep 18 2023 Alexandra Hájková - 13.2-8 - Bump release to 13.2-9. From aca26db9ee62c76393b53fc1ac66ee2f96c4c545 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Thu, 28 Sep 2023 19:13:18 -0700 Subject: [PATCH 81/84] Delete gdb-6.5-sharedlibrary-path.patch, which was upstreamed in commit 3ec033fab4a. --- _gdb.spec.Patch.include | 95 +++++++-------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.5-sharedlibrary-path.patch | 193 ------------------------------- gdb.spec | 4 + 5 files changed, 49 insertions(+), 245 deletions(-) delete mode 100644 gdb-6.5-sharedlibrary-path.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index c8848b2..3ad950e 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -10,167 +10,162 @@ Patch002: gdb-6.3-gstack-20050411.patch #=push+jan: It should be replaced by Infinity project. Patch003: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch -# Fix TLS symbols resolving for shared libraries with a relative pathname. -# The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. -#=fedoratest: One should recheck if it is really fixed upstream. -Patch004: gdb-6.5-sharedlibrary-path.patch - # Improved testsuite results by the testsuite provided by the courtesy of BEA. #=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful. -Patch005: gdb-6.5-BEA-testsuite.patch +Patch004: gdb-6.5-BEA-testsuite.patch # Test sideeffects of skipping ppc .so libs trampolines (BZ 218379). #=fedoratest -Patch006: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch005: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). #=fedoratest -Patch007: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch006: gdb-6.6-bz229517-gcore-without-terminal.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". #=fedoratest -Patch008: gdb-6.6-testsuite-timeouts.patch +Patch007: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). #=fedoratest -Patch009: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch008: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Test kernel VDSO decoding while attaching to an i386 process. #=fedoratest -Patch010: gdb-6.3-attach-see-vdso-test.patch +Patch009: gdb-6.3-attach-see-vdso-test.patch # Test leftover zombie process (BZ 243845). #=fedoratest -Patch011: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch010: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). #=push+jan -Patch012: gdb-6.6-buildid-locate.patch +Patch011: gdb-6.6-buildid-locate.patch # Fix loading of core files without build-ids but with build-ids in executables. # Load strictly build-id-checked core files only if no executable is specified # (Jan Kratochvil, RH BZ 1339862). #=push+jan -Patch013: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch012: gdb-6.6-buildid-locate-solib-missing-ids.patch #=push+jan -Patch014: gdb-6.6-buildid-locate-rpm.patch +Patch013: gdb-6.6-buildid-locate-rpm.patch # Test PPC hiding of call-volatile parameter register. #=fedoratest -Patch015: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch014: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Test ia64 memory leaks of the code using libunwind. #=fedoratest -Patch016: gdb-6.5-ia64-libunwind-leak-test.patch +Patch015: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. #=fedoratest -Patch017: gdb-6.5-missed-trap-on-step-test.patch +Patch016: gdb-6.5-missed-trap-on-step-test.patch # Test gcore memory and time requirements for large inferiors. #=fedoratest -Patch018: gdb-6.5-gcore-buffer-limit-test.patch +Patch017: gdb-6.5-gcore-buffer-limit-test.patch # Test GCORE for shmid 0 shared memory mappings. #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible. -Patch019: gdb-6.3-mapping-zero-inode-test.patch +Patch018: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on libraries missing the .text section. #=fedoratest -Patch020: gdb-6.5-section-num-fixup-test.patch +Patch019: gdb-6.5-section-num-fixup-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). #=fedoratest -Patch021: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch020: gdb-6.8-bz466901-backtrace-full-prelinked.patch # New test for step-resume breakpoint placed in multiple threads at once. #=fedoratest -Patch022: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch021: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. # Fix regression of undisplayed missing shared libraries caused by a fix for. #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> -Patch023: gdb-core-open-vdso-warning.patch +Patch022: gdb-core-open-vdso-warning.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch024: gdb-archer-next-over-throw-cxx-exec.patch +Patch023: gdb-archer-next-over-throw-cxx-exec.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch025: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch024: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch026: gdb-test-bt-cfi-without-die.patch +Patch025: gdb-test-bt-cfi-without-die.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch027: gdb-bz634108-solib_address.patch +Patch026: gdb-bz634108-solib_address.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch028: gdb-test-dw2-aranges.patch +Patch027: gdb-test-dw2-aranges.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch029: gdb-glibc-strstr-workaround.patch +Patch028: gdb-glibc-strstr-workaround.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch030: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch029: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch # Import regression test for `gdb/findvar.c:417: internal-error: # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5. #=fedoratest -Patch031: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch030: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch032: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch031: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch # Fix 'gdb gives highly misleading error when debuginfo pkg is present, # but not corresponding binary pkg' (RH BZ 981154). #=push+jan -Patch033: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch032: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch034: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch033: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch035: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch034: gdb-rhbz1149205-catch-syscall-after-fork-test.patch # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug # description: 'C++ (and objc): Internal error on unqualified name # re-set', PR 11657] (RH BZ 1186476). #=fedoratest -Patch036: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch035: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch037: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch036: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch038: gdb-fedora-libncursesw.patch +Patch037: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch039: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch038: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch040: gdb-container-rh-pkg.patch +Patch039: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch041: gdb-linux_perf-bundle.patch +Patch040: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -184,34 +179,34 @@ Patch041: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch042: gdb-add-index.patch +Patch041: gdb-add-index.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch043: gdb-binutils29988-read_indexed_address.patch +Patch042: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch044: gdb-rhbz2192105-ftbs-dangling-pointer +Patch043: gdb-rhbz2192105-ftbs-dangling-pointer # Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX # which prevent repeated warnings from being printed while loading a # core file. (RH BZ 2160211) -Patch045: gdb-rhbz2160211-excessive-core-file-warnings.patch +Patch044: gdb-rhbz2160211-excessive-core-file-warnings.patch # Backport upstream commit f3eee5861743d635 to fix a crash triggered # when debuginfod makes use of particular openssl settings. -Patch046: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch +Patch045: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch # Backport upstream commit f96328accde1e63 to fix a potential double # free issue in the debuginfod code. -Patch047: gdb-bz2237515-debuginfod-double-free.patch +Patch046: gdb-bz2237515-debuginfod-double-free.patch # Backport upstream commit 54392c4df604f20 to fix an incorrect # obstack allocation that wold lead to memory corruption. -Patch048: gdb-bz2237392-dwarf-obstack-allocation.patch +Patch047: gdb-bz2237392-dwarf-obstack-allocation.patch # Backport PR29922, SHT_NOBITS section # avoids section size sanity check. -Patch049: gdb-rhbz2233961-CVE-2022-4806.patch +Patch048: gdb-rhbz2233961-CVE-2022-4806.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 2ca0c1f..ef55dd0 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -46,4 +46,3 @@ %patch -p1 -P046 %patch -p1 -P047 %patch -p1 -P048 -%patch -p1 -P049 diff --git a/_patch_order b/_patch_order index 202863e..f8f4cf3 100644 --- a/_patch_order +++ b/_patch_order @@ -1,7 +1,6 @@ gdb-6.3-rh-testversion-20041202.patch gdb-6.3-gstack-20050411.patch gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch -gdb-6.5-sharedlibrary-path.patch gdb-6.5-BEA-testsuite.patch gdb-6.5-bz218379-ppc-solib-trampoline-test.patch gdb-6.6-bz229517-gcore-without-terminal.patch diff --git a/gdb-6.5-sharedlibrary-path.patch b/gdb-6.5-sharedlibrary-path.patch deleted file mode 100644 index 360e5d3..0000000 --- a/gdb-6.5-sharedlibrary-path.patch +++ /dev/null @@ -1,193 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-6.5-sharedlibrary-path.patch - -;; Fix TLS symbols resolving for shared libraries with a relative pathname. -;; The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. -;;=fedoratest: One should recheck if it is really fixed upstream. - -If you provided some relative path to the shared library, such as with - export LD_LIBRARY_PATH=. -then gdb would fail to match the shared library name during the TLS lookup. - -Dropped the workaround/fix for gdb-6.8.50.20081128 - is it still needed? - -The testsuite needs `gdb-6.3-bz146810-solib_absolute_prefix_is_empty.patch'. -The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. - -2006-09-01 Jan Kratochvil - - * solib-svr4.c (svr4_fetch_objfile_link_map): Match even absolute - requested pathnames to the internal loaded relative pathnames. - -2007-10-16 Jan Kratochvil - - Port to GDB-6.7. - -2008-02-27 Jan Kratochvil - - Port to gdb-6.7.50.20080227. - -diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug-main.c b/gdb/testsuite/gdb.threads/tls-sepdebug-main.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/tls-sepdebug-main.c -@@ -0,0 +1,31 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2006 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@prep.ai.mit.edu */ -+ -+#include -+ -+extern __thread int var; -+ -+int main() -+{ -+ /* Ensure we link against pthreads even with --as-needed. */ -+ pthread_testcancel(); -+ return var; -+} -diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c b/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c -@@ -0,0 +1,22 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2006 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@prep.ai.mit.edu */ -+ -+__thread int var = 42; -diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug.exp b/gdb/testsuite/gdb.threads/tls-sepdebug.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.threads/tls-sepdebug.exp -@@ -0,0 +1,94 @@ -+# Copyright 2006 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# This test uses gdb_exit and gdb_start, which are not supported -+# on non-extended-remote sessions. -+if {[use_gdb_stub]} { -+ untested "skipping test because of stub" -+ return 0 -+} -+ -+if $tracelevel then { -+ strace $tracelevel -+} -+ -+set testfile tls-sepdebug -+set srcmainfile ${testfile}-main.c -+set srcsharedfile ${testfile}-shared.c -+ -+set binmainfile [standard_output_file ${testfile}-main] -+set binsharedbase ${testfile}-shared.so -+set binsharedfile [standard_output_file ${binsharedbase}] -+set binshareddebugfile [standard_output_file ${binsharedbase}.debug] -+ -+# Use explicit -soname as otherwise the full path to the library would get -+# encoded into ${binmainfile} making LD_LIBRARY_PATH tests useless. -+ -+# FIXME: gcc dependency (-Wl,-soname). -+ -+if { [gdb_compile_shlib "${srcdir}/${subdir}/${srcsharedfile}" "${binsharedfile}" [list debug additional_flags=-Wl,-soname=${binsharedbase}]] != "" } { -+ untested "Couldn't compile test library" -+ return -1 -+} -+ -+# eu-strip(1) works fine but it is a part of `elfutils', not `binutils'. -+if 0 then { -+ remote_exec build "eu-strip -f ${binshareddebugfile} ${binsharedfile}" -+} else { -+ remote_exec build "objcopy --only-keep-debug ${binsharedfile} ${binshareddebugfile}" -+ remote_exec build "objcopy --strip-debug ${binsharedfile}" -+ remote_exec build "objcopy --add-gnu-debuglink=${binshareddebugfile} ${binsharedfile}" -+} -+ -+# Do not use `shlib=' as it will automatically add also -rpath for gcc. -+ -+if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcmainfile} ${binsharedfile}" "${binmainfile}" executable {debug}] != "" } { -+ untested "Couldn't compile test program" -+ return -1 -+} -+ -+# Get things started. -+ -+# Test also the proper resolving of relative library names to absolute ones. -+# \$PWD is easy - it is the absolute way -+# ${subdir} would fail on "print var" -+ -+set absdir [file dirname [standard_output_file ${binsharedbase}]] -+foreach ld_library_path [list $absdir [relative_filename [pwd] $absdir]] name { absolute relative } { -+ -+ gdb_exit -+ gdb_start -+ ###gdb_reinitialize_dir $srcdir/$subdir -+ -+ gdb_test "set env LD_LIBRARY_PATH=$ld_library_path" \ -+ "" \ -+ "set env LD_LIBRARY_PATH is $name" -+ -+ gdb_load ${binmainfile} -+ -+ # For C programs, "start" should stop in main(). -+ -+ gdb_test "start" \ -+ "main \\(\\) at .*${srcmainfile}.*" \ -+ "start" -+ -+ # Check for: Cannot find shared library `/usr/lib/debug/lib/libc-2.4.90.so.debug' in dynamic linker's load module list -+ # as happens with TLS variables and `separate_debug_objfile_backlink'. -+ -+ gdb_test "print var" \ -+ "\\\$1 = \[0-9\].*" \ -+ "print TLS variable from a shared library with $name-directory separate debug info file" -+} diff --git a/gdb.spec b/gdb.spec index 1354efc..527cd6e 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,10 @@ fi %endif %changelog +* Thu Sep 28 2023 Kevin Buettner +- Remove gdb-6.5-sharedlibrary-path.patch, which was upstreamed in + commit 3ec033fab4a. + * Tue Sep 19 2023 Keith Seitz - Remove gdb-rhbz1553104-s390x-arch12-test.patch, which is more thoroughly tested by binutils. From fec73092bb4319882628579f01491de5d9542d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Sun, 1 Oct 2023 11:38:40 +0200 Subject: [PATCH 82/84] Backport upstream commit d28fbc7197b which fixes RHBZ 2233965 ( CVE-2022-48065). --- _gdb.spec.Patch.include | 3 + _gdb.spec.patch.include | 1 + _patch_order | 1 + gdb-rhbz2233965-memory-leak.patch | 115 ++++++++++++++++++++++++++++++ gdb.spec | 6 +- 5 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 gdb-rhbz2233965-memory-leak.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 3ad950e..c4e21fe 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -210,3 +210,6 @@ Patch047: gdb-bz2237392-dwarf-obstack-allocation.patch # avoids section size sanity check. Patch048: gdb-rhbz2233961-CVE-2022-4806.patch +# Backport PR29925, Memory leak in find_abstract_instance +Patch049: gdb-rhbz2233965-memory-leak.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index ef55dd0..2ca0c1f 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -46,3 +46,4 @@ %patch -p1 -P046 %patch -p1 -P047 %patch -p1 -P048 +%patch -p1 -P049 diff --git a/_patch_order b/_patch_order index f8f4cf3..27ac848 100644 --- a/_patch_order +++ b/_patch_order @@ -46,3 +46,4 @@ gdb-bz2196395-debuginfod-legacy-openssl-crash.patch gdb-bz2237515-debuginfod-double-free.patch gdb-bz2237392-dwarf-obstack-allocation.patch gdb-rhbz2233961-CVE-2022-4806.patch +gdb-rhbz2233965-memory-leak.patch diff --git a/gdb-rhbz2233965-memory-leak.patch b/gdb-rhbz2233965-memory-leak.patch new file mode 100644 index 0000000..004ba3b --- /dev/null +++ b/gdb-rhbz2233965-memory-leak.patch @@ -0,0 +1,115 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= +Date: Sun, 1 Oct 2023 10:36:06 +0200 +Subject: gdb-rhbz2233965-memory-leak.patch + +;; Backport PR29925, Memory leak in find_abstract_instance + +PR29925, Memory leak in find_abstract_instance + +The testcase in the PR had a variable with both DW_AT_decl_file and +DW_AT_specification, where the DW_AT_specification also specified +DW_AT_decl_file. This leads to a memory leak as the file name is +malloced and duplicates are not expected. + +I've also changed find_abstract_instance to not use a temp for "name", +because that can result in a change in behaviour from the usual last +of duplicate attributes wins. + + PR 29925 + * dwarf2.c (find_abstract_instance): Delete "name" variable. + Free *filename_ptr before assigning new file name. + (scan_unit_for_symbols): Similarly free func->file and + var->file before assigning. + +diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c +--- a/bfd/dwarf2.c ++++ b/bfd/dwarf2.c +@@ -3441,7 +3441,6 @@ find_abstract_instance (struct comp_unit *unit, + struct abbrev_info *abbrev; + uint64_t die_ref = attr_ptr->u.val; + struct attribute attr; +- const char *name = NULL; + + if (recur_count == 100) + { +@@ -3602,9 +3601,9 @@ find_abstract_instance (struct comp_unit *unit, + case DW_AT_name: + /* Prefer DW_AT_MIPS_linkage_name or DW_AT_linkage_name + over DW_AT_name. */ +- if (name == NULL && is_str_form (&attr)) ++ if (*pname == NULL && is_str_form (&attr)) + { +- name = attr.u.str; ++ *pname = attr.u.str; + if (mangle_style (unit->lang) == 0) + *is_linkage = true; + } +@@ -3612,7 +3611,7 @@ find_abstract_instance (struct comp_unit *unit, + case DW_AT_specification: + if (is_int_form (&attr) + && !find_abstract_instance (unit, &attr, recur_count + 1, +- &name, is_linkage, ++ pname, is_linkage, + filename_ptr, linenumber_ptr)) + return false; + break; +@@ -3622,7 +3621,7 @@ find_abstract_instance (struct comp_unit *unit, + non-string forms into these attributes. */ + if (is_str_form (&attr)) + { +- name = attr.u.str; ++ *pname = attr.u.str; + *is_linkage = true; + } + break; +@@ -3630,8 +3629,11 @@ find_abstract_instance (struct comp_unit *unit, + if (!comp_unit_maybe_decode_line_info (unit)) + return false; + if (is_int_form (&attr)) +- *filename_ptr = concat_filename (unit->line_table, +- attr.u.val); ++ { ++ free (*filename_ptr); ++ *filename_ptr = concat_filename (unit->line_table, ++ attr.u.val); ++ } + break; + case DW_AT_decl_line: + if (is_int_form (&attr)) +@@ -3643,7 +3645,6 @@ find_abstract_instance (struct comp_unit *unit, + } + } + } +- *pname = name; + return true; + } + +@@ -4139,8 +4140,11 @@ scan_unit_for_symbols (struct comp_unit *unit) + + case DW_AT_decl_file: + if (is_int_form (&attr)) +- func->file = concat_filename (unit->line_table, +- attr.u.val); ++ { ++ free (func->file); ++ func->file = concat_filename (unit->line_table, ++ attr.u.val); ++ } + break; + + case DW_AT_decl_line: +@@ -4182,8 +4186,11 @@ scan_unit_for_symbols (struct comp_unit *unit) + + case DW_AT_decl_file: + if (is_int_form (&attr)) +- var->file = concat_filename (unit->line_table, +- attr.u.val); ++ { ++ free (var->file); ++ var->file = concat_filename (unit->line_table, ++ attr.u.val); ++ } + break; + + case DW_AT_decl_line: diff --git a/gdb.spec b/gdb.spec index 527cd6e..0a572db 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 9%{?dist} +Release: 10%{?dist} License: GPL-3.0-or-later AND BSD-3-clause AND FSFAP AND LGPL-2.1-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later AND LGPL-2.0-or-later WITH GCC-exception-2.0 AND GPL-3.0-or-later WITH GCC-exception-3.1 AND GPL-2.0-or-later WITH GNU-compiler-exception # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,10 @@ fi %endif %changelog +* Sun Oct 1 2023 Alexandra Hájková - 13.2-10 +- Backport upstream commit d28fbc7197b which fixes RHBZ 2233965 ( + CVE-2022-48065). + * Thu Sep 28 2023 Kevin Buettner - Remove gdb-6.5-sharedlibrary-path.patch, which was upstreamed in commit 3ec033fab4a. From f4fc320c3e67162f687c518c6dff6a5543b84311 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Mon, 2 Oct 2023 16:42:52 -0700 Subject: [PATCH 83/84] Backport upstream commit for overly large gdb-index files Backport upstream commit which prevents internal error when generating an overly large gdb-index file. (RHBZ 1773651, Kevin Buettner.) --- _gdb.spec.Patch.include | 4 + _gdb.spec.patch.include | 1 + _patch_order | 1 + ...rhbz1773651-gdb-index-internal-error.patch | 105 ++++++++++++++++++ gdb.spec | 7 +- 5 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 gdb-rhbz1773651-gdb-index-internal-error.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index c4e21fe..228a68c 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -213,3 +213,7 @@ Patch048: gdb-rhbz2233961-CVE-2022-4806.patch # Backport PR29925, Memory leak in find_abstract_instance Patch049: gdb-rhbz2233965-memory-leak.patch +# Backport upstream patch which prevents internal error when +# generating a gdb-index file (RH BZ 1773651). +Patch050: gdb-rhbz1773651-gdb-index-internal-error.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 2ca0c1f..f84adba 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -47,3 +47,4 @@ %patch -p1 -P047 %patch -p1 -P048 %patch -p1 -P049 +%patch -p1 -P050 diff --git a/_patch_order b/_patch_order index 27ac848..2b52649 100644 --- a/_patch_order +++ b/_patch_order @@ -47,3 +47,4 @@ gdb-bz2237515-debuginfod-double-free.patch gdb-bz2237392-dwarf-obstack-allocation.patch gdb-rhbz2233961-CVE-2022-4806.patch gdb-rhbz2233965-memory-leak.patch +gdb-rhbz1773651-gdb-index-internal-error.patch diff --git a/gdb-rhbz1773651-gdb-index-internal-error.patch b/gdb-rhbz1773651-gdb-index-internal-error.patch new file mode 100644 index 0000000..04cfe6d --- /dev/null +++ b/gdb-rhbz1773651-gdb-index-internal-error.patch @@ -0,0 +1,105 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Mon, 2 Oct 2023 15:05:23 -0700 +Subject: gdb-rhbz1773651-gdb-index-internal-error.patch + +;; Backport upstream patch which prevents internal error when +;; generating a gdb-index file (RH BZ 1773651). + +Throw error when creating an overly large gdb-index file + +The header in a .gdb_index section uses 32-bit unsigned offsets to +refer to other areas of the section. Thus, there is a size limit of +2^32-1 which is currently unaccounted for by GDB's code for outputting +these sections. + +At the moment, when GDB creates an overly large section, it will exit +abnormally due to an internal error, which is caused by a failed +assert in assert_file_size, which in turn is called from +write_gdbindex_1, both of which are in gdb/dwarf2/index-write.c. + +This is what happens when that assert fails: + +$ gdb -q -nx -iex 'set auto-load no' -iex 'set debuginfod enabled off' -ex file ./libgraph_tool_inference.so -ex "save gdb-index `pwd`/" +Reading symbols from ./libgraph_tool_inference.so... +No executable file now. +Discard symbol table from `libgraph_tool_inference.so'? (y or n) n +Not confirmed. +../../gdb/dwarf2/index-write.c:1069: internal-error: assert_file_size: Assertion `file_size == expected_size' failed. +A problem internal to GDB has been detected, +further debugging may prove unreliable. +----- Backtrace ----- +0x55fddb4d78b0 gdb_internal_backtrace_1 + ../../gdb/bt-utils.c:122 +0x55fddb4d78b0 _Z22gdb_internal_backtracev + ../../gdb/bt-utils.c:168 +0x55fddb98b5d4 internal_vproblem + ../../gdb/utils.c:396 +0x55fddb98b8de _Z15internal_verrorPKciS0_P13__va_list_tag + ../../gdb/utils.c:476 +0x55fddbb71654 _Z18internal_error_locPKciS0_z + ../../gdbsupport/errors.cc:58 +0x55fddb5a0f23 assert_file_size + ../../gdb/dwarf2/index-write.c:1069 +0x55fddb5a1ee0 assert_file_size + /usr/include/c++/13/bits/stl_iterator.h:1158 +0x55fddb5a1ee0 write_gdbindex_1 + ../../gdb/dwarf2/index-write.c:1119 +0x55fddb5a51be write_gdbindex + ../../gdb/dwarf2/index-write.c:1273 +[...] +--------------------- +../../gdb/dwarf2/index-write.c:1069: internal-error: assert_file_size: Assertion `file_size == expected_size' failed. + +This problem was encountered while building the python-graph-tool +package on Fedora. The Fedora bugzilla bug can be found here: + +https://bugzilla.redhat.com/show_bug.cgi?id=1773651 + +This commit prevents the internal error from occurring by calling error() +when the file size exceeds 2^32-1. + +Using a gdb built with this commit, I now see this behavior instead: + +$ gdb -q -nx -iex 'set auto-load no' -iex 'set debuginfod enabled off' -ex file ./libgraph_tool_inference.so -ex "save gdb-index `pwd`/" +Reading symbols from ./libgraph_tool_inference.so... +No executable file now. +Discard symbol table from `/mesquite2/fedora-bugs/1773651/libgraph_tool_inference.so'? (y or n) n +Not confirmed. +Error while writing index for `/mesquite2/fedora-bugs/1773651/libgraph_tool_inference.so': gdb-index maximum file size of 4294967295 exceeded +(gdb) + +I wish I could provide a test case, but due to the sizes of both the +input and output files, I think that testing resources would be +strained or exceeded in many environments. + +My testing on Fedora 38 shows no regressions. + +Approved-by: Tom Tromey + +diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c +--- a/gdb/dwarf2/index-write.c ++++ b/gdb/dwarf2/index-write.c +@@ -1082,7 +1082,7 @@ write_gdbindex_1 (FILE *out_file, + { + data_buf contents; + const offset_type size_of_header = 6 * sizeof (offset_type); +- offset_type total_len = size_of_header; ++ size_t total_len = size_of_header; + + /* The version number. */ + contents.append_offset (8); +@@ -1109,6 +1109,13 @@ write_gdbindex_1 (FILE *out_file, + + gdb_assert (contents.size () == size_of_header); + ++ /* The maximum size of an index file is limited by the maximum value ++ capable of being represented by 'offset_type'. Throw an error if ++ that length has been exceeded. */ ++ size_t max_size = ~(offset_type) 0; ++ if (total_len > max_size) ++ error (_("gdb-index maximum file size of %zu exceeded"), max_size); ++ + contents.file_write (out_file); + cu_list.file_write (out_file); + types_cu_list.file_write (out_file); diff --git a/gdb.spec b/gdb.spec index 0a572db..3602def 100644 --- a/gdb.spec +++ b/gdb.spec @@ -57,7 +57,7 @@ Version: 13.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 10%{?dist} +Release: 11%{?dist} License: GPL-3.0-or-later AND BSD-3-clause AND FSFAP AND LGPL-2.1-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later AND LGPL-2.0-or-later WITH GCC-exception-2.0 AND GPL-3.0-or-later WITH GCC-exception-3.1 AND GPL-2.0-or-later WITH GNU-compiler-exception # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1252,6 +1252,11 @@ fi %endif %changelog +* Mon Oct 2 2023 Kevin Buettner - 13.2-11 +- Backport upstream commit which prevents internal error when + generating an overly large gdb-index file. (RHBZ 1773651, Kevin + Buettner.) + * Sun Oct 1 2023 Alexandra Hájková - 13.2-10 - Backport upstream commit d28fbc7197b which fixes RHBZ 2233965 ( CVE-2022-48065). From 87ade3a0003ff6a560e953762870025febdf6e99 Mon Sep 17 00:00:00 2001 From: Guinevere Larsen Date: Wed, 11 Oct 2023 16:25:55 +0200 Subject: [PATCH 84/84] Remove gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch The test was upstreamed back in 2010, but the final file has a different name, so this was never removed: https://sourceware.org/legacy-ml/gdb-patches/2010-06/msg00046.html --- _gdb.spec.Patch.include | 36 ++--- _gdb.spec.patch.include | 1 - _patch_order | 1 - ...l-error-unqualified-name-re-set-test.patch | 135 ------------------ gdb.spec | 4 + 5 files changed, 19 insertions(+), 158 deletions(-) delete mode 100644 gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 228a68c..db63def 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -140,32 +140,26 @@ Patch033: gdb-rhbz1156192-recursive-dlopen-test.patch #=fedoratest Patch034: gdb-rhbz1149205-catch-syscall-after-fork-test.patch -# Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug -# description: 'C++ (and objc): Internal error on unqualified name -# re-set', PR 11657] (RH BZ 1186476). -#=fedoratest -Patch035: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch - # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch036: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch035: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch037: gdb-fedora-libncursesw.patch +Patch036: gdb-fedora-libncursesw.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch038: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch037: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch039: gdb-container-rh-pkg.patch +Patch038: gdb-container-rh-pkg.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch040: gdb-linux_perf-bundle.patch +Patch039: gdb-linux_perf-bundle.patch # Update gdb-add-index.sh such that, when the GDB environment # variable is not set, the script is smarter than just looking for @@ -179,41 +173,41 @@ Patch040: gdb-linux_perf-bundle.patch # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot # #=fedora -Patch041: gdb-add-index.patch +Patch040: gdb-add-index.patch # Backport "Fix a potential illegal memory access in the BFD library..." # (Nick Clifton, binutils/29988) -Patch042: gdb-binutils29988-read_indexed_address.patch +Patch041: gdb-binutils29988-read_indexed_address.patch # Backport upstream patch fixing a "dangling pointer" build problem # first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1). -Patch043: gdb-rhbz2192105-ftbs-dangling-pointer +Patch042: gdb-rhbz2192105-ftbs-dangling-pointer # Backport two commits, 0ad504dd464 and ea70f941f9b, from Lancelot SIX # which prevent repeated warnings from being printed while loading a # core file. (RH BZ 2160211) -Patch044: gdb-rhbz2160211-excessive-core-file-warnings.patch +Patch043: gdb-rhbz2160211-excessive-core-file-warnings.patch # Backport upstream commit f3eee5861743d635 to fix a crash triggered # when debuginfod makes use of particular openssl settings. -Patch045: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch +Patch044: gdb-bz2196395-debuginfod-legacy-openssl-crash.patch # Backport upstream commit f96328accde1e63 to fix a potential double # free issue in the debuginfod code. -Patch046: gdb-bz2237515-debuginfod-double-free.patch +Patch045: gdb-bz2237515-debuginfod-double-free.patch # Backport upstream commit 54392c4df604f20 to fix an incorrect # obstack allocation that wold lead to memory corruption. -Patch047: gdb-bz2237392-dwarf-obstack-allocation.patch +Patch046: gdb-bz2237392-dwarf-obstack-allocation.patch # Backport PR29922, SHT_NOBITS section # avoids section size sanity check. -Patch048: gdb-rhbz2233961-CVE-2022-4806.patch +Patch047: gdb-rhbz2233961-CVE-2022-4806.patch # Backport PR29925, Memory leak in find_abstract_instance -Patch049: gdb-rhbz2233965-memory-leak.patch +Patch048: gdb-rhbz2233965-memory-leak.patch # Backport upstream patch which prevents internal error when # generating a gdb-index file (RH BZ 1773651). -Patch050: gdb-rhbz1773651-gdb-index-internal-error.patch +Patch049: gdb-rhbz1773651-gdb-index-internal-error.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f84adba..2ca0c1f 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -47,4 +47,3 @@ %patch -p1 -P047 %patch -p1 -P048 %patch -p1 -P049 -%patch -p1 -P050 diff --git a/_patch_order b/_patch_order index 2b52649..3cdd236 100644 --- a/_patch_order +++ b/_patch_order @@ -32,7 +32,6 @@ gdb-rhbz1007614-memleak-infpy_read_memory-test.patch gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch gdb-rhbz1156192-recursive-dlopen-test.patch gdb-rhbz1149205-catch-syscall-after-fork-test.patch -gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch gdb-fedora-libncursesw.patch gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch diff --git a/gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch b/gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch deleted file mode 100644 index 21a1a08..0000000 --- a/gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +++ /dev/null @@ -1,135 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch - -;; Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug -;; description: 'C++ (and objc): Internal error on unqualified name -;; re-set', PR 11657] (RH BZ 1186476). -;;=fedoratest - -Comments from Sergio Durigan Junior: - - The "proper" fix for this whole problem would be to backport the - "ambiguous linespec" patch series. However, it is really not - recommended to do that for RHEL GDB, because the patch series is too - big and could introduce unwanted regressions. Instead, what we - chose to do was to replace the gdb_assert call by a warning (which - allows the user to continue the debugging session), and tell the - user that, although more than one location was found for his/her - breakpoint, only one will be used. - -diff --git a/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set-main.cc b/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set-main.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set-main.cc -@@ -0,0 +1,22 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2015 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+int -+main (int argc, char *argv[]) -+{ -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set.cc b/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set.cc -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set.cc -@@ -0,0 +1,26 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2015 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+class C -+ { -+ public: -+ C () {} -+ C (int x) {} -+ }; -+ -+C a; -+C b (1); -diff --git a/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set.exp b/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/gdb-rhbz1186476-internal-error-unqualified-name-re-set.exp -@@ -0,0 +1,51 @@ -+# Copyright 2015 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+if { [skip_cplus_tests] } { continue } -+if { [skip_shlib_tests] } { continue } -+if { [is_remote target] } { continue } -+if { [target_info exists use_gdb_stub] } { continue } -+ -+set testfile gdb-rhbz1186476-internal-error-unqualified-name-re-set-main -+set srcfile $testfile.cc -+set executable $testfile -+set binfile [standard_output_file $executable] -+ -+set libtestfile gdb-rhbz1186476-internal-error-unqualified-name-re-set -+set libsrcfile $libtestfile.cc -+set sofile [standard_output_file lib$libtestfile.so] -+ -+# Create and source the file that provides information about the compiler -+# used to compile the test case. -+if [get_compiler_info "c++"] { -+ return -1 -+} -+ -+if { [gdb_compile_shlib $srcdir/$subdir/$libsrcfile $sofile {debug c++ "additional_flags=-fPIC"}] != "" -+ || [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list additional_flags=-Wl,-rpath,[file dirname ${sofile}] "c++" shlib=${sofile} ]] != ""} { -+ untested $libtestfile.exp -+ return -1 -+} -+ -+clean_restart $executable -+ -+gdb_test_no_output "set breakpoint pending on" -+# gdb_breakpoint would print a failure because of some warning messages -+gdb_test "break C::C" "Breakpoint $decimal \\(C::C\\) pending." -+ -+#gdb_test "run" "warning: Found more than one location for breakpoint #$decimal; only the first location will be used.(\r\n)+Breakpoint $decimal, C::C.*" -+gdb_test "run" -+ -+gdb_test "info break" " in C::C\\(\\) at .* in C::C\\(int\\) at .*" diff --git a/gdb.spec b/gdb.spec index 3602def..72c50f4 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1252,6 +1252,10 @@ fi %endif %changelog +* Wed Oct 11 2022 Guinevere Larsen +- Remove gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch + as it was upstreamed back in 2010 with a different test name. + * Mon Oct 2 2023 Kevin Buettner - 13.2-11 - Backport upstream commit which prevents internal error when generating an overly large gdb-index file. (RHBZ 1773651, Kevin