This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC] regresssion(internal-error) printing subprogram argument
On 01/26/2018 03:50 AM, Joel Brobecker wrote:
> Hi Pedro,
>
>>> I'm curious to know if after all the fixing you still see
>>> the KFAIL on your end. I get:
>>>
>>> KPASS: gdb.ada/maint_with_ada.exp: maintenance check-psymtabs (PRMS gdb/22670)
>
> I just started looking at this, and I am wondering whether your binder-
> generated file looks like, and in particular whether it has the
> following kind of declaration in b~var_arr_typedef.ads:
>
> u00045 : constant Version_32 := 16#f60287af#;
> pragma Export (C, u00045, "interfaces__cS");
>
> IIRC, these are version consistency checks that are used by
> the distributed system annex. If you don't have those in this file,
> for some reason, then it would explain why you don't see the issue.
Indeed, looks like I don't have that. I have "interfacesS".
I've attached the whole file.
Running:
$ grep Export ./testsuite/outputs/gdb.ada/maint_with_ada/b~var_arr_typedef.ads | sed 's/.*, \"//' | sed 's/").*//g' | c++filt
I notice that none of the Export symbols I have demangles as a C++ symbol,
while "interfaces__cS" (the one you have) does:
$ echo "interfaces__cS" | c++filt
interfaces(char, signed)
So it may be that we still need to add another special case
for Ada somewhere. Would old GDB from before the C++
wildmatching pass this test for you?
Thanks,
Pedro Alves
pragma Ada_95;
pragma Warnings (Off);
with System;
package ada_main is
gnat_argc : Integer;
gnat_argv : System.Address;
gnat_envp : System.Address;
pragma Import (C, gnat_argc);
pragma Import (C, gnat_argv);
pragma Import (C, gnat_envp);
gnat_exit_status : Integer;
pragma Import (C, gnat_exit_status);
GNAT_Version : constant String :=
"GNAT Version: 7.2.1 20170915 (Red Hat 7.2.1-2)" & ASCII.NUL;
pragma Export (C, GNAT_Version, "__gnat_version");
Ada_Main_Program_Name : constant String := "_ada_var_arr_typedef" & ASCII.NUL;
pragma Export (C, Ada_Main_Program_Name, "__gnat_ada_main_program_name");
procedure adainit;
pragma Export (C, adainit, "adainit");
procedure adafinal;
pragma Export (C, adafinal, "adafinal");
function main
(argc : Integer;
argv : System.Address;
envp : System.Address)
return Integer;
pragma Export (C, main, "main");
type Version_32 is mod 2 ** 32;
u00001 : constant Version_32 := 16#73e42c92#;
pragma Export (C, u00001, "var_arr_typedefB");
u00002 : constant Version_32 := 16#b6df930e#;
pragma Export (C, u00002, "system__standard_libraryB");
u00003 : constant Version_32 := 16#7ec093d3#;
pragma Export (C, u00003, "system__standard_libraryS");
u00004 : constant Version_32 := 16#59841384#;
pragma Export (C, u00004, "packB");
u00005 : constant Version_32 := 16#be226d3a#;
pragma Export (C, u00005, "packS");
u00006 : constant Version_32 := 16#4635ec04#;
pragma Export (C, u00006, "systemS");
u00007 : constant Version_32 := 16#a6359005#;
pragma Export (C, u00007, "system__memoryB");
u00008 : constant Version_32 := 16#1f488a30#;
pragma Export (C, u00008, "system__memoryS");
u00009 : constant Version_32 := 16#c2326fda#;
pragma Export (C, u00009, "ada__exceptionsB");
u00010 : constant Version_32 := 16#6e98a13f#;
pragma Export (C, u00010, "ada__exceptionsS");
u00011 : constant Version_32 := 16#76789da1#;
pragma Export (C, u00011, "adaS");
u00012 : constant Version_32 := 16#e947e6a9#;
pragma Export (C, u00012, "ada__exceptions__last_chance_handlerB");
u00013 : constant Version_32 := 16#41e5552e#;
pragma Export (C, u00013, "ada__exceptions__last_chance_handlerS");
u00014 : constant Version_32 := 16#4e7785b8#;
pragma Export (C, u00014, "system__soft_linksB");
u00015 : constant Version_32 := 16#d8b13451#;
pragma Export (C, u00015, "system__soft_linksS");
u00016 : constant Version_32 := 16#b01dad17#;
pragma Export (C, u00016, "system__parametersB");
u00017 : constant Version_32 := 16#381fe17b#;
pragma Export (C, u00017, "system__parametersS");
u00018 : constant Version_32 := 16#30ad09e5#;
pragma Export (C, u00018, "system__secondary_stackB");
u00019 : constant Version_32 := 16#fca7137e#;
pragma Export (C, u00019, "system__secondary_stackS");
u00020 : constant Version_32 := 16#f103f468#;
pragma Export (C, u00020, "system__storage_elementsB");
u00021 : constant Version_32 := 16#6bf6a600#;
pragma Export (C, u00021, "system__storage_elementsS");
u00022 : constant Version_32 := 16#41837d1e#;
pragma Export (C, u00022, "system__stack_checkingB");
u00023 : constant Version_32 := 16#c88a87ec#;
pragma Export (C, u00023, "system__stack_checkingS");
u00024 : constant Version_32 := 16#87a448ff#;
pragma Export (C, u00024, "system__exception_tableB");
u00025 : constant Version_32 := 16#1b9b8546#;
pragma Export (C, u00025, "system__exception_tableS");
u00026 : constant Version_32 := 16#ce4af020#;
pragma Export (C, u00026, "system__exceptionsB");
u00027 : constant Version_32 := 16#2e5681f2#;
pragma Export (C, u00027, "system__exceptionsS");
u00028 : constant Version_32 := 16#843d48dc#;
pragma Export (C, u00028, "system__exceptions__machineS");
u00029 : constant Version_32 := 16#aa0563fc#;
pragma Export (C, u00029, "system__exceptions_debugB");
u00030 : constant Version_32 := 16#38bf15c0#;
pragma Export (C, u00030, "system__exceptions_debugS");
u00031 : constant Version_32 := 16#6c2f8802#;
pragma Export (C, u00031, "system__img_intB");
u00032 : constant Version_32 := 16#44ee0cc6#;
pragma Export (C, u00032, "system__img_intS");
u00033 : constant Version_32 := 16#39df8c17#;
pragma Export (C, u00033, "system__tracebackB");
u00034 : constant Version_32 := 16#181732c0#;
pragma Export (C, u00034, "system__tracebackS");
u00035 : constant Version_32 := 16#9ed49525#;
pragma Export (C, u00035, "system__traceback_entriesB");
u00036 : constant Version_32 := 16#466e1a74#;
pragma Export (C, u00036, "system__traceback_entriesS");
u00037 : constant Version_32 := 16#6fd210f2#;
pragma Export (C, u00037, "system__traceback__symbolicB");
u00038 : constant Version_32 := 16#dd19f67a#;
pragma Export (C, u00038, "system__traceback__symbolicS");
u00039 : constant Version_32 := 16#701f9d88#;
pragma Export (C, u00039, "ada__exceptions__tracebackB");
u00040 : constant Version_32 := 16#20245e75#;
pragma Export (C, u00040, "ada__exceptions__tracebackS");
u00041 : constant Version_32 := 16#9f00b3d3#;
pragma Export (C, u00041, "system__address_imageB");
u00042 : constant Version_32 := 16#e7d9713e#;
pragma Export (C, u00042, "system__address_imageS");
u00043 : constant Version_32 := 16#8c33a517#;
pragma Export (C, u00043, "system__wch_conB");
u00044 : constant Version_32 := 16#5d48ced6#;
pragma Export (C, u00044, "system__wch_conS");
u00045 : constant Version_32 := 16#9721e840#;
pragma Export (C, u00045, "system__wch_stwB");
u00046 : constant Version_32 := 16#7059e2d7#;
pragma Export (C, u00046, "system__wch_stwS");
u00047 : constant Version_32 := 16#a831679c#;
pragma Export (C, u00047, "system__wch_cnvB");
u00048 : constant Version_32 := 16#52ff7425#;
pragma Export (C, u00048, "system__wch_cnvS");
u00049 : constant Version_32 := 16#5ab55268#;
pragma Export (C, u00049, "interfacesS");
u00050 : constant Version_32 := 16#ece6fdb6#;
pragma Export (C, u00050, "system__wch_jisB");
u00051 : constant Version_32 := 16#d28f6d04#;
pragma Export (C, u00051, "system__wch_jisS");
u00052 : constant Version_32 := 16#36a43a0a#;
pragma Export (C, u00052, "system__crtlS");
-- BEGIN ELABORATION ORDER
-- ada%s
-- interfaces%s
-- system%s
-- system.img_int%s
-- system.img_int%b
-- system.parameters%s
-- system.parameters%b
-- system.crtl%s
-- system.storage_elements%s
-- system.storage_elements%b
-- system.stack_checking%s
-- system.stack_checking%b
-- system.traceback_entries%s
-- system.traceback_entries%b
-- system.wch_con%s
-- system.wch_con%b
-- system.wch_jis%s
-- system.wch_jis%b
-- system.wch_cnv%s
-- system.wch_cnv%b
-- system.traceback%s
-- system.traceback%b
-- system.wch_stw%s
-- system.standard_library%s
-- system.exceptions_debug%s
-- system.exceptions_debug%b
-- ada.exceptions%s
-- system.wch_stw%b
-- ada.exceptions.traceback%s
-- system.soft_links%s
-- system.exception_table%s
-- system.exception_table%b
-- system.exceptions%s
-- system.exceptions%b
-- system.secondary_stack%s
-- system.address_image%s
-- system.soft_links%b
-- ada.exceptions.last_chance_handler%s
-- system.memory%s
-- system.memory%b
-- system.standard_library%b
-- ada.exceptions.traceback%b
-- system.traceback.symbolic%s
-- system.traceback.symbolic%b
-- system.exceptions.machine%s
-- system.secondary_stack%b
-- system.address_image%b
-- ada.exceptions.last_chance_handler%b
-- ada.exceptions%b
-- pack%s
-- pack%b
-- var_arr_typedef%b
-- END ELABORATION ORDER
end ada_main;