diff --git a/ChangeLog b/ChangeLog index c2e26b6a..67577d3c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,7 +25,8 @@ Devin Anderson Josh Green Mario Lang Arnold Krille -Jan Engelhardt +Jan Engelhardt +Adrian Knoth --------------------------- Jackdmp changes log @@ -33,7 +34,8 @@ Jan Engelhardt 2010-07-07 Stephane Letz - * Jan Engelhardt patch for get_cycles on SPARC. + * Jan Engelhardt patch for get_cycles on SPARC. + * Adrian Knoth hurd.patch, kfreebsd-fix.patch and alpha_ia64-sigsegv.patch from ticket 177. 2010-06-29 Stephane Letz diff --git a/common/JackClient.cpp b/common/JackClient.cpp index 7005c656..800c70f6 100644 --- a/common/JackClient.cpp +++ b/common/JackClient.cpp @@ -1012,7 +1012,7 @@ int JackClient::InternalClientLoad(const char* client_name, jack_options_t optio if (va->load_name && (strlen(va->load_name) >= JACK_PATH_MAX)) { jack_error("\"%s\" is too long for a shared object name.\n" "Please use %lu characters or less.", - va->load_name, PATH_MAX); + va->load_name, JACK_PATH_MAX); int my_status1 = *status | (JackFailure | JackInvalidOption); *status = (jack_status_t)my_status1; return 0; diff --git a/common/jack/systemdeps.h b/common/jack/systemdeps.h index 939e3c35..eadecd40 100644 --- a/common/jack/systemdeps.h +++ b/common/jack/systemdeps.h @@ -53,7 +53,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #endif /* WIN32 */ -#if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun) +#if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun) || defined(__unix__) #include #include #include diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c index ab535bc2..ea309547 100644 --- a/dbus/sigsegv.c +++ b/dbus/sigsegv.c @@ -98,14 +98,18 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { jack_error("info.si_errno = %d", info->si_errno); jack_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]); jack_error("info.si_addr = %p", info->si_addr); +#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) for(i = 0; i < NGREG; i++) jack_error("reg[%02d] = 0x" REGFORMAT, i, #if defined(__powerpc__) ucontext->uc_mcontext.uc_regs[i] +#elif defined(__sparc__) && defined(__arch64__) + ucontext->uc_mcontext.mc_gregs[i] #else ucontext->uc_mcontext.gregs[i] #endif ); +#endif /* alpha, ia64, kFreeBSD, arm, hppa */ #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) # if defined(SIGSEGV_STACK_IA64) diff --git a/linux/cycles.h b/linux/cycles.h index b4d2d467..96ded0cd 100644 --- a/linux/cycles.h +++ b/linux/cycles.h @@ -113,8 +113,7 @@ static inline cycles_t get_cycles (void) #endif -/* everything else but x86, amd64 or ppc */ -#if !defined (__PPC__) && !defined (__x86_64__) && !defined (__i386__) +#if defined(__FreeBSD_kernel__) #warning No suitable get_cycles() implementation. Returning 0 instead @@ -127,6 +126,18 @@ static inline cycles_t get_cycles(void) #endif +/* everything else but x86, amd64 or ppc */ +#if !defined (__PPC__) && !defined (__x86_64__) && !defined (__i386__) + +#warning No suitable get_cycles() implementation. Returning 0 instead + +typedef unsigned long long cycles_t; + +static inline cycles_t get_cycles(void) +{ + return 0; +} + #endif #endif /* __jack_cycles_h__ */ diff --git a/wscript b/wscript index ae5ccd17..52f01f63 100644 --- a/wscript +++ b/wscript @@ -79,7 +79,7 @@ def set_options(opt): def configure(conf): platform = Utils.detect_platform() conf.env['IS_MACOSX'] = platform == 'darwin' - conf.env['IS_LINUX'] = platform == 'linux' + conf.env['IS_LINUX'] = platform == 'linux' or platform == 'posix' conf.env['IS_SUN'] = platform == 'sunos' if conf.env['IS_LINUX']: