1
1

Ensure the debugger symbols are loaded into orterun prior to orte_init so they are found by attaching debuggers.

This commit was SVN r23368.
Этот коммит содержится в:
Ralph Castain 2010-07-09 17:51:00 +00:00
родитель cc9b768fdb
Коммит 2193ace464
4 изменённых файлов: 31 добавлений и 15 удалений

Просмотреть файл

@ -9,8 +9,8 @@
/** @file:
*/
#ifndef MCA_ALARM_BASE_H
#define MCA_ALARM_BASE_H
#ifndef MCA_DEBUGGER_BASE_H
#define MCA_DEBUGGER_BASE_H
/*
* includes

Просмотреть файл

@ -41,19 +41,6 @@
#include "orte/mca/debugger/base/base.h"
/* instance the standard MPIR interfaces */
struct MPIR_PROCDESC *MPIR_proctable = NULL;
int MPIR_proctable_size = 0;
volatile int MPIR_being_debugged = 0;
volatile int MPIR_debug_state = 0;
volatile int MPIR_i_am_starter = 0;
volatile int MPIR_partial_attach_ok = 1;
volatile char MPIR_executable_path[MPIR_MAX_PATH_LENGTH];
volatile char MPIR_server_arguments[MPIR_MAX_ARG_LENGTH];
volatile int MPIR_forward_output = 0;
volatile int MPIR_forward_comm = 0;
char MPIR_attach_fifo[MPIR_MAX_PATH_LENGTH];
#define DUMP_INT(X) fprintf(stderr, " %s = %d\n", # X, X);
void orte_debugger_base_dump(void)

Просмотреть файл

@ -38,6 +38,20 @@ opal_list_t orte_debugger_base_components_available;
orte_debugger_base_module_t orte_debugger;
/* instance the standard MPIR interfaces */
struct MPIR_PROCDESC *MPIR_proctable = NULL;
int MPIR_proctable_size = 0;
volatile int MPIR_being_debugged = 0;
volatile int MPIR_debug_state = 0;
volatile int MPIR_i_am_starter = 0;
volatile int MPIR_partial_attach_ok = 1;
volatile char MPIR_executable_path[MPIR_MAX_PATH_LENGTH];
volatile char MPIR_server_arguments[MPIR_MAX_ARG_LENGTH];
volatile int MPIR_forward_output = 0;
volatile int MPIR_forward_comm = 0;
char MPIR_attach_fifo[MPIR_MAX_PATH_LENGTH];
#if ORTE_DISABLE_FULL_SUPPORT
int orte_debugger_base_open(void)
{

Просмотреть файл

@ -537,6 +537,21 @@ int orterun(int argc, char *argv[])
/* Setup MCA params */
orte_register_params();
/* force the debugger symbols to be included in orterun.
* this is required since the symbols are instantiated in
* the orte library, yet they need to be accessed
* prior to orte_init when a debugger wants to launch
* us
*/
MPIR_proctable = NULL;
if (0 == MPIR_being_debugged);
if (0 == MPIR_debug_state);
if (0 == MPIR_i_am_starter);
if (1 == MPIR_partial_attach_ok);
if (0 == MPIR_forward_output);
if (0 == MPIR_forward_comm);
memset((char*)MPIR_attach_fifo, 0, MPIR_MAX_PATH_LENGTH);
/* Check for some "global" command line params */
parse_globals(argc, argv, &cmd_line);
OBJ_DESTRUCT(&cmd_line);