Till Straumann
278a8dac05
- solaris implementation of epicsBackTrace() via walkcontext()
2014-09-08 23:07:51 -07:00
Till Straumann
8477dec61f
- added windows versions of osdBackTrace.c, osdFindAddr.c; the latter
...
does not implement addr->symbol conversion yet.
2014-09-08 22:31:11 -07:00
Till Straumann
8931954d28
- fixed illegal void* pointer arithmetic (by casting to char*)
2014-09-08 22:30:34 -07:00
Till Straumann
954ba66027
- fixed illegal void* pointer arithmetic by casting to char*
...
- removed more unused stuff
2014-09-08 22:29:46 -07:00
Till Straumann
4e1677a38f
- (hopefully) correct usage of sharedLib.h...
2014-09-08 22:28:41 -07:00
strauman
e349b3ab94
- first stab at breaking stack trace facility into separate files
2014-09-08 19:41:06 -07:00
Andrew Johnson
3f88273d0f
Linux builds: Define _GNU_SOURCE and _DEFAULT_SOURCE
...
These replace the mixture of macros used to pick the features
presented by the standard system header files on Linux.
Updated the section of the CA reference manual that showed some
example compile lines to correct for 3.15 build changes.
Removed unused code & out-of-date comments.
2014-09-08 17:57:18 -05:00
Till Straumann
fa41fcbe40
- use unistd's _POSIX_MAPPED_FILES to determine if a system has mmap.
2014-09-08 08:10:16 -07:00
Till Straumann
9dd130afb6
- forget about backtrace_symbols() -- always use 'dladdr'. (The former
...
is non-standard either and AFAIK always based on the latter.) Always
using dladdr allows us to precisely control the printout formatting
and keep it consistent.
2014-09-05 15:29:32 -07:00
Till Straumann
423709b795
- call first epicsStackTraceRecurseGbl() through function pointer -- clang
...
(darwin) had optimized it away.
2014-09-05 11:17:17 -07:00
Till Straumann
fd9fed2262
- canonicalized printout formatting
...
- added EPICS_STACKTRACE_DYN_SYMBOL
- added USE_DLADDR branch (which is a 'super' of USE_ELF, i.e., the latter
depends on the former)
2014-09-04 10:59:39 -07:00
Till Straumann
68429f03f2
- added EPICS_STACKTRACE_DYN_SYMBOL
2014-09-04 10:58:27 -07:00
Andrew Johnson
7a9407d7ab
libCom: Clean up MS compiler warnings.
...
This doesn't fix the Microsoft link failure though, that may
need an upgrade of MS Visual Studio on our Hudson Windows VM.
2014-09-04 11:07:59 -05:00
Till Straumann
fab9ef6147
- added test case for library symbols
...
- replaced TABs by spaces
2014-09-03 13:23:23 -07:00
Till Straumann
4352a1df59
- replaced TABs by four blanks
2014-09-03 09:39:15 -07:00
Till Straumann
f399b354e6
- replaced TABs by four blanks
2014-09-03 08:13:15 -07:00
Keenan Lang
6d4e284ab1
Added note to fixme comment to state that a function is relying on its current setup.
2014-09-02 17:21:42 -05:00
Keenan Lang
85936ff34c
Darwin's osdEnv.c was updated while I was working on this, changed my updated version to match.
2014-09-02 16:55:32 -05:00
Keenan Lang
ee197893e7
removing some extra whitespace to cleanup the diff
2014-09-02 16:44:47 -05:00
Keenan Lang
64a98452e3
epicsEnvSet clears macros before setting environment variable to ensure intuitive use of the function in nested iocsh calls. While adding this functionality, fixed a latent bug in macPutValue where if you tried to NULL a macro with the same name as an environment variable, you would go into an infinite loop.
2014-09-02 16:35:32 -05:00
Till Straumann
16bef44e5d
- print header message
2014-08-29 15:03:56 -07:00
Till Straumann
f2626442b6
- removed message; if there is no support remain silent
2014-08-29 15:03:04 -07:00
Till Straumann
32c6888e1b
- removed message about a stack trace going to be printed
2014-08-29 15:02:20 -07:00
Till Straumann
0d323db997
- removed obsolete rule (used during development)
2014-08-29 15:00:54 -07:00
Andrew Johnson
8604d4643a
Merged Murali's memlock_all branch.
2014-08-29 10:58:55 -07:00
Till Straumann
079357c242
- let default (no-op) version of stack trace print informative message
...
that stack traces are not supported.
2014-08-28 15:10:12 -07:00
Till Straumann
768c2c02e7
- paranoia test; errlogFlush; fixed debug messages
...
1) Added a paranoia test to make sure an ill-formatted
ELF string table is not overrun if there is no NULL
char found.
2) Added errlogFlush() before and after stack dump (suggestion
by Michael Davidsaver, thanks).
3) Fixed (out of sync) debug messages.
2014-08-28 11:43:46 -07:00
Till Straumann
47408ed14c
- indentation
2014-08-28 11:43:18 -07:00
Till Straumann
5a06c118c8
- added unit test for epicsStackTrace
2014-08-28 10:50:03 -07:00
Till Straumann
ccb5be72dd
- consistent naming: 'StackTrace' everywhere...
2014-08-28 10:49:22 -07:00
Till Straumann
8b2b03482f
- consistent naming: 'StackTrace' everywhere.
2014-08-28 10:47:59 -07:00
Andrew Johnson
7629cf818a
Add epicsScanLLong and epicsScanULLong macros and tests.
2014-08-27 23:29:19 -07:00
Andrew Johnson
b0cdaddebc
Added 64bit and long long epicsParse* functions
2014-08-27 22:21:30 -07:00
Andrew Johnson
9471488796
Add strtoll() and strtoull() for VxWorks
...
These are not yet provided even in VxWorks 6.9.
2014-08-27 22:11:08 -07:00
Till Straumann
4459ca0ad8
- merged stacktrace onto current 3.15 tip (Thanks Andrew for his help)
2014-08-27 14:34:05 -07:00
Keenan Lang
9d0be21cc1
MAC_HANDLE's in iocshBody weren't being created with environment variables.
2014-08-27 13:31:16 -05:00
Keenan Lang
b2c2d9b7d6
Tests changed to accomodate macDefExpand's different args
2014-08-27 13:17:15 -05:00
Keenan Lang
4497e8d5f4
Updated macLibREADME
2014-08-27 11:41:27 -05:00
Keenan Lang
2d3db2036b
Updated iocshBody to keep track of macro context to allow scoping of macro variables from iocshRun/Load
2014-08-27 11:33:14 -05:00
Murali Shankar
1b7c161f7f
On POSIX systems, an IOC application's ability to meet timing deadlines is often
...
dependent on its ability to lock part or all of the process's virtual
address space into RAM, preventing that memory from being paged to the swap
area. This patch will attempt to lock the process's virtual address space into
RAM if the process has the ability to run threads with different priorities. If
unsuccessful, it prints an message to stderr.
In Linux, one can grant a process the ability to run threads with different
priorities by using a command like ulimit -r unlimited. To use the FIFO
scheduler, use a command like so - chrt -f 1 softIoc -d test.db
In Linux, one can grant a process the ability to lock memory by using a command
like ulimit -l unlimited. Alternatively, these limits can be configured on a per
user/per group basis by using /etc/security/limits.conf or its equivalent.
In Linux, a child process created via fork inherits its parent's resource
limits. Thus, it is probably a good idea to start the caRepeater before
starting the IOC.
2014-08-26 17:29:27 -07:00
Ralph Lange
f40c25723d
libCom/osi: Fix for MinGW32 builds on Windows
2014-08-26 17:14:35 -07:00
Andrew Johnson
0d33e8a872
epicsStdio.c allow stderr from inside epicsThreadInit()
...
Circular initialization problem that Murali discovered when you
try to fprintf(stderr) from the posix/osdThread.c once() routine.
This change lets the stderr stream through in that case.
2014-08-26 16:40:02 -07:00
Andrew Johnson
83d22ce164
libCom: Darwin has setenv(), use it.
2014-08-26 14:51:18 -07:00
Andrew Johnson
2aea693faf
Merged Jeff's 3.15_libcom_from_cvs_trunk branch.
2014-08-25 16:27:18 -05:00
Ralph Lange
ca8eda8090
Merge (cherry-pick) original parts from parallel-cbthreads branch
2014-08-25 13:40:18 -07:00
Keenan Lang
00bb3d1e67
iocshLoad now works as iocsh with no parameters
2014-08-22 14:25:41 -05:00
Keenan Lang
1ad6ff03b3
Changed iocshLoadFile to iocshLoad and added iocshRun as the macro version of iocshCmd
2014-08-22 11:50:24 -05:00
Keenan Lang
4f1f7dd83b
Updated macLib documentation
2014-08-21 17:13:00 -05:00
Keenan Lang
8750ff8807
macDefExpand test file
2014-08-21 16:55:26 -05:00
Keenan Lang
28a01eb572
Added macDefExpand tests to libCom Test Harness
2014-08-21 16:54:39 -05:00