diff options
author | Khem Raj <raj.khem@gmail.com> | 2009-10-13 17:06:00 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2009-10-13 17:11:16 -0700 |
commit | 97dc77c75df5706bcd83a7f8afc77db194fe973f (patch) | |
tree | 5d17f6139de0e021c54626f0140c197bb74dc728 /recipes | |
parent | aab5154587a8aa236e0689bb5bcf3fad6c06473a (diff) |
gdb-7.0: Add new recipes which use gdb 7.0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/gdb/gdb-7.0/gdb-6.8-fix-compile-karmic.patch | 22 | ||||
-rw-r--r-- | recipes/gdb/gdb-7.0/gdb-6.8-mingw-3.patch | 374 | ||||
-rw-r--r-- | recipes/gdb/gdb-7.0/gdb-6.8-pr9638-ppc-canadian-configh.patch | 179 | ||||
-rw-r--r-- | recipes/gdb/gdb-7.0/gdbserver-cflags-last.diff | 15 | ||||
-rw-r--r-- | recipes/gdb/gdb-canadian-sdk_7.0.bb | 11 | ||||
-rw-r--r-- | recipes/gdb/gdb-cross-sdk_7.0.bb | 13 | ||||
-rw-r--r-- | recipes/gdb/gdb-cross_7.0.bb | 7 | ||||
-rw-r--r-- | recipes/gdb/gdb_7.0.bb | 5 | ||||
-rw-r--r-- | recipes/gdb/gdbserver.inc | 2 | ||||
-rw-r--r-- | recipes/gdb/gdbserver_7.0.bb | 5 |
10 files changed, 633 insertions, 0 deletions
diff --git a/recipes/gdb/gdb-7.0/gdb-6.8-fix-compile-karmic.patch b/recipes/gdb/gdb-7.0/gdb-6.8-fix-compile-karmic.patch new file mode 100644 index 0000000000..1080b162aa --- /dev/null +++ b/recipes/gdb/gdb-7.0/gdb-6.8-fix-compile-karmic.patch @@ -0,0 +1,22 @@ +fix this on karmic + +cc1: warnings being treated as errors +/home/ich/build/arm/armv5t/tmp/work/i686-armv5te-sdk-oe-linux-gnueabi/gdb-cross-sdk-6.8-r2/gdb-6.8/gdb/eval.c: In function 'evaluate_subexp_standard': +/home/ich/build/arm/armv5t/tmp/work/i686-armv5te-sdk-oe-linux-gnueabi/gdb-cross-sdk-6.8-r2/gdb-6.8/gdb/eval.c:1705: error: 'subscript_array' may be used uninitialized in this function +/home/ich/build/arm/armv5t/tmp/work/i686-armv5te-sdk-oe-linux-gnueabi/gdb-cross-sdk-6.8-r2/gdb-6.8/gdb/eval.c:1644: note: 'subscript_array' was declared here + + + +Index: gdb-6.8/gdb/eval.c +=================================================================== +--- gdb-6.8.orig/gdb/eval.c 2009-08-02 03:25:20.000000000 +0200 ++++ gdb-6.8/gdb/eval.c 2009-08-02 03:53:39.000000000 +0200 +@@ -1656,6 +1656,8 @@ + if (nargs != ndimensions) + error (_("Wrong number of subscripts")); + ++ memset(&subscript_array, 0, sizeof(subscript_array)); ++ + /* Now that we know we have a legal array subscript expression + let us actually find out where this element exists in the array. */ + diff --git a/recipes/gdb/gdb-7.0/gdb-6.8-mingw-3.patch b/recipes/gdb/gdb-7.0/gdb-6.8-mingw-3.patch new file mode 100644 index 0000000000..5bede42eb0 --- /dev/null +++ b/recipes/gdb/gdb-7.0/gdb-6.8-mingw-3.patch @@ -0,0 +1,374 @@ +Index: gdb-7.0/gdb/gdbserver/remote-utils.c +=================================================================== +--- gdb-7.0.orig/gdb/gdbserver/remote-utils.c 2009-07-06 11:31:20.000000000 -0700 ++++ gdb-7.0/gdb/gdbserver/remote-utils.c 2009-10-13 15:16:16.495396950 -0700 +@@ -778,7 +778,12 @@ input_interrupt (int unused) + + cc = read (remote_desc, &c, 1); + ++#ifdef _WIN32_WINNT ++ // its normal in windows for current_inferior to be null. ++ if (cc != 1 || c != '\003' /*|| current_inferior == NULL*/) ++#else + if (cc != 1 || c != '\003' || current_inferior == NULL) ++#endif + { + fprintf (stderr, "input_interrupt, count = %d c = %d ('%c')\n", + cc, c, c); +Index: gdb-7.0/gdb/gdbserver/server.c +=================================================================== +--- gdb-7.0.orig/gdb/gdbserver/server.c 2009-06-30 09:35:25.000000000 -0700 ++++ gdb-7.0/gdb/gdbserver/server.c 2009-10-13 15:18:08.065401029 -0700 +@@ -31,6 +31,9 @@ + #if HAVE_MALLOC_H + #include <malloc.h> + #endif ++#ifdef _WIN32 ++#include <windows.h> ++#endif + + ptid_t cont_thread; + ptid_t general_thread; +@@ -502,6 +505,20 @@ monitor_show_help (void) + monitor_output (" Enable h/w breakpoint/watchpoint debugging messages\n"); + monitor_output (" set remote-debug <0|1>\n"); + monitor_output (" Enable remote protocol debugging messages\n"); ++#ifdef _WIN32 ++ monitor_output (" get processlist\n"); ++ monitor_output (" List remote processes with names and pid\n"); ++ monitor_output (" get processlistmi\n"); ++ monitor_output (" Process list in an MI-like format\n"); ++#endif ++ monitor_output (" set env <name=value>\n"); ++ monitor_output (" Set environment variable in remote environment\n"); ++ monitor_output (" cd <directory>\n"); ++ monitor_output (" Change current working directory\n"); ++ monitor_output (" pwd\n"); ++ monitor_output (" Print current working directory\n"); ++ monitor_output (" shell <command line>\n"); ++ monitor_output (" Execute command on remote target\n"); + monitor_output (" exit\n"); + monitor_output (" Quit GDBserver\n"); + } +@@ -660,6 +677,47 @@ handle_search_memory (char *own_buf, int + return; \ + } + ++#ifdef _WIN32 ++typedef DWORD (__stdcall *GETPROCESSIMAGEFILENAME)(HANDLE hProcess, LPTSTR lpImageFileName, DWORD nSize); ++typedef BOOL (__stdcall *ENUMPROCESSES)(DWORD* pProcessIds, DWORD cb, DWORD* pBytesReturned); ++ ++# define HAS_DEVICE(P) \ ++((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ ++&& (P)[1] == ':') ++# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) ++# define ISSLASH(C) ((C) == '/' || (C) == '\\') ++ ++char * ++__basename (char const *name) ++{ ++ char const *base = name += FILE_SYSTEM_PREFIX_LEN (name); ++ int all_slashes = 1; ++ char const *p; ++ ++ for (p = name; *p; p++) ++ { ++ if (ISSLASH (*p)) ++ base = p + 1; ++ else ++ all_slashes = 0; ++ } ++ ++ /* If NAME is all slashes, arrange to return `/'. */ ++ if (*base == '\0' && ISSLASH (*name) && all_slashes) ++ --base; ++ ++ /* Make sure the last byte is not a slash. */ ++ //assert (all_slashes || !ISSLASH (*(p - 1))); ++ ++ return (char *) base; ++} ++#endif ++ ++#ifndef _POSIX_PATH_MAX ++#define _POSIX_PATH_MAX 1024 ++#define _POSIX_PATH_MAX_WAS_UNDEFINED ++#endif ++ + /* Handle all of the extended 'q' packets. */ + void + handle_query (char *own_buf, int packet_len, int *new_packet_len_p) +@@ -1216,6 +1274,158 @@ handle_query (char *own_buf, int packet_ + debug_threads = 1; + monitor_output ("Debug output enabled.\n"); + } ++#ifdef _WIN32 ++ else if (strncmp (mon, "get processlist", 15) == 0) ++ { ++ HINSTANCE lib = LoadLibrary("PSAPI.DLL"); ++ GETPROCESSIMAGEFILENAME imageFilename = (GETPROCESSIMAGEFILENAME)GetProcAddress(lib, "GetProcessImageFileNameA"); ++ ENUMPROCESSES enumProcesses = (ENUMPROCESSES)GetProcAddress(lib, "EnumProcesses"); ++ ++ char* name = (char*)malloc(MAX_PATH); ++ ++ int miMode = (strcmp(mon, "get processlistmi") == 0); ++ ++ DWORD* pids = (DWORD*)malloc(sizeof(DWORD)*1024); ++ memset(pids, 0, sizeof(pids)); ++ DWORD size = 0; ++ ++ if (!enumProcesses(pids, 1024 * sizeof(DWORD), &size)) ++ { ++ free(pids); ++ free(mon); ++ return; ++ } ++ ++ int cnt = 0; ++ int number = size / sizeof(DWORD); ++ ++ char* miOutput = NULL; ++ ++ if (!miMode) ++ monitor_output("Remote process list:\n"); ++ else ++ { ++ miOutput = (char*)malloc((number * 255) * sizeof(char)); ++ strcpy(miOutput, "^done,processlist=["); ++ } ++ ++ for (cnt = 0; cnt < number; cnt++) ++ { ++ HMODULE hProcess = (HMODULE)OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pids[cnt]); ++ strcpy(name, ""); ++ printf(name); ++ ++ imageFilename(hProcess, name, MAX_PATH); ++ ++ if (pids[cnt] > 4 && strcmp(name, "") != 0) ++ { ++ char item[2048] = ""; ++ char tmp[24] = "0"; ++ itoa(pids[cnt], tmp, 10); ++ strcat(item, tmp); ++ strcat(item, "="); ++ strcat(item, __basename(name)); ++ ++ if (!miMode) ++ { ++ strcat(item, "\n"); ++ monitor_output(item); ++ } ++ else ++ { ++ strcat(miOutput, item); ++ strcat(miOutput, ","); ++ } ++ } ++ ++ CloseHandle(hProcess); ++ } ++ ++ if (miMode) ++ { ++ strcat(miOutput, "]\n"); ++ monitor_output(miOutput); ++ free(miOutput); ++ } ++ ++ FreeLibrary(lib); ++ ++ free(pids); ++ free(name); ++ } ++#endif ++ else if (strncmp (mon, "set env ", 8) == 0) ++ { ++ char* envLine = mon + 8; ++ char* envName = strtok(envLine, "= "); ++ char* envValue = strtok(NULL, "= "); ++ if (envName && envValue) ++ { ++#ifdef _WIN32 ++ SetEnvironmentVariable(envName, envValue); ++#else ++ setenv(envName, envValue, 1); ++#endif ++ monitor_output("Target environment variable set ("); ++ monitor_output(envName); ++ monitor_output(" = "); ++ monitor_output(envValue); ++ monitor_output(").\n"); ++ } ++ else ++ monitor_output("Incorrect format for environment variable.\n"); ++ } ++ else if (strncmp (mon, "cd ", 3) == 0) ++ { ++ char* dir = mon + 3; ++ if (strlen(dir) > 0) ++ chdir(dir); ++ } ++ else if (strcmp(mon, "pwd") == 0) ++ { ++ long size = _POSIX_PATH_MAX; ++ char* current_directory = (char*)malloc(size); ++ getcwd(current_directory, size); ++ if (strlen(current_directory) > 0) ++ { ++ monitor_output(current_directory); ++ monitor_output("\n"); ++ } ++ free(current_directory); ++ } ++ else if (strncmp (mon, "shell ", 6) == 0) ++ { ++ char* arg = mon + 6; ++ ++ if (strlen(arg) == 0) ++ { ++ monitor_output("Inferior shells are not supported."); ++ free(mon); ++ return; ++ } ++ ++ long size = _POSIX_PATH_MAX; ++ char* current_directory = (char*)malloc(size); ++ getcwd(current_directory, size); ++ ++ int rc = system (arg); ++ char msg[255]; ++ if (rc == -1) ++ { ++ sprintf(msg, "Cannot execute '%s': %s.\n", arg, strerror(errno)); ++ monitor_output(msg); ++ } ++ else if (rc != -1) ++ { ++ sprintf(msg, "'%s' exited with status %d.\n", arg, rc); ++ monitor_output(msg); ++ } ++ ++ /* Make sure to return to the directory GDB thinks it is, in case the ++ shell command we just ran changed it. */ ++ chdir(current_directory); ++ free(current_directory); ++ } + else if (strcmp (mon, "set debug 0") == 0) + { + debug_threads = 0; +@@ -1295,6 +1505,11 @@ handle_query (char *own_buf, int packet_ + own_buf[0] = 0; + } + ++#ifdef _POSIX_PATH_MAX_WAS_UNDEFINED ++#undef _POSIX_PATH_MAX ++#undef _POSIX_PATH_MAX_WAS_UNDEFINED ++#endif ++ + /* Parse vCont packets. */ + void + handle_v_cont (char *own_buf) +Index: gdb-7.0/gdb/gdbserver/win32-low.c +=================================================================== +--- gdb-7.0.orig/gdb/gdbserver/win32-low.c 2009-07-04 11:13:28.000000000 -0700 ++++ gdb-7.0/gdb/gdbserver/win32-low.c 2009-10-13 15:16:16.495396950 -0700 +@@ -38,7 +38,7 @@ + #include <sys/cygwin.h> + #endif + +-#define LOG 0 ++#define LOG 1 + + #define OUTMSG(X) do { printf X; fflush (stdout); } while (0) + #if LOG +@@ -556,9 +556,9 @@ win32_create_inferior (char *program, ch + } + OUTMSG2 (("Command line is \"%s\"\n", args)); + +-#ifdef CREATE_NEW_PROCESS_GROUP ++//#ifdef CREATE_NEW_PROCESS_GROUP + flags |= CREATE_NEW_PROCESS_GROUP; +-#endif ++//#endif + + ret = create_process (program, args, flags, &pi); + err = GetLastError (); +@@ -699,8 +699,37 @@ win32_kill (int pid) + if (current_process_handle == NULL) + return -1; + +- TerminateProcess (current_process_handle, 0); +- for (;;) ++ TerminateProcess (current_process_handle, 0); ++ ++ // BKS - fix for terminating apps prior to their exit, lets go of execs. ++ winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL; ++ winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL; ++#ifdef _WIN32_WCE ++ HMODULE dll = GetModuleHandle (_T("COREDLL.DLL")); ++#else ++ HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL")); ++#endif ++ DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop); ++ DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit); ++ ++ if (DebugSetProcessKillOnExit != NULL ++ && DebugActiveProcessStop != NULL) ++ { ++ { ++ struct thread_resume resume; ++ resume.thread = -1; ++ resume.step = 0; ++ resume.sig = 0; ++ resume.leave_stopped = 0; ++ win32_resume (&resume); ++ } ++ ++ DebugActiveProcessStop (current_process_id); ++ DebugSetProcessKillOnExit (FALSE); ++ } ++ // end BKS ++ ++ for (;;) + { + if (!child_continue (DBG_CONTINUE, -1)) + break; +@@ -1207,6 +1236,7 @@ handle_exception (struct target_waitstat + + ourstatus->kind = TARGET_WAITKIND_STOPPED; + ++ //printf("handle exception....................%X\n", (unsigned int)code); + switch (code) + { + case EXCEPTION_ACCESS_VIOLATION: +@@ -1217,7 +1247,13 @@ handle_exception (struct target_waitstat + OUTMSG2 (("STATUS_STACK_OVERFLOW")); + ourstatus->value.sig = TARGET_SIGNAL_SEGV; + break; +- case STATUS_FLOAT_DENORMAL_OPERAND: ++ // BKS ++ case STATUS_INVALID_HANDLE: ++ OUTMSG2 (("STATUS_INVALID_HANDLE")); ++ ourstatus->value.sig = TARGET_SIGNAL_TRAP; ++ break; ++ // BKS ++ case STATUS_FLOAT_DENORMAL_OPERAND: + OUTMSG2 (("STATUS_FLOAT_DENORMAL_OPERAND")); + ourstatus->value.sig = TARGET_SIGNAL_FPE; + break; +Index: gdb-7.0/gdb/windows-nat.c +=================================================================== +--- gdb-7.0.orig/gdb/windows-nat.c 2009-09-30 00:40:10.000000000 -0700 ++++ gdb-7.0/gdb/windows-nat.c 2009-10-13 15:16:16.505397243 -0700 +@@ -1035,6 +1035,10 @@ handle_exception (struct target_waitstat + DEBUG_EXCEPTION_SIMPLE ("STATUS_STACK_OVERFLOW"); + ourstatus->value.sig = TARGET_SIGNAL_SEGV; + break; ++ case STATUS_INVALID_HANDLE: ++ DEBUG_EXCEPTION_SIMPLE ("STATUS_INVALID_HANDLE"); ++ ourstatus->value.sig = TARGET_SIGNAL_TRAP; ++ break; + case STATUS_FLOAT_DENORMAL_OPERAND: + DEBUG_EXCEPTION_SIMPLE ("STATUS_FLOAT_DENORMAL_OPERAND"); + ourstatus->value.sig = TARGET_SIGNAL_FPE; diff --git a/recipes/gdb/gdb-7.0/gdb-6.8-pr9638-ppc-canadian-configh.patch b/recipes/gdb/gdb-7.0/gdb-6.8-pr9638-ppc-canadian-configh.patch new file mode 100644 index 0000000000..83e85ba3cd --- /dev/null +++ b/recipes/gdb/gdb-7.0/gdb-6.8-pr9638-ppc-canadian-configh.patch @@ -0,0 +1,179 @@ +diff -urN gdb-6.8-pl1/sim/ppc/Makefile.in gdb-6.8-pl2/sim/ppc/Makefile.in +--- gdb-6.8-pl1/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200 ++++ gdb-6.8-pl2/sim/ppc/Makefile.in 2008-09-30 15:56:33.000000000 +0200 +@@ -61,7 +61,7 @@ + AR = @AR@ + AR_FLAGS = rc + CC = @CC@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -DHAVE_CONFIG_H + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ + BISON = bison +@@ -115,8 +115,8 @@ + $(DEVZERO_CFLAGS) + SIM_FPU_CFLAGS = @sim_fpu_cflags@ + +-STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) +-NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) ++STD_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) ++NOWARN_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) + BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS) + + BUILD_LDFLAGS = +diff -urN gdb-6.8-orig/sim/ppc/basics.h gdb-6.8-pl1/sim/ppc/basics.h +--- gdb-6.8-orig/sim/ppc/basics.h 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/basics.h 2008-09-30 15:12:32.000000000 +0200 +@@ -86,7 +86,9 @@ + + /* Basic configuration */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "inline.h" + +diff -urN gdb-6.8-orig/sim/ppc/debug.c gdb-6.8-pl1/sim/ppc/debug.c +--- gdb-6.8-orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/debug.c 2008-09-30 15:12:27.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _DEBUG_C_ + #define _DEBUG_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/dgen.c gdb-6.8-pl1/sim/ppc/dgen.c +--- gdb-6.8-orig/sim/ppc/dgen.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/dgen.c 2008-09-30 15:12:22.000000000 +0200 +@@ -27,7 +27,9 @@ + #include <ctype.h> + #include <stdarg.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" +diff -urN gdb-6.8-orig/sim/ppc/filter.c gdb-6.8-pl1/sim/ppc/filter.c +--- gdb-6.8-orig/sim/ppc/filter.c 1999-04-16 03:35:09.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter.c 2008-09-30 15:12:15.000000000 +0200 +@@ -21,7 +21,9 @@ + + #include <stdio.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #ifdef HAVE_STRING_H + #include <string.h> +diff -urN gdb-6.8-orig/sim/ppc/filter_filename.c gdb-6.8-pl1/sim/ppc/filter_filename.c +--- gdb-6.8-orig/sim/ppc/filter_filename.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter_filename.c 2008-09-30 15:12:11.000000000 +0200 +@@ -18,7 +18,9 @@ + + */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "filter_filename.h" + +diff -urN gdb-6.8-orig/sim/ppc/igen.c gdb-6.8-pl1/sim/ppc/igen.c +--- gdb-6.8-orig/sim/ppc/igen.c 2003-06-20 05:59:33.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/igen.c 2008-09-30 15:12:06.000000000 +0200 +@@ -25,7 +25,9 @@ + #include "misc.h" + #include "lf.h" + #include "table.h" ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include "filter.h" + +diff -urN gdb-6.8-orig/sim/ppc/inline.c gdb-6.8-pl1/sim/ppc/inline.c +--- gdb-6.8-orig/sim/ppc/inline.c 1999-04-16 03:35:10.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/inline.c 2008-09-30 15:11:58.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _INLINE_C_ + #define _INLINE_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + + #include "inline.h" +diff -urN gdb-6.8-orig/sim/ppc/lf.c gdb-6.8-pl1/sim/ppc/lf.c +--- gdb-6.8-orig/sim/ppc/lf.c 2002-05-30 17:07:06.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/lf.c 2008-09-30 15:33:35.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + +diff -urN gdb-6.8-orig/sim/ppc/misc.c gdb-6.8-pl1/sim/ppc/misc.c +--- gdb-6.8-orig/sim/ppc/misc.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/misc.c 2008-09-30 15:11:54.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/misc.h gdb-6.8-pl1/sim/ppc/misc.h +--- gdb-6.8-orig/sim/ppc/misc.h 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/misc.h 2008-09-30 15:11:49.000000000 +0200 +@@ -21,7 +21,9 @@ + + /* Frustrating header junk */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include <stdio.h> + #include <ctype.h> +diff -urN gdb-6.8-orig/sim/ppc/sim-endian.c gdb-6.8-pl1/sim/ppc/sim-endian.c +--- gdb-6.8-orig/sim/ppc/sim-endian.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/sim-endian.c 2008-09-30 15:11:44.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _SIM_ENDIAN_C_ + #define _SIM_ENDIAN_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + +diff -urN gdb-6.8-orig/sim/ppc/table.c gdb-6.8-pl1/sim/ppc/table.c +--- gdb-6.8-orig/sim/ppc/table.c 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/table.c 2008-09-30 15:11:38.000000000 +0200 +@@ -25,7 +25,9 @@ + #include <fcntl.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" diff --git a/recipes/gdb/gdb-7.0/gdbserver-cflags-last.diff b/recipes/gdb/gdb-7.0/gdbserver-cflags-last.diff new file mode 100644 index 0000000000..57e78f6b3d --- /dev/null +++ b/recipes/gdb/gdb-7.0/gdbserver-cflags-last.diff @@ -0,0 +1,15 @@ +Index: gdb/gdbserver/Makefile.in +=================================================================== +--- gdb/gdbserver/Makefile.in.orig 2009-07-31 08:23:20.000000000 -0700 ++++ gdb/gdbserver/Makefile.in 2009-10-13 14:47:21.365401025 -0700 +@@ -89,8 +89,8 @@ WARN_CFLAGS = -Wall + CFLAGS = @CFLAGS@ + + # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. +-INTERNAL_CFLAGS = $(WARN_CFLAGS) ${CFLAGS} ${GLOBAL_CFLAGS} \ +- ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ++INTERNAL_CFLAGS = $(WARN_CFLAGS) ${GLOBAL_CFLAGS} \ ++ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CFLAGS} + + # LDFLAGS is specifically reserved for setting from the command line + # when running make. diff --git a/recipes/gdb/gdb-canadian-sdk_7.0.bb b/recipes/gdb/gdb-canadian-sdk_7.0.bb new file mode 100644 index 0000000000..3b6eb2b07f --- /dev/null +++ b/recipes/gdb/gdb-canadian-sdk_7.0.bb @@ -0,0 +1,11 @@ +require gdb-canadian-cross.inc +LICENSE = "GPLv3" + +SRC_URI += "\ + file://gdb-6.8-mingw-3.patch;patch=1 \ + file://gdb-6.8-pr9638-ppc-canadian-configh.patch;patch=1 \ + file://gdb-6.8-fix-compile-karmic.patch;patch=1 \ + " +do_stage() { + : +} diff --git a/recipes/gdb/gdb-cross-sdk_7.0.bb b/recipes/gdb/gdb-cross-sdk_7.0.bb new file mode 100644 index 0000000000..10e4b1462f --- /dev/null +++ b/recipes/gdb/gdb-cross-sdk_7.0.bb @@ -0,0 +1,13 @@ +require gdb-cross.inc +LICENSE = "GPLv3" + +SRC_URI += "\ + file://gdb-6.8-fix-compile-karmic.patch;patch=1" + +DEPENDS = "ncurses-sdk" + +inherit sdk + +do_stage() { + : +} diff --git a/recipes/gdb/gdb-cross_7.0.bb b/recipes/gdb/gdb-cross_7.0.bb new file mode 100644 index 0000000000..6883b7c2e8 --- /dev/null +++ b/recipes/gdb/gdb-cross_7.0.bb @@ -0,0 +1,7 @@ +require gdb-cross.inc +LICENSE = "GPLv3" + +SRC_URI += " \ + file://gdb-6.8-fix-compile-karmic.patch;patch=1" + +inherit cross diff --git a/recipes/gdb/gdb_7.0.bb b/recipes/gdb/gdb_7.0.bb new file mode 100644 index 0000000000..9a4684409b --- /dev/null +++ b/recipes/gdb/gdb_7.0.bb @@ -0,0 +1,5 @@ +require gdb.inc +LICENSE = "GPLv3" + +SRC_URI += "\ + file://gdb-6.8-fix-compile-karmic.patch;patch=1" diff --git a/recipes/gdb/gdbserver.inc b/recipes/gdb/gdbserver.inc index e02f276cb6..b98058fe5d 100644 --- a/recipes/gdb/gdbserver.inc +++ b/recipes/gdb/gdbserver.inc @@ -11,6 +11,8 @@ RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db " inherit gettext +FILESPATHPKG =. "gdb-${PV}:" + SRC_URI += "file://kill_arm_map_symbols.patch;patch=1 \ file://gdbserver-cflags-last.diff;patch=1;pnum=0" #FIXME file://uclibc.patch;patch=1 \ diff --git a/recipes/gdb/gdbserver_7.0.bb b/recipes/gdb/gdbserver_7.0.bb new file mode 100644 index 0000000000..96de5e90e5 --- /dev/null +++ b/recipes/gdb/gdbserver_7.0.bb @@ -0,0 +1,5 @@ +require gdbserver.inc + +LICENSE = "GPLv3" + +PR = "${INC_PR}.0" |