diff options
author | Stu Grossman <grossman@cygnus> | 1992-09-15 07:28:05 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1992-09-15 07:28:05 +0000 |
commit | 20a687fe2e76de3c26dec431d5f705bc1b74cf9b (patch) | |
tree | d246b4959e6f1147fd6b810013c079dd44e40130 /gdb/energize-patches | |
parent | 0055617716fa6bb775e3c005f37175564a734ab3 (diff) | |
download | gdb-20a687fe2e76de3c26dec431d5f705bc1b74cf9b.zip gdb-20a687fe2e76de3c26dec431d5f705bc1b74cf9b.tar.gz gdb-20a687fe2e76de3c26dec431d5f705bc1b74cf9b.tar.bz2 |
All new patches for Energize!
Diffstat (limited to 'gdb/energize-patches')
-rwxr-xr-x | gdb/energize-patches | 428 |
1 files changed, 191 insertions, 237 deletions
diff --git a/gdb/energize-patches b/gdb/energize-patches index 5027d73..dcd8a57 100755 --- a/gdb/energize-patches +++ b/gdb/energize-patches @@ -3,11 +3,34 @@ # and then Sanitize. =================================================================== -*** config/ncr3000.mh.orig Mon Jun 15 12:25:13 1992 ---- config/ncr3000.mh Mon Aug 24 19:22:31 1992 +*** 1.4 1992/06/10 02:05:16 +--- config/amix.mh 1992/07/21 20:18:16 +*************** +*** 22,24 **** +--- 22,38 ---- + + # SVR4 puts the BSD compatible install in /usr/ucb. + INSTALL = /usr/ucb/install -c ++ ++ # These are the libs that are needed for the Energize version of gdb on ++ # SVR4. Note that we MUST include the standard C library before libucb.a, ++ # otherwise we get lots of broken stuff we don't want. ++ ENERGIZE_LIB = energize/libconn.a ++ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \ ++ -lsocket -lc /usr/ucblib/libucb.a -lnsl ++ ++ # These are the libs that are needed for the Energize version of gdb on ++ # SVR4. Note that we MUST include the standard C library before libucb.a, ++ # otherwise we get lots of broken stuff we don't want. ++ ENERGIZE_LIB = energize/libconn.a ++ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \ ++ -lsocket -lc /usr/ucblib/libucb.a -lnsl +=================================================================== +*** 1.4 1992/06/15 19:25:13 +--- config/ncr3000.mh 1992/09/15 01:51:32 *************** *** 38,40 **** ---- 38,46 ---- +--- 38,59 ---- # The /usr/ucb/install program is incompatible (complains about unknown # group staff). Use good old cp... INSTALL = cp @@ -15,10 +38,39 @@ + # These are the libs that are needed for the Energize version of gdb on + # SVR4. Note that we MUST include the standard C library before libucb.a, + # otherwise we get lots of broken stuff we don't want. -+ XM_CLIBS = -L/usr/lib -lm -lnet -lresolv -lform -lsocket -lc \ -+ /usr/ucblib/libucb.a -lnsl -*** Makefile.in.orig Tue Aug 18 14:59:22 1992 ---- Makefile.in Mon Aug 24 19:24:01 1992 ++ XM_CLIBS = -L/usr/lib -lm -lnet -lresolv -lform -lsocket -lnsl -lc ++ ++ # These are the libs that are needed for the Energize version of gdb on ++ # SVR4. Note that we MUST include the standard C library before libucb.a, ++ # otherwise we get lots of broken stuff we don't want. ++ ENERGIZE_LIB = energize/libconn.a ++ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \ ++ -lsocket -lc /usr/ucblib/libucb.a -lnsl ++ ++ # These are the libs that are needed for the Energize version of gdb on ++ # SVR4. Note that we MUST include the standard C library before libucb.a, ++ # otherwise we get lots of broken stuff we don't want. ++ ENERGIZE_LIB = energize/libconn.a ++ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \ ++ -lsocket -lc /usr/ucblib/libucb.a -lnsl +=================================================================== +*** 2.70 1992/09/03 16:25:59 +--- .Sanitize 1992/09/15 05:19:46 +*************** +*** 73,78 **** +--- 73,81 ---- + doc + dwarfread.c + elfread.c ++ energize ++ energize.c ++ energize.h + environ.c + environ.h + eval.c +=================================================================== +*** 1.181 1992/09/08 22:33:31 +--- Makefile.in 1992/09/15 05:21:40 *************** *** 123,128 **** --- 123,135 ---- @@ -36,44 +88,44 @@ # -I. for config files. # -I${srcdir} possibly for regex.h also. *************** -*** 155,166 **** +*** 159,170 **** # {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs. # TERMCAP comes after readline, since readline depends on it. - CLIBS = ${BFD_LIB} ${RL_LIB} ${TERMCAP} ${MMALLOC_LIB} ${LIBIBERTY} \ + CLIBS = ${BFD_LIB} ${RL_LIB} ${TERMCAP} ${OPCODES} ${MMALLOC_LIB} ${LIBIBERTY} \ ! ${XM_CLIBS} ${TM_CLIBS} - CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${BFD_LIB} ${MMALLOC_LIB} ${LIBIBERTY} \ + CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${BFD_LIB} ${OPCODES} ${MMALLOC_LIB} ${LIBIBERTY} \ ${RL_LIB} ${MMALLOC_LIB} ADD_FILES = ${REGEX} ${ALLOCA} ${XM_ADD_FILES} ${TM_ADD_FILES} ! ADD_DEPS = ${REGEX1} ${ALLOCA1} ${XM_ADD_FILES} ${TM_ADD_FILES} - VERSION = 4.6.3 + VERSION = 4.6.6 DIST=gdb ---- 162,174 ---- +--- 166,178 ---- # {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs. # TERMCAP comes after readline, since readline depends on it. - CLIBS = ${BFD_LIB} ${RL_LIB} ${TERMCAP} ${MMALLOC_LIB} ${LIBIBERTY} \ + CLIBS = ${BFD_LIB} ${RL_LIB} ${TERMCAP} ${OPCODES} ${MMALLOC_LIB} ${LIBIBERTY} \ ! ${ENERGIZE_LIB} ${XM_CLIBS} ${TM_CLIBS} - CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${BFD_LIB} ${MMALLOC_LIB} ${LIBIBERTY} \ + CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${BFD_LIB} ${OPCODES} ${MMALLOC_LIB} ${LIBIBERTY} \ ${RL_LIB} ${MMALLOC_LIB} ADD_FILES = ${REGEX} ${ALLOCA} ${XM_ADD_FILES} ${TM_ADD_FILES} ! ADD_DEPS = ${REGEX1} ${ALLOCA1} ${XM_ADD_FILES} ${TM_ADD_FILES} \ ! ${ENERGIZE_LIB} - VERSION = 4.6.3 + VERSION = 4.6.6 DIST=gdb *************** -*** 203,209 **** - ${DEMANGLER}.c mem-break.c target.c inftarg.c \ +*** 201,207 **** + mem-break.c target.c inftarg.c \ dbxread.c coffread.c elfread.c dwarfread.c xcoffread.c stabsread.c \ ieee-float.c language.c parse.c buildsym.c objfiles.c \ ! minsyms.c mipsread.c maint.c # Source files in subdirectories (which will be handled separately by # 'make gdb.tar.Z'). ---- 211,217 ---- - ${DEMANGLER}.c mem-break.c target.c inftarg.c \ +--- 209,215 ---- + mem-break.c target.c inftarg.c \ dbxread.c coffread.c elfread.c dwarfread.c xcoffread.c stabsread.c \ ieee-float.c language.c parse.c buildsym.c objfiles.c \ ! minsyms.c mipsread.c maint.c energize.c @@ -81,24 +133,24 @@ # Source files in subdirectories (which will be handled separately by # 'make gdb.tar.Z'). *************** -*** 289,295 **** +*** 287,293 **** command.o utils.o expprint.o environ.o version.o gdbtypes.o \ - copying.o $(DEPFILES) ${DEMANGLER}.o mem-break.o target.o \ + copying.o $(DEPFILES) mem-break.o target.o \ inftarg.o ieee-float.o putenv.o parse.o language.o $(YYOBJ) \ ! buildsym.o objfiles.o minsyms.o maint.o demangle.o \ dbxread.o coffread.o elfread.o dwarfread.o xcoffread.o mipsread.o \ stabsread.o ---- 297,303 ---- +--- 295,301 ---- command.o utils.o expprint.o environ.o version.o gdbtypes.o \ - copying.o $(DEPFILES) ${DEMANGLER}.o mem-break.o target.o \ + copying.o $(DEPFILES) mem-break.o target.o \ inftarg.o ieee-float.o putenv.o parse.o language.o $(YYOBJ) \ ! buildsym.o objfiles.o minsyms.o maint.o demangle.o energize.o \ dbxread.o coffread.o elfread.o dwarfread.o xcoffread.o mipsread.o \ stabsread.o *************** -*** 303,309 **** +*** 301,307 **** NTSSTART = kdb-start.o @@ -106,7 +158,7 @@ # For now, shortcut the "configure GDB for fewer languages" stuff. YYFILES = c-exp.tab.c m2-exp.tab.c ---- 311,317 ---- +--- 309,315 ---- NTSSTART = kdb-start.o @@ -137,18 +189,9 @@ # This is useful when debugging GDB, because some Unix's don't let you run GDB # on itself without copying the executable. So "make gdb1" will make -*************** -*** 652,658 **** - -e '/extern.*free/d' \ - < y.tab.c > m2-exp.tab.c - -rm y.tab.c -- - - main.o: ${srcdir}/main.c - ${CC} -c ${INTERNAL_CFLAGS} -I${READLINE_DIR} $< ---- 674,679 ---- -*** breakpoint.c.orig Sun Aug 23 11:09:10 1992 ---- breakpoint.c Mon Aug 24 19:22:26 1992 +=================================================================== +*** 1.46 1992/09/15 06:27:18 +--- breakpoint.c 1992/09/15 06:33:37 *************** *** 273,278 **** --- 273,279 ---- @@ -198,8 +241,8 @@ } error ("No breakpoint number %d.", bnum); *************** -*** 922,927 **** ---- 925,931 ---- +*** 923,928 **** +--- 926,932 ---- { b->ignore_count--; this_bp_stop = 0; @@ -208,8 +251,8 @@ else { *************** -*** 1373,1378 **** ---- 1377,1384 ---- +*** 1375,1380 **** +--- 1379,1386 ---- mention (b) struct breakpoint *b; { @@ -219,8 +262,8 @@ { case bp_watchpoint: *************** -*** 2120,2125 **** ---- 2126,2133 ---- +*** 2125,2130 **** +--- 2131,2138 ---- register struct breakpoint *b; register bpstat bs; @@ -230,8 +273,8 @@ target_remove_breakpoint(bpt->address, bpt->shadow_contents); *************** -*** 2296,2301 **** ---- 2304,2310 ---- +*** 2303,2308 **** +--- 2311,2317 ---- if (b->number == bptnum) { b->ignore_count = count; @@ -240,7 +283,7 @@ return; else if (count == 0) *************** -*** 2320,2326 **** +*** 2327,2333 **** struct breakpoint *b; ALL_BREAKPOINTS (b) @@ -248,7 +291,7 @@ } /* Command to set ignore-count of breakpoint N to COUNT. */ ---- 2329,2338 ---- +--- 2336,2345 ---- struct breakpoint *b; ALL_BREAKPOINTS (b) @@ -260,19 +303,19 @@ /* Command to set ignore-count of breakpoint N to COUNT. */ *************** -*** 2387,2392 **** ---- 2399,2406 ---- +*** 2394,2399 **** +--- 2406,2413 ---- { bpt->enable = enabled; + energize_enable_breakpoint(bpt); + if (xgdb_verbose && bpt->type == bp_breakpoint) - printf ("breakpoint #%d enabled\n", bpt->number); + printf_filtered ("breakpoint #%d enabled\n", bpt->number); *************** -*** 2434,2439 **** ---- 2448,2455 ---- +*** 2441,2446 **** +--- 2455,2462 ---- disable_breakpoint (bpt) struct breakpoint *bpt; { @@ -281,8 +324,20 @@ bpt->enable = disabled; if (xgdb_verbose && bpt->type == bp_breakpoint) -*** command.c.orig Fri Jul 10 10:22:30 1992 ---- command.c Mon Aug 24 19:22:26 1992 +=================================================================== +*** 1.18 1992/07/10 17:22:30 +--- command.c 1992/07/23 01:42:36 +*************** +*** 1093,1098 **** +--- 1093,1100 ---- + else + error ("gdb internal error: bad cmd_type in do_setshow_command"); + (*c->function.sfunc) (NULL, from_tty, c); ++ if (energize) ++ print_prompt(); + } + + /* Show all the settings in a list of show commands. */ *************** *** 1148,1154 **** } @@ -292,7 +347,7 @@ ; else error ("Fork failed"); ---- 1148,1154 ---- +--- 1150,1156 ---- } if (pid != -1) @@ -300,8 +355,9 @@ ; else error ("Fork failed"); -*** configure.in.orig Tue Aug 18 11:35:50 1992 ---- configure.in Mon Aug 24 19:22:26 1992 +=================================================================== +*** 1.63 1992/09/03 16:26:02 +--- configure.in 1992/09/15 05:19:56 *************** *** 1,4 **** ! configdirs="doc" @@ -313,19 +369,41 @@ srcname="GDB" srctrigger=main.c target_dependent=true -*** defs.h.orig Mon Jul 20 21:14:28 1992 ---- defs.h Mon Aug 24 19:22:27 1992 +=================================================================== +*** 1.46 1992/09/15 06:26:58 +--- defs.h 1992/09/15 06:29:55 *************** -*** 808,811 **** ---- 808,813 ---- +*** 811,814 **** +--- 811,816 ---- #define MAINTENANCE_CMDS 1 #endif + #include "energize.h" + #endif /* !defined (DEFS_H) */ -*** inflow.c.orig Wed Jul 22 21:41:45 1992 ---- inflow.c Mon Aug 24 19:22:27 1992 +=================================================================== +*** 2.5 1992/09/03 16:26:03 +--- demangle.c 1992/09/15 05:19:59 +*************** +*** 37,43 **** + the appropriate target configuration file. */ + + #ifndef DEFAULT_DEMANGLING_STYLE +! # define DEFAULT_DEMANGLING_STYLE AUTO_DEMANGLING_STYLE_STRING + #endif + + /* String name for the current demangling style. Set by the "set demangling" +--- 37,43 ---- + the appropriate target configuration file. */ + + #ifndef DEFAULT_DEMANGLING_STYLE +! # define DEFAULT_DEMANGLING_STYLE LUCID_DEMANGLING_STYLE_STRING + #endif + + /* String name for the current demangling style. Set by the "set demangling" +=================================================================== +*** 1.28 1992/07/23 04:41:45 +--- inflow.c 1992/08/27 22:43:15 *************** *** 89,95 **** static short pgrp_inferior; @@ -343,8 +421,9 @@ static int pgrp_ours; # endif /* not def SHORT_PGRP */ #else /* not def TIOCGPGRP */ -*** infrun.c.orig Mon Aug 24 12:00:30 1992 ---- infrun.c Mon Aug 24 19:22:28 1992 +=================================================================== +*** 1.54 1992/09/02 09:22:09 +--- infrun.c 1992/09/15 05:20:09 *************** *** 633,638 **** --- 633,639 ---- @@ -365,27 +444,33 @@ push_target (&child_ops); mark_breakpoints_out (); -*** inftarg.c.orig Sun Mar 29 15:21:27 1992 ---- inftarg.c Mon Aug 24 19:22:28 1992 +=================================================================== +*** 1.11 1992/03/29 23:21:27 +--- inftarg.c 1992/09/15 06:37:01 *************** -*** 58,64 **** - #ifdef USE_PROC_FS - pid = proc_wait (status); - #else +*** 55,65 **** + int pid; + + do { +! #ifdef USE_PROC_FS +! pid = proc_wait (status); +! #else ! pid = wait (status); - #endif +! #endif if (pid == -1) /* No more children to wait for */ { ---- 58,64 ---- - #ifdef USE_PROC_FS - pid = proc_wait (status); - #else + fprintf (stderr, "Child process unexpectedly missing.\n"); +--- 55,61 ---- + int pid; + + do { ! pid = energize_wait (status); - #endif if (pid == -1) /* No more children to wait for */ { -*** main.c.orig Fri Jul 10 10:22:33 1992 ---- main.c Mon Aug 24 19:22:29 1992 + fprintf (stderr, "Child process unexpectedly missing.\n"); +=================================================================== +*** 1.52 1992/09/15 06:27:10 +--- main.c 1992/09/15 06:30:03 *************** *** 426,431 **** --- 426,432 ---- @@ -419,16 +504,17 @@ symarg = optarg; break; *************** -*** 736,741 **** ---- 741,748 ---- - free ((PTR)dirarg); - do_cleanups (ALL_CLEANUPS); +*** 664,669 **** +--- 669,677 ---- + + /* Run the init function of each source file */ ++ /* Must call this first to setup tty */ + energize_initialize (energize_id, execarg); + - if (execarg != NULL - && symarg != NULL - && strcmp (execarg, symarg) == 0) + initialize_cmd_lists (); /* This needs to be done first */ + initialize_all_files (); + initialize_main (); /* But that omits this file! Do it now */ *************** *** 850,856 **** if (!setjmp (to_top_level)) @@ -438,7 +524,7 @@ quit_command ((char *)0, instream == stdin); } } ---- 857,866 ---- +--- 858,867 ---- if (!setjmp (to_top_level)) { do_cleanups (ALL_CLEANUPS); /* Do complete cleanup */ @@ -458,7 +544,7 @@ } /* Tell the user if the language has changed (except first time). */ ---- 922,928 ---- +--- 923,929 ---- else if (c->function.cfunc == NO_FUNCTION) error ("That is not a command, just a help topic."); else @@ -475,7 +561,7 @@ if (p == NULL) /* Treat end of file like "end". */ break; ---- 1574,1580 ---- +--- 1575,1581 ---- while (1) { dont_repeat (); @@ -483,25 +569,9 @@ if (p == NULL) /* Treat end of file like "end". */ break; -*************** -*** 1868,1874 **** - void - print_prompt () - { -! printf ("%s", prompt); - fflush (stdout); - } - ---- 1878,1884 ---- - void - print_prompt () - { -! printf_filtered ("%s", prompt); - fflush (stdout); - } - -*** printcmd.c.orig Sun Jul 5 17:22:52 1992 ---- printcmd.c Mon Aug 24 19:22:29 1992 +=================================================================== +*** 1.32 1992/09/15 06:27:00 +--- printcmd.c 1992/09/15 06:30:06 *************** *** 778,783 **** --- 778,792 ---- @@ -518,7 +588,7 @@ + } + if (inspect) - printf ("\031(gdb-makebuffer \"%s\" %d '(\"", exp, histindex); + printf_filtered ("\031(gdb-makebuffer \"%s\" %d '(\"", exp, histindex); else *************** *** 784,789 **** @@ -529,10 +599,10 @@ + energize_end_variable_annotation(); printf_filtered ("\n"); if (inspect) - printf("\") )\030"); + printf_filtered("\") )\030"); *************** -*** 1653,1663 **** ---- 1663,1681 ---- +*** 1652,1662 **** +--- 1662,1680 ---- standard indentation here is 4 spaces, and val_print indents 2 for each recurse. */ val = read_var_value (sym, FRAME_INFO_ID (fi)); @@ -552,8 +622,9 @@ first = 0; } -*** stack.c.orig Fri Jul 3 20:21:45 1992 ---- stack.c Mon Aug 24 19:22:30 1992 +=================================================================== +*** 1.34 1992/09/11 09:11:04 +--- stack.c 1992/09/15 05:20:25 *************** *** 159,165 **** if (addressprint) @@ -633,8 +704,9 @@ } wrap_here (" "); if (sal.symtab) -*** symfile.c.orig Sun Aug 23 11:09:17 1992 ---- symfile.c Mon Aug 24 19:22:30 1992 +=================================================================== +*** 1.57 1992/09/15 06:27:08 +--- symfile.c 1992/09/15 06:30:09 *************** *** 611,616 **** --- 611,618 ---- @@ -646,108 +718,9 @@ return (objfile); } -*** utils.c.orig Sun Aug 23 11:09:21 1992 ---- utils.c Mon Aug 24 19:22:31 1992 -*************** -*** 694,700 **** - register int ans2; - - /* Automatically answer "yes" if input is not from a terminal. */ -! if (!input_from_terminal_p ()) - return 1; - - while (1) ---- 694,700 ---- - register int ans2; - - /* Automatically answer "yes" if input is not from a terminal. */ -! if (!input_from_terminal_p () && !energize) - return 1; - - while (1) -*************** -*** 703,723 **** - fflush (stdout); - va_start (args); - ctlstr = va_arg (args, char *); - vfprintf_filtered (stdout, ctlstr, args); -- va_end (args); - printf_filtered ("(y or n) "); -! fflush (stdout); -! answer = fgetc (stdin); -! clearerr (stdin); /* in case of C-d */ -! if (answer == EOF) /* C-d */ -! return 1; -! if (answer != '\n') /* Eat rest of input line, to EOF or newline */ -! do -! { -! ans2 = fgetc (stdin); -! clearerr (stdin); -! } -! while (ans2 != EOF && ans2 != '\n'); - if (answer >= 'a') - answer -= 040; - if (answer == 'Y') ---- 703,734 ---- - fflush (stdout); - va_start (args); - ctlstr = va_arg (args, char *); -+ energize_query (ctlstr, args); - vfprintf_filtered (stdout, ctlstr, args); - printf_filtered ("(y or n) "); -! if (energize) -! { -! char *buf; -! -! buf = energize_command_line_input(0, 0); -! answer = buf ? *buf : 'Y'; -! energize_acknowledge_query(buf); -! } -! else -! { -! fflush (stdout); -! answer = fgetc (stdin); -! clearerr (stdin); /* in case of C-d */ -! if (answer == EOF) /* C-d */ -! return 1; -! if (answer != '\n') /* Eat rest of input line, to EOF or newline */ -! do -! { -! ans2 = fgetc (stdin); -! clearerr (stdin); -! } -! while (ans2 != EOF && ans2 != '\n'); -! } - if (answer >= 'a') - answer -= 040; - if (answer == 'Y') -*************** -*** 725,730 **** ---- 736,742 ---- - if (answer == 'N') - return 0; - printf_filtered ("Please answer y or n.\n"); -+ va_end (args); - } - } - -*************** -*** 991,996 **** ---- 1003,1014 ---- - if (linebuffer == 0) - return; - -+ if (energize) -+ { -+ energize_fputs(linebuffer); -+ return; -+ } -+ - /* Don't do any filtering if it is disabled. */ - if (stream != stdout - || (lines_per_page == UINT_MAX && chars_per_line == UINT_MAX)) -*** valprint.c.orig Sat Aug 8 23:14:57 1992 ---- valprint.c Mon Aug 24 19:22:31 1992 +=================================================================== +*** 1.54 1992/09/15 06:27:03 +--- valprint.c 1992/09/15 06:30:13 *************** *** 488,493 **** --- 488,494 ---- @@ -818,22 +791,3 @@ } if (i < len) fprintf_filtered (stream, "..."); -*** demangle.c.orig Wed Jul 15 12:33:17 1992 ---- demangle.c Mon Aug 24 19:22:32 1992 -*************** -*** 37,43 **** - the appropriate target configuration file. */ - - #ifndef DEFAULT_DEMANGLING_STYLE -! # define DEFAULT_DEMANGLING_STYLE AUTO_DEMANGLING_STYLE_STRING - #endif - - /* The current demangling style in affect. Global so that the demangler ---- 37,43 ---- - the appropriate target configuration file. */ - - #ifndef DEFAULT_DEMANGLING_STYLE -! # define DEFAULT_DEMANGLING_STYLE LUCID_DEMANGLING_STYLE_STRING - #endif - - /* The current demangling style in affect. Global so that the demangler |