Adding a local symbol lets the relocator find local symbols referenced
in relocation records. The local symbol table is erased once the object
module has been loaded.
This is a small (21K on sparc) editor that provides some powerful
features useful when a file needs editing on an embedded
board. No need to copy files off, edit, copy back.
This module makes it easy to redirect and capture stdout, stderr or any
other fd in your application.
The captured data can be sent off board, for example using syslog,
or buffered and displayed in a web page.
The ping code is taken from a recent FreeBSD release. Some options have been
tested, other not tested or do not work. This could be due to the age of
our TCP/IP stack.
This version of ping will not work if more than 64 file descriptors are
open at once because the select FD size is 64 as set in newlib.
Remove rtems_current_shell_env as this is dangerous because
the env can be NULL if used outside of a valid shell with the
POSIX key to an env set up.
Clean up the usage of rtems_current_shell_env.
The following BSPs do not have tick support so the tests fail:
arm1136jfs
arm1136js
arm7tdmi
arm920
armcortexa9 (does not run any more)
avrtest
h8sim
h8sxsim
m32csim
m32rsim
moxiesim
simsh1
simsh2
simsh4
v850e1sim
v850e2sim
v850e2v3sim
v850esim
v850essim
v850sim
This list was provided by Joel in the following post:
http://www.rtems.org/pipermail/rtems-devel/2014-April/006526.html
BSPs for simulators which do not include a clock tick interrupt source
are incapable of running some tests successfully. This is a common
characteristic of some BSPs and a fixed set of tests. There is no point
in duplicating this list of tests in those BSPs test configuration.
Read testsuites/testdata/require-tick-isr.tcfg for details.
Switch to the standard ARM startup code. This requires adding the
standard interrupt code. The interrupt code does nothing at this
point in time. I do not know if the ARM simulator in GDB supports
interrupts.
The syscall functions overlapped with RTEMS, for example _write, _read, etc.
Change these to be internal to the BSP and avoid any clash with names in
RTEMS. Add support for SWI_Write0.
Change the console driver to use SWI_Write0. This outputs the character
to the host's stdout. Writing to file name 0 is not captured and managed
by GDB's simulation code while the SWI_Write0 is. The managed stdout
data is encapulated in the MI protocol while writes to file handle 0 are
dropped by GDB when in MI mode.
This is a shell script that lists the BSPs in the source tree by
architecture. The BSP name is given plus the relative path to
BSP source files.
The script uses the same hack, ie looking for *.cfg files, as the
build system so it sees what the build system sees.
Avoid using newlib's gmtime_r call which fails with a max signed int.
Add an RTEMS specific version for 1/1/1988 to 31/12/2100.
Update sp2038 to test every day from 1/1/1988 to 31/12/2100. Only days
need be tested as the code splits the seconds based on days.
Provide a file per BSP to list tests that do not build for a BSP. This change
removes the BSP_SMALL_MEMORY hack from the code. That hack was a
mistake.
Provide configuration files for each BSP with tests that cannot build.
Generate a linker command file from configure letting the user override the
defaults to suite their custom needs. Refer to configure.ac for the details.
Remove the SMP variants and let --enable-smp control if a BSP is built for
SMP.
Make USE_FAST_IDLE 1 only for the realview qemu BSP.
The lack of a line feed means the output from the test runs into
the MI protocol on GDB as the broken simulator output currently
is not passing through gdb's MI protocol layer.
Alter the output to avoid sending out what is the MI protocol. The SIS
simulator is currently broken and outputs directly to GDB's stdout and
so this output gets parsed as MI output.
Print the uptime and difference in nanoseconds to the previous
record in the ctrace output. For example:
0:00:59.474927121 14760 0a01000c TNTD 235 235 CREATED_BY
0:00:59.474927418 297 0a010012 /dev 235 235 CREATED
0:00:59.474930799 3381 0a01000c TNTD 235 235 STARTED_BY
0:00:59.474931105 306 0a010012 /dev 235 235 STARTED
0:00:59.475072297 141192 0a01000c TNTD 235 235 SWITCHED_OUT
The capture did not work due to changes in the workspace allocator.
The engine now scans all existing tasks when enabled and does any
allocations then.
Fixed a bug in the ctset commandi in the CLI.
Updated the capture engine to use 64bit nanosec timestamps.
Fixed the CLI showing the stack usage.
This allows an application to provide a localised clock freq with
needing to go down the BSP opts path. This is important with the
Zynq where the Xilinx tools generate the frequency.
Control the help command break with the SHELL_LINES evironment variable
where the numeric value is the number of lines to break on. If the
value is 0 the output is not broken. The default is 16 lines.
Add shell documentation for the help command.
Provide a weak call to a clock freq routine to allow the application
to supply the freq defined in the Xilinx generated source.
Add code to calculate the baud rate.
Change pthread_once from using disabled pre-emption to using a
pthread mutex making it SMP safe. GCC using a posix threading
model uses pthread_once.
The pthread mutex requires at least 1 mutex is configured so
confdefs.h has been updated to account for the internal
mutex.
The recursive field in the pthread_mutexattr_t is now not used. The
code in pthread_mutexattr_settype only sets the type field and not
the recursive field.
PR 1968/filesystem
* libfs/src/rfs/rtems-rfs-file.c: Fix to the seek bug where a seek
to 0 after reading the end of the file did not point to the
correct block.
* libfs/src/rfs/rtems-rfs-rtems.h,
libfs/src/rfs/rtems-rfs-trace.c: Fix the trace flags. Used to fix
the bug.
PR 1948/filesystem
* libfs/src/rfs/rtems-rfs-file-system.c,
libfs/src/rfs/rtems-rfs-file-system.h,
libfs/src/rfs/rtems-rfs-format.c, libfs/src/rfs/rtems-rfs-rtems.c:
Add support for mount passing an ASCIIZ string containing
configuration options. Remove the hardcoded dir string and
size. Fix comments.
* libblock/src/bdbuf.c: Fix state labels in trace output.
* cpu.c: Fix the ISR get level for the IIC. Make
_CPU_Context_Initialize a function rather than inlined.
* cpu_asm.S: Do not enable interrupt on return, rather resume the
state on entry to the ISR.
* irq.c, nios2/nios2-iic-low-level.S: Change the ISR handler so
the ipending decoding is in C and within the interrupt
context. This is usable with the Altera HAL directly.
* rtems/score/cpu.h: Add ienable and ipending interfaces. Add some
comments. Remove _CPU_Context_Initialize.
* libfs/src/rfs/rtems-rfs-rtems-file.c,
libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs-rtems.h:
The fix to the removal of file_info from iop was broken. The
node_access field must be the inode number in the RFS because the
file system ops provides no way to tell is a stat call is the
result of stat, fstat, or lstat. The solution is to move the file
handle to node_access_2 which is also shared with doff but these
do not overlap.
PR 1763/shell
* libmisc/shell/hexdump-conv.c: Remove debug hacks.
PR 1757/filesystem
* libfs/src/rfs/rtems-rfs-block-pos.h,
libfs/src/rfs/rtems-rfs-block.h, libfs/src/rfs/rtems-rfs-file.c,
libfs/src/rfs/rtems-rfs-rtems-file.c: Set the file size in
iop-size when a file is open. Fix lseek to end of file then write
for sizes less than half the file system block size.
* libfs/src/rfs/rtems-rfs-rtems-dev.c,
libfs/src/rfs/rtems-rfs-rtems-dir.c,
libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs-rtems.h:
Fix the fstat and fchmod calls due to the change in the iop struct
where pathinfo went away. The node_access field in pathinfo was
overloaded.
* libcsupport/src/mknod.c, libfs/src/rfs/rtems-rfs-inode.c: PR
1749. Fix the incorrect handling of the file type in the mode
value to reject invalid types as per the standard.
* score/src/heapfree.c, score/src/heapresizeblock.c: PR 1746. Move
protection block checks to after the block address has been
checked as a valid heap address. Add a special case in the heap
free for a NULL address.
* libfs/src/rfs/rtems-rfs-trace.c,
libfs/src/rfs/rtems-rfs-trace.h: Add inode-delete.
* libfs/src/rfs/rtems-rfs-shell.c: Fix formatting.
* libfs/src/rfs/rtems-rfs-rtems-dir.c: Use ssize_t. Fix spelling.
* libfs/src/rfs/rtems-rfs-block.c: Fix rtems_rfs_block_get_bpos to
return the position correctly. A bpos does not have any special
processing. Do no reset the buffer handle when shrinking
indirectly.
* libfs/src/rfs/rtems-rfs-inode.c: Add trace.
* libfs/src/rfs/rtems-rfs-format.c: Fix comments.
* libfs/src/rfs/rtems-rfs-group.c: Limit the inodes to the blocks
in a group so the accounting works.
* libfs/src/rfs/rtems-rfs-dir.c: PR 1705. Fix handling the offsets
when deleting an entry.
* libfs/src/rfs/rtems-rfs-buffer.h: Remove
rtems_rfs_buffer_handle_reset. It is not needed and dangerous.