wiki:Release/4.11/4.11.3

Statistics

Total50
Fixed36
Invalid2
Works for me1
Duplicate2
Won't fix9

Distribution

defect

44 / 44

enhancement

3 / 3

infra

1 / 1

project

2 / 2

Summary

#2362
ramdisk_initialize() returns an error code and driver initialization error code is ignored in general
#2439
GCC 4.9.3 ARM build fails on OS X 10.11 (El Capitan)
#2460
arm-gic.h - GIC_ID_TO_TWO_BITS_REG_OFFSET(id) incorrectly defined
#2538
4.11 tools on RSB 4.11 branch fail to build
#2578
rtems-tools configure fails for Cxc builds
#2610
unhex.c does not build on MSYS2
#2639
RSB long path support on Windows is still broken.
#2671
moxie tools fail to build on 4.11
#2677
PowerPC BSP score603e PCI.c is broken on case insensitive file system
#2747
dlerror non-conformance
#2910
RSB docs for Mavericks has Incorrect Formatting Markup
#2944
FAT data corruption during unmount()
#2964
fat: msdos_find_file_in_directory(..) doesn't reset LFN search appropriately
#2987
fat: msdos_dir_read(..) doesn't reset conversion output string length
#2988
Documentation link to the 4.11 release is broken.
#3004
Typos in RTEMS User Manual 4.11.99
#3024
dl04, dl05 build failes
#3031
Give docs.rtems.org and sync.rtems.org jails access to the TrueNAS storage.
#3065
RTEMS 4.11.2 avr build fails
#3066
RTEMS 4.11.2 LM32 build fails
#3067
RTEMS 4.11.2 M32C build fails
#3068
RTEMS 4.11.2 Moxie build fails
#3074
gcc version report for released tools is wrong.
#3075
rtems_interrupt_lock_acquire interface documentation issue in the "RTEMS C Users Guide"
#3092
ARM: Test spcontext01 fails on Cortex-R4
#3093
ARM: Validate IT[7:0] bit field in PSR on Thumb 2 targets
#3094
ARM: Back port Newlib patch to avoid warnings with -fno-short-enums
#3104
Shell internal commands should be public.
#3105
Invalid memory size configuration for POSIX keys
#3107
Building gcc-4.9.3 is broken on FreeBSD 11.1
#3108
Remove RSB ARM specific config file rtems-arm-gcc-4.9.3-newlib-2.2.0-20150423-1.cfg
#3119
Docs failed to build PDF with the latest Sphinx.
#3161
I2C EEPROM driver uses incorrect address format
#3162
I2C EEPROM driver uses incorrect program timeout handling
#3164
aio_cancel() does not destroy the corresponding condition variables
#3183
Build of RTEMS 4.11.2 using RSB fails for ARM
#3193
NOT released from source builder
#3196
4-11.2 gdb generation fails
#3257
fat: Support files in the root directoy with the same name as the volume label
#3258
fat: Fix creation of files with a similar name to existing files in the directory
#3271
Avoid using multiprocessor.org in rtems source builder
#3274
RSB remove unused tool configuration files.
#3275
RSB do not build the kernel when released.
#3279
Make the XZ executable path based on the Darwin (MacOS) host.
#3289
RSB backport changes to support mailing list posting of builds.
#3295
4.11: RSB `--source-only-download` does not download the source
#3297
4.11: libtests in the testsuite does not set EXEEXT to .exe
#3494
RFS: Remove stray call of rtems_disk_release() in rtems_rfs_buffer_sync() (cloned)
#3497
Remove superfluous interrupt enable in _Thread_Dispatch_enable() (cloned)
#3771
JFFS2 file system integration with External QSPI Flash CRC failure and Unmount issues

Details

Ticket Created Resolution Component Reporter Owner Modified
#2362 5 years ago wontfix lib/block mw Chris Johns 3 years ago
Summary

ramdisk_initialize() returns an error code and driver initialization error code is ignored in general

Description

If CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS is set too large, the initialization of the block device buffer can fail without any notice, causing problems downstream that are seemingly unrelated (such as trying to read from the device) and with misleading error codes.

Tested on pc386 BSP

Ran testsuites/samples/fileio/fileio.exe fine, initializing partition /dev/hda with result = 0

Modified testsuites/samples/fileio/system.h, setting CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS to 32 (rather than 2).

Re-ran, and initializing partition /dev/hda fails with result = 3 (Invalid Name).

#2439 5 years ago fixed tool/gcc Chris Johns Chris Johns 3 years ago
Summary

GCC 4.9.3 ARM build fails on OS X 10.11 (El Capitan)

Description

Building 4.11/rtems-arm with the RSB fails with (error report attached):

/Users/chris/development/rtems/rsb/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-apple-darwin15.0.0-1/build/./gcc/xgcc -B/Users/chris/development/rtems/rsb/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-apple-darwin15.0.0-1/build/./gcc/ -nostdinc -B/Users/chris/development/rtems/rsb/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-apple-darwin15.0.0-1/build/arm-rtems4.11/newlib/ -isystem /Users/chris/development/rtems/rsb/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-apple-darwin15.0.0-1/build/arm-rtems4.11/newlib/targ-include -isystem /Users/chris/development/rtems/rsb/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-apple-darwin15.0.0-1/gcc-4.9.3/newlib/libc/include -B/Users/chris/development/rtems/4.11/arm-rtems4.11/bin/ -B/Users/chris/development/rtems/4.11/arm-rtems4.11/lib/ -isystem /Users/chris/development/rtems/4.11/arm-rtems4.11/include -isystem /Users/chris/development/rtems/4.11/arm-rtems4.11/sys-include    -g -O2 -mthumb -O2 -I../../../../gcc-4.9.3/libgcc/../newlib/libc/sys/rtems/include -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc  -fno-inline -I. -I. -I../../.././gcc -I../../../../gcc-4.9.3/libgcc -I../../../../gcc-4.9.3/libgcc/. -I../../../../gcc-4.9.3/libgcc/../gcc -I../../../../gcc-4.9.3/libgcc/../include  -DHAVE_CC_TLS  -o _arm_unorddf2_s.o -MT _arm_unorddf2_s.o -MD -MP -MF _arm_unorddf2_s.dep -DSHARED -DL_arm_unorddf2 -xassembler-with-cpp -c ../../../../gcc-4.9.3/libgcc/config/arm/lib1funcs.S
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S: Assembler messages:
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S:567: Error: invalid constant (ff) after fixup
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S:673: Error: invalid constant (ff) after fixup
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S:689: Error: invalid constant (fd) after fixup
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S:875: Error: invalid constant (ff) after fixup
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S:912: Error: invalid constant (fd) after fixup
../../../../gcc-4.9.3/libgcc/config/arm/ieee754-df.S:985: Error: invalid constant (fd) after fixup
#2460 5 years ago duplicate arch/arm Adit 3 years ago
Summary

arm-gic.h - GIC_ID_TO_TWO_BITS_REG_OFFSET(id) incorrectly defined

Description

This bug pertains to the ARM Generic Interrupt Controller (GIC) register utility functions in

c/src/lib/libbsp/arm/shared/include/arm-gic.h

The following routines all use the macro GIC_ID_TO_TWO_BITS_REG_OFFSET(id):

gic_id_get_handling_mode
gic_id_set_handling_mode
gic_id_get_trigger_mode
gic_id_set_trigger_mode

These routines set the GIC_ICFGRn set of registers. These registers have 2-bit bit fields. Let's take the trigger mode routines as an example of the bug, but it applies to the handling mode as well. The GIC specification from ARM states that for a particular interrupt ID m the register n and bit field F is found by:

n = m DIV 16 F = m MOD 16

And the bit location in register n is defined as [2F+1:2F]. However, the macro GIC_ID_TO_TWO_BITS_REG_OFFSET(id) and the routines that use it, set bits [F+1:F].

I have tested this by using the set_trigger_mode routine to set an interrupt to be edge triggered, but the correct bit does not get set, and the interrupt still behaves in a level triggered fashion. When I adjust the macro to have a << 1 it works correctly.

If someone can verify my logic at least, then I can submit a tested patch.

#2538 5 years ago worksforme tool/rsb Joel Sherrill Chris Johns 3 years ago
Summary

4.11 tools on RSB 4.11 branch fail to build

Description

From the log building arm-rtems4.11 target. It is in rtems-tools and the ln only has one argument. Looks like I can expect all targets to fail.

+ /bin/rm -rf rtems-tools-4.11 + ln -s /data/home/joel/rtems-4.11-work/rtems-source-builder/rtems/sources/git/rtems-tools.git + cd rtems-tools-4.11 /data/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/rtems-tools-4.11-1/doit: line 85: cd: rtems-tools-4.11: No such file or directory shell cmd failed: /bin/sh -ex /data/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/rtems-tools-4.11-1/doit error: building rtems-tools-4.11-1

#2578 5 years ago wontfix tool Mario Gruber Chris Johns 3 years ago
Summary

rtems-tools configure fails for Cxc builds

Description

Building rtems-tools for Cxc builds:

git checkout -b 4.11 origin/4.11 \
 && source-builder/sb-check \
 && cd rtems \
 && ../source-builder/sb-set-builder \
 --log=rsb-powerpc-rtems4.11-mingw.txt \
 --prefix=/opt/powerpc-rtems4.11-mingw \
 --host=i686-w64-mingw32 \
 --bset-tar-files \
 4.11/rtems-powerpc

dies at configuring package rtems-tools-4.11-1:

config: tools/rtems-tools-4.11-1.cfg
package: rtems-tools-4.11-1
...
+ echo ==> %build:
==> %build:
+ pwd
+ build_top=/tmp/rtems-source-builder/rtems/build/rtems-tools-4.11-1
+ test x86_64-linux-gnu != i686-w64-mingw32
+ RT_HOST=-host=i686-w64-mingw32
+ cd rtems-tools-4.11
+ ./waf configure -host=i686-w64-mingw32 
+ --prefix=/opt/powerpc-rtems4.11-mingw
waf [commands] [options]

Main commands (example: ./waf build -j4)
  build    : executes the build
  clean    : cleans the project
...
+ ./waf
The project was not configured: run "waf configure" first!
shell cmd failed: /bin/sh -ex  /tmp/rtems-source-builder/rtems/build/rtems-tools-4.11-1/doit
error: building rtems-tools-4.11-1
  See error report: rsb-report-rtems-tools-4.11-1.txt

This is due to the -host command line argument, which is missing a hyphen.

I sent a patch to the mailing list:

https://lists.rtems.org/pipermail/devel/2016-January/013348.html

#2610 4 years ago wontfix tool Chris Johns Chris Johns 3 years ago
Summary

unhex.c does not build on MSYS2

Description

Building unhex.c on Windows gives the following error:

gcc -DHAVE_CONFIG_H -I. -I/c/opt/rtems/kernel/rtems.git/tools/build     -g -O2 -MT rtems-bin2c.o -MD -MP -MF .deps/rtems-bin2c.Tpo -c -o rtems-bin2c.o /c/opt/rtems/kernel/rtems.git/tools/build/rtems-bin2c.c
In file included from C:/opt/rtems/kernel/rtems.git/tools/build/unhex.c:36:0:
C:/opt/rtems/kernel/rtems.git/tools/build/unhex.c: In function 'error':
C:/opt/rtems/kernel/rtems.git/tools/build/unhex.c:687:16: warning: '_errno' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
     extern int errno;
                ^
#2639 4 years ago duplicate tool/rsb Chris Johns Chris Johns 3 years ago
Summary

RSB long path support on Windows is still broken.

Description

Long path support on Windows requires the use of Unicode paths. The current path is not Unicode and some paths in C++ can be longer than 255 character when building the release candidates using the standard paths in the releases.

The solution is to change paths.py so it's host call returns a Unicode string. The also requires changes to the macro key logic to convert any unicode string to an ascii string, all macro keys are ascii. Also the execute module needs to better manage Unicode strings.

#2671 4 years ago wontfix tool/rsb Joel Sherrill Joel Sherrill 3 years ago
Summary

moxie tools fail to build on 4.11

Description

I recall needing to sync the binutils and gcc. Checking an old install for 4.11, I noticed that the gcc seems to match what is configured but the binutils is older (2.25).

[joel@rtbf64c ~]$ ~/rtems-4.11-work/tools/4.11/bin/moxie-rtems4.11-as --version GNU assembler (GNU Binutils) 2.25 Copyright (C) 2014 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `moxie-rtems4.11'. [joel@rtbf64c ~]$ ~/rtems-4.11-work/tools/4.11/bin/moxie-rtems4.11-gcc --version moxie-rtems4.11-gcc (GCC) 4.9.3 20150626 (RTEMS 4.11, RSB 075ed1c8e2363ec7fcfcaec6b648222597009f20, Newlib 2.2.0.20150423) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Error below:

/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/./gcc/xgcc -B/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/./gcc/ -nostdinc -B/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/moxie-rtems4.11/newlib/ -isystem /home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/moxie-rtems4.11/newlib/targ-include -isystem /home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/gcc-4.9.3/newlib/libc/include -B/home/joel/rtems-4.11-work/tools/4.11/moxie-rtems4.11/bin/ -B/home/joel/rtems-4.11-work/tools/4.11/moxie-rtems4.11/lib/ -isystem /home/joel/rtems-4.11-work/tools/4.11/moxie-rtems4.11/include -isystem /home/joel/rtems-4.11-work/tools/4.11/moxie-rtems4.11/sys-include -g -O2 -mel -O2 -I../../../../gcc-4.9.3/libgcc/../newlib/libc/sys/rtems/include -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -I. -I. -I../../.././gcc -I../../../../gcc-4.9.3/libgcc -I../../../../gcc-4.9.3/libgcc/. -I../../../../gcc-4.9.3/libgcc/../gcc -I../../../../gcc-4.9.3/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o _ashldi3.o -MT _ashldi3.o -MD -MP -MF _ashldi3.dep -DL_ashldi3 -c ../../../../gcc-4.9.3/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS /tmp/cctmIP4r.s: Assembler messages: /tmp/cctmIP4r.s:26: Error: unknown opcode sub.l $r1,$r2 Makefile:463: recipe for target '_negdi2.o' failed make[4]: * [_negdi2.o] Error 1 make[4]: * Waiting for unfinished jobs.... /tmp/ccaQiOcs.s: /tmp/ccWFtIrs.s: Assembler messages: Assembler messages: /tmp/ccaQiOcs.s:22: Error: unknown opcode sub.l $r3,$r2 /tmp/ccWFtIrs.s:44: Error: unknown opcode mul.l $r12,$r6 /tmp/ccWFtIrs.s:46: Error: unknown opcode mul.l $r4,$r1 /tmp/ccWFtIrs.s:49: Error: unknown opcode mul.l $r8,$r1 /tmp/ccWFtIrs.s:52: Error: unknown opcode mul.l $r3,$r6 /tmp/ccWFtIrs.s:56: Error: unknown opcode add.l $r6,$r3 /tmp/ccWFtIrs.s:61: Error: unknown opcode add.l $r3,$r6 /tmp/ccWFtIrs.s:68: Error: unknown opcode add.l $r1,$r4 /tmp/ccWFtIrs.s:75: Error: unknown opcode add.l $r1,$r4 /tmp/ccWFtIrs.s:89: Error: unknown opcode mul.l $r0,$r4 /tmp/ccWFtIrs.s:93: Error: unknown opcode mul.l $r2,$r4 /tmp/ccWFtIrs.s:95: Error: unknown opcode add.l $r0,$r2 /tmp/ccWFtIrs.s:99: Error: unknown opcode add.l $r0,$r12 /tmp/ccWFtIrs.s:100: Error: unknown opcode add.l $r1,$r2 Makefile:463: recipe for target '_muldi3.o' failed make[4]: * [_muldi3.o] Error 1 make[4]: * [_lshrdi3.o] Error 1

#2677 4 years ago wontfix build Chris Johns Joel Sherrill 3 years ago
Summary

PowerPC BSP score603e PCI.c is broken on case insensitive file system

Description

Any host, such as OX S, with a case insensitive file system does not build. PCI.c includes PCI.h. There must be a pci.h somewhere now.

#2747 4 years ago fixed lib/dl Patrick Gauvin Chris Johns 2 years ago
Summary

dlerror non-conformance

Description

Expected behavior of dlerror:

  • The error is cleared after each invocation
  • NULL is returned when no error is set
  • Return value is char *, not const char *

http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlerror.html

I've attached patches that address these issues, please critique them and I will submit to the development mailing list. They should also apply to master, but they were generated against 4.11.

Development Environment:

arm-rtems4.11-gcc (GCC) 4.9.3 20150626 (RTEMS 4.11, RSB 1675a733536d1aec2020011e5e522497a442561a (HEAD, origin/4.11, 4.11), Newlib 2.2.0.20150423)

  • RTEMS Configure Options:

../rtems/configure --target=arm-rtems4.11 --enable-rtemsbsp="xilinx_zynq_a9_qemu xilinx_zynq_zedboard xilinx_zynq_csp_cots xilinx_zynq_csp_hybrid" --enable-tests=samples --enable-posix --prefix=$HOME/development/rtems/4.11 --disable-networking

#2910 3 years ago fixed doc Joel Sherrill Chris Johns 2 years ago
Summary

RSB docs for Mavericks has Incorrect Formatting Markup

Description

This section of the RSB has "+sb_check+" which I assume is supposed to be italics or bold.

https://docs.rtems.org/branches/master/rsb/hosts.html#mavericks

Also the formatting of the sentence on xz in the same section is odd.

#2944 3 years ago fixed fs/fat Sebastian Huber Sebastian Huber 3 years ago
Summary

FAT data corruption during unmount()

Description

https://lists.rtems.org/pipermail/users/2017-March/031101.html

In msdos_shut_down ( msdos_fsunmount.c ) there is a call to fat_file_close( .. ) which attempts to close a file descriptor and write a range of metadata to that file's director entry located in another cluster:

  • fat_file_write_first_cluster_num
  • fat_file_write_file_size
  • fat_file_write_time_and_date

The problem is that this is the root node, and of course doesn't have a corresponding parent directory entry.

In addition, the "parent directory entry" cluster number is initialised to 0x1 (FAT_ROOTDIR_CLUSTER_NUM) which is not working according to the FAT specification (cluster numbering starts at 2). This actually creates a critical bug that overwrites random data to above sectors, because 2 is subtracted from 1 to calculate the sector number of the cluster -> through a series of function calls -> leads to a sector number at the end of FAT2 (just below the start of the cluster region). The driver believes this is a FAT region (in fat_buf_release), writes the sector to what it "thinks" is FAT1, proceeds to copy the changes to FAT2 -> adds FAT_LENGTH (8161) to sector, leading to a write well into the cluster region, randomly overwriting files.

The three function calls above lead to fsck complaining about disk structure:

#######

fsck from util-linux 2.27.1 fsck.fat 3.0.28 (2015-05-16) 0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 2 There are differences between boot sector and its backup. This is mostly harmless. Differences: (offset:original/backup)

65:01/00

1) Copy original to backup 2) Copy backup to original 3) No action ? 3 / and /APPLICAT.ION

share clusters. Truncating second to 0 bytes because first is FAT32 root dir.

/APPLICAT.ION

File size is 4096 bytes, cluster chain length is 0 bytes. Truncating file to 0 bytes.

Perform changes ? (y/n) n /dev/sdm1: 14 files, 1600/1044483 clusters

########

In particular the "shared cluster" problem is caused by fat_file_write_first_cluster_num, which adds a directory entry to the root directory cluster pointing at itself; e.g. there is a directory entry in cluster 2 pointing to a file in cluster 2. (Note: this occurs because we have fixed the "point to cluster # 1 issue" by reading the relative location of the root cluster node from the FAT volume info strcture).

Removing the function call in msdos_shut_down ( .. ) to close the root file descriptor solves the problem perfectly (clean fsck). However, we're a bit unsure about the intent behind closing the root directory.

#2964 3 years ago fixed fs/fat slemstick Sebastian Huber 3 years ago
Summary

fat: msdos_find_file_in_directory(..) doesn't reset LFN search appropriately

Description

We have a volume that has a lot of free'd up directory entries, one of which looks like this:

  • 1-> old LFN end entry n
  • 2-> old LFN end entry n - 1
  • 3-> old SHORT entry freed with byte[0] = 0xe5

and one remaining file, named slemstick.tar.gz, which resides AFTER this in the directory structure (and is NOT deleted). The old, deleted LFN above (consisting of three consequtive directory entries) earlier contained slemstick.tar.gz, such that the old filename still exist in the old LFN entries 1 and 2 above - but the SHORT entry (3) has been freed by setting byte[0] to 0xe5.

The problem is that, when the filename search algorithm in msdos_find_file_in_directory(..) encounters the LFN entries 1 and 2, it starts parsing them as normal LFN entries. When it encounters the SHORT entry 3) above, the variable entry_empty is set and the algorithm continues to parse the remaining directory entries by skipping entry 3). As a consequence, it never finds the actual file in the directory entries below.

A working fix to our problem is to add this clause in side the "else if(entry_empty)" if check around line ~1400 in msdos_misc.c:

https://pastebin.com/guW5JPfT

Which resets the search algorithm, if a short directory entry that has been freed is found while searching for a long file name.

Can anyone comment on this patch?

#2987 3 years ago fixed fs/fat slemstick Sebastian Huber 3 years ago
Summary

fat: msdos_dir_read(..) doesn't reset conversion output string length

Description

msdos_dir_read(..) uses a conversion function, convert_handler->utf16_to_utf8, to convert LFN directory entry names in utf16 format to utf8.

However, the conversion handler sets the string length of the output utf8 string as well. That variable: string_size in msdos_dir_read(..) is never re-initialised in the search algorithm. When the volume becomes sufficiently fragmented, de-allocated LFN directory entry checksums will cause the filename search algorithm to fail, effectively breaking the current attempt to concatenate directory entry filename chunks, but the output string size is now much shorter (10 characters, where it should be sizeof(tmp_dirent.d_name)). Consequently, msdos_dir_read(..) will continue to parse directory entries with a much smaller output string size.

The end result is that attempts to read file names from a directory will output truncated file names (for example, readdir() will "work" as normal but the output filenames are too short). Any attempt to open these truncated file names will, of course, fail.

#2988 3 years ago fixed doc Chris Johns chrisj@… 2 years ago
Summary

Documentation link to the 4.11 release is broken.

Description

The link on docs.rtems.org to the latest release is broken. I suspect an issue in the catalogue Javascript code.

#3004 3 years ago fixed doc Linda Huxley Chris Johns 3 years ago
Summary

Typos in RTEMS User Manual 4.11.99

Description

There are a couple of apparent typos in section "5.2 Releases" in the Note box near the bottom of the section. The following switch is mentioned twice:

--with-rtemsbsp

However, I can't find that switch anywhere in the RSB source code. Should that read:

--with-rtems-bsp

Thare are a couple of typos in section "5.2.1. RTEMS Tools and Kernel":

$ mv rtems-source-builder-4.11.0 4.110 $ cd 4.11.0

That should read:

$ mv rtems-source-builder-4.11.0 4.11.0 $ cd 4.11.0/rtems

#3024 3 years ago fixed lib/dl Pavel Chris Johns 3 years ago
Summary

dl04, dl05 build failes

Description

Building rtems-4.11.2-rc4 with "--enable-tests" option fails with error from depcomp: "depcomp: Variables source, object and depmode must be set"

The reason (in my opinion) is empty CXXDEPMODE variable in Makefiles generated for dl04 and dl05.

I changed it to depmode=gcc for dl04 and depmode=gcc3 for dl05 just to check, it helped.

But I don't know the right value for this variable.

target - i386-rtems4.11 bsp - pc486 version - rtems-4.11.2-rc4 (version downloaded by rtems-source-builder-4.11.2-rc4)

#3031 3 years ago fixed doc Chris Johns Amar Takhar 3 years ago
Summary

Give docs.rtems.org and sync.rtems.org jails access to the TrueNAS storage.

Description

Giving jails such as docs and sync access to an area of the TrueNAS storage would make building and moving of the docs from sync to the docs website much simpler.

Currently I build the docs on a server in Sydney, copy them to the RTEMS FTP server using an ssh key and docs.rtems.org picks up the copy. I like to make the whole process local to the RTEMS servers and not rely on gear here with my dodgy connection and me needing to monitor it.

#3065 3 years ago invalid build Chris Johns chrisj@… 3 years ago
Summary

RTEMS 4.11.2 avr build fails

Description
checking for scandir... no
../../../../../rtems-4.11.2/c/src/../../cpukit/configure: 5249: Syntax error: Bad fd number
configure: error: /bin/sh '../../../../../rtems-4.11.2/c/src/../../cpukit/configure' failed for ../../cpukit
#3066 3 years ago wontfix tool/gcc Chris Johns 3 years ago
Summary

RTEMS 4.11.2 LM32 build fails

Description

C++ sample does not build:

Making all in iostream
gmake[6]: Entering directory '/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/lm32-rtems4.11-kernel-4.11.2-1/lm32-rtems4.11-kernel-4.11.2-1-4.11.2/build/lm32-rtems4.11/c/lm32_evr/testsuites/samples/iostream'
lm32-rtems4.11-g++ -B../../../../../lm32_evr/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I../../../../../../../rtems-4.11.2/c/src/../../testsuites/samples/iostream -I..     -O0 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o ../../../../../../../rtems-4.11.2/c/src/../../testsuites/samples/iostream/init.cc
cc1plus: warning: command line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++
cc1plus: warning: command line option '-Wimplicit-function-declaration' is valid for C/ObjC but not for C++
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
cc1plus: warning: command line option '-Wnested-externs' is valid for C/ObjC but not for C++
mv -f .deps/init.Tpo .deps/init.Po
lm32-rtems4.11-g++ -B../../../../../lm32_evr/lib/ -specs bsp_specs -qrtems -O0 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs       -o cxx_iostream.exe init.o
`.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev' referenced in section `.rodata.cst4' of /build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-lm32.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(eh_terminate.o): defined in discarded section `.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev[_ZN9__gnu_cxx7__mutexD5Ev]' of /build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-lm32.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(eh_terminate.o)
`.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev' referenced in section `.rodata.cst4' of /build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-lm32.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(new_handler.o): defined in discarded section `.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev[_ZN9__gnu_cxx7__mutexD5Ev]' of /build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-lm32.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(new_handler.o)
#3067 3 years ago wontfix tool/gcc Chris Johns 3 years ago
Summary

RTEMS 4.11.2 M32C build fails

Description

CPU Top does not build:

m32c-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../m32csim/lib/include   -g -O0 -MT monitor/mon-queue.o -MD -MP -MF $depbase.Tpo -c -o monitor/mon-queue.o ../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/monitor/mon-queue.c &&\
mv -f $depbase.Tpo $depbase.Po
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c: In function 'print_memsize':
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c:159:20: warning: integer overflow in expression [-Woverflow]
   if (size > (1024 * 1024))
                    ^
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c:161:40: warning: integer overflow in expression [-Woverflow]
                           size / (1024 * 1024), label);
                                        ^
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c:161:32: warning: division by zero [-Wdiv-by-zero]
                           size / (1024 * 1024), label);
                                ^
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c: In function 'rtems_cpuusage_top_thread':
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c:309:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   rtems_cpu_usage_data*  data = (rtems_cpu_usage_data*) arg;
                                 ^
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c: In function 'rtems_cpu_usage_top_with_plugin':
../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/cpuuse/cpuusagetop.c:617:36: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     id, rtems_cpuusage_top_thread, (rtems_task_argument) &data
                                    ^
depbase=`echo monitor/mon-driver.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
m32c-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../m32csim/lib/include   -g -O0 -MT monitor/mon-driver.o -MD -MP -MF $depbase.Tpo -c -o monitor/mon-driver.o ../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/monitor/mon-driver.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo monitor/mon-itask.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
m32c-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../m32csim/lib/include   -g -O0 -MT monitor/mon-itask.o -MD -MP -MF $depbase.Tpo -c -o monitor/mon-itask.o ../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/monitor/mon-itask.c &&\
mv -f $depbase.Tpo $depbase.Po
In file included from ../../../../../../rtems-4.11.2/c/src/../../cpukit/libmisc/dummy/default-configuration.c:113:0:
../../cpukit/../../../m32csim/lib/include/rtems/confdefs.h: At top level:
../../cpukit/../../../m32csim/lib/include/rtems/confdefs.h:1483:46: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   #define CONFIGURE_INIT_TASK_ARGUMENTS     ((rtems_task_argument) &bsp_boot_cmdline)
                                              ^
../../cpukit/../../../m32csim/lib/include/rtems/confdefs.h:1514:7: note: in expansion of macro 'CONFIGURE_INIT_TASK_ARGUMENTS'
       CONFIGURE_INIT_TASK_ARGUMENTS
       ^
../../cpukit/../../../m32csim/lib/include/rtems/confdefs.h:1515:5: error: initializer element is not constant
     }
     ^
../../cpukit/../../../m32csim/lib/include/rtems/confdefs.h:1515:5: error: (near initialization for 'Initialization_tasks[0].argument')
#3068 3 years ago wontfix tool/gcc Chris Johns 3 years ago
Summary

RTEMS 4.11.2 Moxie build fails

Description

C++ sample fails to build:

moxie-rtems4.11-g++ -B../../../../../moxiesim/lib/ -specs bsp_specs -qrtems -Os -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs  -Wl,--gc-sections     -o cxx_iostream.exe init.o
init.o: In function `__static_initialization_and_destruction_0':
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/lib/gcc/moxie-rtems4.11/4.9.3/include/c++/iostream:74: undefined reference to `__dso_handle'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(atomicity.o): In function `get_atomic_mutex':
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-freebsd11.0-1/build/moxie-rtems4.11/libstdc++-v3/src/c++98/atomicity.cc:33: undefined reference to `__dso_handle'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(locale.o): In function `get_locale_cache_mutex':
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-freebsd11.0-1/build/moxie-rtems4.11/libstdc++-v3/src/c++98/../../../../../gcc-4.9.3/libstdc++-v3/src/c++98/locale.cc:36: undefined reference to `__dso_handle'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(system_error.o): In function `__static_initialization_and_destruction_0':
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-freebsd11.0-1/build/moxie-rtems4.11/libstdc++-v3/src/c++11/../../../../../gcc-4.9.3/libstdc++-v3/src/c++11/system_error.cc:65: undefined reference to `__dso_handle'
gmake[6]: Leaving directory '/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-kernel-4.11.2-1/moxie-rtems4.11-kernel-4.11.2-1-4.11.2/build/moxie-rtems4.11/c/moxiesim/testsuites/samples/iostream'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-freebsd11.0-1/build/moxie-rtems4.11/libstdc++-v3/src/c++11/../../../../../gcc-4.9.3/libstdc++-v3/src/c++11/system_error.cc:66: undefined reference to `__dso_handle'
gmake[5]: Leaving directory '/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-kernel-4.11.2-1/moxie-rtems4.11-kernel-4.11.2-1-4.11.2/build/moxie-rtems4.11/c/moxiesim/testsuites/samples'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(eh_alloc.o):/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-freebsd11.0-1/build/moxie-rtems4.11/libstdc++-v3/libsupc++/../../../../gcc-4.9.3/libstdc++-v3/libsupc++/eh_alloc.cc:96: more undefined references to `__dso_handle' follow
gmake[4]: Leaving directory '/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-kernel-4.11.2-1/moxie-rtems4.11-kernel-4.11.2-1-4.11.2/build/moxie-rtems4.11/c/moxiesim/testsuites/samples'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/moxie-rtems4.11/4.9.3/../../../../moxie-rtems4.11/bin/ld: cxx_iostream.exe: hidden symbol `__dso_handle' isn't defined
gmake[3]: Leaving directory '/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/moxie-rtems4.11-kernel-4.11.2-1/moxie-rtems4.11-kernel-4.11.2-1-4.11.2/build/moxie-rtems4.11/c/moxiesim/testsuites'
/build/rtems/releases/build/4.11.2/rtems-source-builder-4.11.2/rtems/build/tmp/sb-chris/4.11/rtems-moxie.bset/build/rtems/releases/4.11.2/bin/../lib/gcc/moxie-rtems4.11/4.9.3/../../../../moxie-rtems4.11/bin/ld: final link failed: Bad value
#3074 3 years ago fixed tool/rsb Chris Johns Chris Johns 3 years ago
Summary

gcc version report for released tools is wrong.

Description

RTEMS 4.11.2 Released Tools version is wrong:

$ /opt/work/rtems/4.11/bin/arm-rtems4.11-gcc --version
arm-rtems4.11-gcc (GCC) 4.9.3 20150626 (RTEMS 4.11, RSB no-repo, Newlib 2.2.0.20150423)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The RSB field should be 4.11.2.

#3075 3 years ago fixed doc Jeffrey Hill Sebastian Huber 3 years ago
Summary

rtems_interrupt_lock_acquire interface documentation issue in the "RTEMS C Users Guide"

Description

I suspect that in this section it should indicate that the second argument is "rtems_interrupt_level * level" instead of "rtems_interrupt_level level". Furthermore, perhaps it should state that the function is caching some type of opaque context inside of "level" to be restored when the lock is released. Also, perhaps a better argument name would be "pPrvCtx"? The documentation might also divulge additional _functional_ details about what occurs on an SMP system. Does it prevent interrupts from running on all CPUs simultaneously when the lock is acquired? It does say something about an SMP lock, but that perhaps is an implementation detail, and not a functional description of what the function does.

7.4.8 INTERRUPT_LOCK_ACQUIRE - Acquire an ISR Lock
CALLING SEQUENCE:

void rtems_interrupt_lock_acquire(
  rtems_interrupt_lock *lock,
  rtems_interrupt_level level
);
#3092 3 years ago fixed score Sebastian Huber Sebastian Huber 3 years ago
Summary

ARM: Test spcontext01 fails on Cortex-R4

#3093 3 years ago fixed score Sebastian Huber Sebastian Huber 3 years ago
Summary

ARM: Validate IT[7:0] bit field in PSR on Thumb 2 targets

Description

The context validation function did not take care of the IT[7:0] bit field of the PSR. Add a code block that validates this processor state.

#3094 3 years ago fixed tool Sebastian Huber Sebastian Huber 3 years ago
Summary

ARM: Back port Newlib patch to avoid warnings with -fno-short-enums

Description

Some architectures like ARM encode the short enum option state in the object file and the linker checks that this option is consistent for all objects of an executable. In case applications use -fno-short-enums, then this leads to linker warnings. Use the enum packed attribute for the relevant enums to avoid the -fshort-enums compiler option. This attribute is at least available on GCC, LLVM/clang and the Intel compiler.

#3104 3 years ago fixed shell Chris Johns Chris Johns 3 years ago
Summary

Shell internal commands should be public.

Description

This is back port of the patch on development. See #3096.

#3105 3 years ago fixed config Sebastian Huber Sebastian Huber 3 years ago
Summary

Invalid memory size configuration for POSIX keys

Description

The unlimited objects option is available for POSIX key value pairs. This flag must be removed for the memory size configuration.

#3107 3 years ago fixed tool/gcc Chris Johns Chris Johns 3 years ago
Summary

Building gcc-4.9.3 is broken on FreeBSD 11.1

Description

Building GCC breaks on FreeBDS 11.1. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212465 for details.

#3108 3 years ago fixed tool/rsb Chris Johns Chris Johns 3 years ago
Summary

Remove RSB ARM specific config file rtems-arm-gcc-4.9.3-newlib-2.2.0-20150423-1.cfg

Description

Move the patches in the ARM buildste file.

#3119 3 years ago fixed doc Chris Johns Chris Johns 3 years ago
Summary

Docs failed to build PDF with the latest Sphinx.

Description

Back port the master (4.12) fix.

#3161 3 years ago fixed score Sebastian Huber Sebastian Huber 3 years ago
Summary

I2C EEPROM driver uses incorrect address format

Description

The I2C EEPROM driver must send the MSB of the address bytes first.

#3162 3 years ago fixed score Sebastian Huber Sebastian Huber 3 years ago
Summary

I2C EEPROM driver uses incorrect program timeout handling

Description

The RTEMS_MILLISECONDS_TO_TICKS() macro doesn't round up. Do not use it to calculate the program timeout in ticks. Check program done condition after the timeout check to account for pre-emptions.

#3164 3 years ago fixed score Sebastian Huber Sebastian Huber 3 years ago
Summary

aio_cancel() does not destroy the corresponding condition variables

#3183 3 years ago fixed arch/arm Steen Palm Chris Johns 3 years ago
Summary

Build of RTEMS 4.11.2 using RSB fails for ARM

Description

I have built release 4.11.2 of RTEMS for ERC32, and it can successfully run the hello example using the SPARC gdb.

I'm now trying to build RTEMS for ARM using RSB 4.11.2, but RSB fails after it has built the kernel, while it is making a hello example test. The strange thing is that RSB is attempting to use a file that is part of the RTEMS built for ERC32 - a file that does not exist. The prefix for the ERC32 RTEMS is /home/smile/dev/rtems/4.11/erc32 and /home/smile/dev/rtems/4.11/arm for the ARM RTEMS.

Used build command: ../source-builder/sb-set-builder --prefix=$HOME/dev/rtems/4.11/arm 4.11/rtems-arm

Extract from the log file rsb-report-arm-rtems4.11-kernel-4.11.2-1.txt: ... make all-am make[5]: Entering directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples' BSP Testsuite Data: all tests Making all in hello make[6]: Entering directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples/hello' arm-rtems4.11-gcc -B../../../../../nds/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I../../../../../../../rtems-4.11.2/c/src/../../testsuites/samples/hello -I.. -mcpu=arm9tdmi -O2 -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o ../../../../../../../rtems-4.11.2/c/src/../../testsuites/samples/hello/init.c mv -f .deps/init.Tpo .deps/init.Po arm-rtems4.11-gcc -B../../../../../nds/lib/ -specs bsp_specs -qrtems -mcpu=arm9tdmi -O2 -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -mcpu=arm9tdmi -o hello.exe init.o arm-rtems4.11-nm -g -n hello.exe > hello.num arm-rtems4.11-size hello.exe

text data bss dec hex filename

145504 2384 4043392 4191280 3ff430 hello.exe

arm-rtems4.11-objcopy -O binary hello.exe hello.bin ../../../../../nds/build-tools/ndstool -c hello.nds -9 hello.bin -7 /home/smile/dev/rtems/4.11/erc32/sparc-rtems4.11/erc32/lib/coproc.bin Cannot open file '/home/smile/dev/rtems/4.11/erc32/sparc-rtems4.11/erc32/lib/coproc.bin'. Nintendo DS rom tool compiled for rtems - Oct 10 2017 by Rafael Vuijk, Dave Murphy, Alexei Karpenko Makefile:626: recipe for target 'hello.exe' failed make[6]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples/hello' make[6]: * [hello.exe] Error 1 make[5]: * [all-local] Error 1 make[4]: * [all] Error 2 make[3]: * [all-recursive] Error 1 make[2]: * [all-recursive] Error 1 Makefile:583: recipe for target 'all-local' failed make[5]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples' Makefile:245: recipe for target 'all' failed make[4]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples' Makefile:313: recipe for target 'all-recursive' failed make[3]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites' Makefile:424: recipe for target 'all-recursive' failed make[2]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds' make[1]: * [all-recursive] Error 1 Makefile:286: recipe for target 'all-recursive' failed make[1]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c' make: * [all-recursive] Error 1 Makefile:410: recipe for target 'all-recursive' failed shell cmd failed: /bin/sh -ex /home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/doit error: building arm-rtems4.11-kernel-4.11.2-1

#3193 3 years ago fixed tool/rsb Ben Chris Johns 3 years ago
Summary

NOT released from source builder

Description

Download 4-11.2 Running resource builder gives for each call to sb-check, sb-set-builder : a first line NOT RELEASED. This suggest a not released package which may be trusted but not guaranteed

#3196 3 years ago wontfix tool/rsb Ben 3 years ago
Summary

4-11.2 gdb generation fails

Description

4-11.2 source building fails during gdb generation on Linux Mint 17.1 "checking for python2.7" is followed by "python missing are unusable"

this is due to an #include "Python.h" that fails

NOTE: the source building package of 4-11.2 that is used, generates a NOT RELEASED message at the start; a ticket has been raised for this

#3257 3 years ago fixed fs/fat Sebastian Huber Sebastian Huber 3 years ago
Summary

fat: Support files in the root directoy with the same name as the volume label

Description

Take care that a file in the root directory with the same name as the volume name can be found.

#3258 3 years ago fixed fs/fat Sebastian Huber Sebastian Huber 3 years ago
Summary

fat: Fix creation of files with a similar name to existing files in the directory

Description

If there is already a file with a long file name it isn't possible to create a second file which has a name that ends on the first files name (for example ets.beam and sets.beam).

#3271 3 years ago fixed tool/rsb mholm Chris Johns 3 years ago
Summary

Avoid using multiprocessor.org in rtems source builder

Description

The multiprocessor.org website is used to download e.g. mpc in many of the GCC build descriptions. Recently the website underwent some changes and re-organised the download directories which have broken at least the 4.11 branch of RSB, but probably many other branches.

Having discussed this with Andreas Enge (maintainer of MPC), he suggests that the gnu mirror is used instead:

I see, thank you for the info. Actually, I reorganised the web site, so the tool is permanently broken. They should not use multiprecision.org, but instead the official GNU ftp site:

https://ftp.gnu.org/gnu/mpc/

It would probably be good to use the GNU mirror also for MPFR and GMP and others if they aren't already.

#3274 3 years ago fixed tool/rsb Chris Johns 3 years ago
Summary

RSB remove unused tool configuration files.

Description

Remove and clean up the configuration files that are not used on the branch.

#3275 3 years ago fixed tool/rsb Chris Johns Chris Johns <chrisj@…> 2 years ago
Summary

RSB do not build the kernel when released.

Description

Do not build the RTEMS kernel by default when released.

#3279 3 years ago fixed tool/rsb Chris Johns Chris Johns 3 years ago
Summary

Make the XZ executable path based on the Darwin (MacOS) host.

Description

The Darwin configuration expects the tool to be in /usr/local/bin however the xz is not part of the Xcode command line tools and may be built to a different path. Make the configuration path base.

#3289 3 years ago fixed tool/rsb Chris Johns Chris Johns 3 years ago
Summary

RSB backport changes to support mailing list posting of builds.

Description

To help the long term support of the 4.11 branch back port the RSB changes to support mailing list posting of builds.

#3295 3 years ago fixed tool/rsb Chris Johns Chris Johns 2 years ago
Summary

4.11: RSB --source-only-download does not download the source

Description

The option expansion is missing `--with-download'.

#3297 3 years ago fixed build Chris Johns Chris Johns 3 years ago
Summary

4.11: libtests in the testsuite does not set EXEEXT to .exe

Description

A check of the 4.11 branch shows:

$ grep "EXEEXT =" `find sparc-rtems4.11/c/erc32/testsuites/ -name Makefile`
  [removed some lines]
sparc-rtems4.11/c/erc32/testsuites/psxtmtests/psxtmcond05/Makefile:EXEEXT = .exe
sparc-rtems4.11/c/erc32/testsuites/psxtmtests/psxtmkey02/Makefile:EXEEXT = .exe
sparc-rtems4.11/c/erc32/testsuites/Makefile:EXEEXT = .exe
sparc-rtems4.11/c/erc32/testsuites/libtests/block16/Makefile:EXEEXT = 
sparc-rtems4.11/c/erc32/testsuites/libtests/heapwalk/Makefile:EXEEXT = 
  [removed some lines]
#3494 2 years ago fixed fs/rfs Sebastian Huber Sebastian Huber 2 years ago
Summary

RFS: Remove stray call of rtems_disk_release() in rtems_rfs_buffer_sync() (cloned)

Description

Cloned from #3484:


The function rtems_rfs_buffer_sync() erroneously calls rtems_disk_release(). This screws up the reference counting of the disk.

#3497 2 years ago fixed score Sebastian Huber Sebastian Huber 2 years ago
Summary

Remove superfluous interrupt enable in _Thread_Dispatch_enable() (cloned)

Description

Cloned from #3496:


The _Thread_Dispatch_enable() contains a superfluous interrupt enable. This bug had probably no effect since the interrupt enable is idempotent on all CPU ports.

RTEMS_INLINE_ROUTINE void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
{
  uint32_t disable_level = cpu_self->thread_dispatch_disable_level;

  if ( disable_level == 1 ) {
    ISR_Level level;

    _ISR_Local_disable( level );

    if (
      cpu_self->dispatch_necessary
#if defined(RTEMS_SCORE_ROBUST_THREAD_DISPATCH)
        || !_ISR_Is_enabled( level )
#endif
    ) {
      _Thread_Do_dispatch( cpu_self, level ); <-- This function enabled interrupts
    } else {
      cpu_self->thread_dispatch_disable_level = 0;
      _Profiling_Thread_dispatch_enable( cpu_self, 0 );
    }

    _ISR_Local_enable( level ); <-- Here we enable it again
  } else {
    _Assert( disable_level > 0 );
    cpu_self->thread_dispatch_disable_level = disable_level - 1;
  }
}
#3771 13 months ago invalid fs/jaffs2 Karthikeyan 13 months ago
Summary

JFFS2 file system integration with External QSPI Flash CRC failure and Unmount issues

Description

Hardware Configuration Setup: Controller: STM32H7 Rtems : 4.11 External Memory: IS25LP016D (2MB flash or 16Mb 133MHZ) Memory interface : QSPI

For JFFS2 Configuration , I have followed the below link, https://lists.rtems.org/pipermail/users/2017-October/031757.html

#define BLOCK_SIZE (16UL * 256UL)

#define FLASH_SIZE (256 * BLOCK_SIZE)

typedef struct {

rtems_jffs2_flash_control super; unsigned char area[FLASH_SIZE];

} flash_control;

static flash_control *get_flash_control(rtems_jffs2_flash_control *super) {

return (flash_control *) super;

}

static int flash_read(

rtems_jffs2_flash_control *super, uint32_t offset, unsigned char *buffer, size_t size_of_buffer

) {

flash_control *self = get_flash_control(super); unsigned char *chunk = &self->area[offset]; qspiExtFlashRead(offset, buffer, size_of_buffer); memcpy(buffer, chunk, size_of_buffer);

return 0;

}

static int flash_write(

rtems_jffs2_flash_control *super, uint32_t offset, const unsigned char *buffer, size_t size_of_buffer

) {

int count = 0; flash_control *self = get_flash_control(super); unsigned char *chunk = &self->area[offset];

qspiExtFlashWrite(offset, buffer, size_of_buffer); for (count = 0; count <= size_of_buffer; count++) {

printf("\n\r T : %d", *buffer++);

} size_t i;

for (i = 0; i < size_of_buffer; ++i) { chunk[i] &= buffer[i]; }

return 0;

}

static int flash_erase(

rtems_jffs2_flash_control *super, uint32_t offset

) {

flash_control *self = get_flash_control(super); unsigned char *chunk = &self->area[offset]; qspiExtFlashErase(offset,BLOCK_SIZE);

memset(chunk, 0xff, BLOCK_SIZE);

return 0;

}

static flash_control flash_instance = {

.super = {

.block_size = BLOCK_SIZE, .flash_size = FLASH_SIZE, .read = flash_read, .write = flash_write, .erase = flash_erase

}

};

static rtems_jffs2_compressor_control compressor_instance = {

.compress = rtems_jffs2_compressor_rtime_compress, .decompress = rtems_jffs2_compressor_rtime_decompress

};

static const rtems_jffs2_mount_data mount_data = {

.flash_control = &flash_instance.super, .compressor_control = &compressor_instance

};

static void erase_all(void) {

memset(&flash_instance.area[0], 0xff, FLASH_SIZE);

qspiExtFlashErase(0, FLASH_SIZE);

}

static rtems_resource_snapshot before_mount;

void test_initialize_jffs2filesystem(void) {

int rv;

erase_all();

rv = mkdir(BASE_FOR_QSPI, S_IRWXU | S_IRWXG | S_IRWXO); if(rv != 0) {

printf("\n\r mkdir failed : %d", rv);

}

rtems_test_assert(rv == 0);

rtems_resource_snapshot_take(&before_mount);

rv = mount(

NULL, BASE_FOR_QSPI, RTEMS_FILESYSTEM_TYPE_JFFS2, RTEMS_FILESYSTEM_READ_WRITE, &mount_data

); if(rv != 0) {

printf("\n\r mount failed : %d", rv);

}

}

void test_shutdown_jffs2filesystem(void) {

int rv = unmount(BASE_FOR_QSPI); bool snapshotStatus; rtems_test_assert(rv == 0);

if(rv != 0)

{

printf("\n\r failed : %d", rv);

} snapshotStatus = rtems_resource_snapshot_check(&before_mount); if ( snapshotStatus != true) {

printf("\n\r failed : %d", snapshotStatus);

}

}

Problem facing on writing and reading flash memory data during power cycle. Following CRC error always coming on power up,

Listening for connections

QSPI Read address : 1000, 4096 QSPI Read address : 2000, 8192 QSPI Read address : 3000, 12288 QSPI Read address : 4000, 16384 QSPI Read address : 5000, 20480 QSPI Read address : 6000, 24576 QSPI Read address : 7000, 28672 QSPI Read address : 8000, 32768 QSPI Read address : 9000, 36864 QSPI Read address : a000, 40960 QSPI Read address : b000, 45056 QSPI Read address : c000, 49152 QSPI Read address : d000, 53248 QSPI Read address : e000, 57344 QSPI Read address : f000, 61440 QSPI Read address : 10000, 65536 QSPI Read address : 11000, 69632 QSPI Read address : 12000, 73728 QSPI Read address : 13000, 77824 QSPI Read address : 14000, 81920 QSPI Read address : 15000, 86016 QSPI Read address : 16000, 90112 QSPI Read address : 17000, 94208 QSPI Read address : 18000, 98304 QSPI Read address : 19000, 102400 QSPI Read address : 1a000, 106496 QSPI Read address : 1b000, 110592 QSPI Read address : 1c000, 114688 QSPI Read address : 1d000, 118784 QSPI Read address : 1e000, 122880 QSPI Read address : 1f000, 126976 QSPI Read address : 20000, 131072 QSPI Read address : 21000, 135168 QSPI Read address : 22000, 139264 QSPI Read address : 23000, 143360 QSPI Read address : 24000, 147456 QSPI Read address : 25000, 151552 QSPI Read address : 26000, 155648 QSPI Read address : 27000, 159744 QSPI Read address : 28000, 163840 QSPI Read address : 29000, 167936 QSPI Read address : 2a000, 172032 QSPI Read address : 2b000, 176128 QSPI Read address : 2c000, 180224 QSPI Read address : 2d000, 184320 QSPI Read address : 2e000, 188416 QSPI Read address : 2f000, 192512 QSPI Read address : 30000, 196608 QSPI Read address : 31000, 200704 QSPI Read address : 32000, 204800 QSPI Read address : 33000, 208896 QSPI Read address : 34000, 212992 QSPI Read address : 35000, 217088 QSPI Read address : 36000, 221184 QSPI Read address : 37000, 225280 QSPI Read address : 38000, 229376 QSPI Read address : 39000, 233472 QSPI Read address : 3a000, 237568 QSPI Read address : 3b000, 241664 QSPI Read address : 3c000, 245760 QSPI Read address : 3d000, 249856 QSPI Read address : 3e000, 253952 QSPI Read address : 3f000, 258048 QSPI Read address : 40000, 262144 QSPI Read address : 41000, 266240 QSPI Read address : 42000, 270336 QSPI Read address : 43000, 274432 QSPI Read address : 44000, 278528 QSPI Read address : 45000, 282624 QSPI Read address : 46000, 286720 QSPI Read address : 47000, 290816 QSPI Read address : 48000, 294912 QSPI Read address : 49000, 299008 QSPI Read address : 4a000, 303104 QSPI Read address : 4b000, 307200 QSPI Read address : 4c000, 311296 QSPI Read address : 4d000, 315392 QSPI Read address : 4e000, 319488 QSPI Read address : 4f000, 323584 QSPI Read address : 50000, 327680 QSPI Read address : 51000, 331776 QSPI Read address : 52000, 335872 QSPI Read address : 53000, 339968 QSPI Read address : 54000, 344064 QSPI Read address : 55000, 348160 QSPI Read address : 56000, 352256 QSPI Read address : 57000, 356352 QSPI Read address : 58000, 360448 QSPI Read address : 59000, 364544 QSPI Read address : 5a000, 368640 QSPI Read address : 5b000, 372736 QSPI Read address : 5c000, 376832 QSPI Read address : 5d000, 380928 QSPI Read address : 5e000, 385024 QSPI Read address : 5f000, 389120 QSPI Read address : 60000, 393216 QSPI Read address : 61000, 397312 QSPI Read address : 62000, 401408 QSPI Read address : 63000, 405504 QSPI Read address : 64000, 409600 QSPI Read address : 65000, 413696 QSPI Read address : 66000, 417792 QSPI Read address : 67000, 421888 QSPI Read address : 68000, 425984 QSPI Read address : 69000, 430080 QSPI Read address : 6a000, 434176 QSPI Read address : 6b000, 438272 QSPI Read address : 6c000, 442368 QSPI Read address : 6d000, 446464 QSPI Read address : 6e000, 450560 QSPI Read address : 6f000, 454656 QSPI Read address : 70000, 458752 QSPI Read address : 71000, 462848 QSPI Read address : 72000, 466944 QSPI Read address : 73000, 471040 QSPI Read address : 74000, 475136 QSPI Read address : 75000, 479232 QSPI Read address : 76000, 483328 QSPI Read address : 77000, 487424 QSPI Read address : 78000, 491520 QSPI Read address : 79000, 495616 QSPI Read address : 7a000, 499712 QSPI Read address : 7b000, 503808 QSPI Read address : 7c000, 507904 QSPI Read address : 7d000, 512000 QSPI Read address : 7e000, 516096 QSPI Read address : 7f000, 520192 QSPI Read address : 80000, 524288 QSPI Read address : 81000, 528384 QSPI Read address : 82000, 532480 QSPI Read address : 83000, 536576 QSPI Read address : 84000, 540672 QSPI Read address : 85000, 544768 QSPI Read address : 86000, 548864 QSPI Read address : 87000, 552960 QSPI Read address : 88000, 557056 QSPI Read address : 89000, 561152 QSPI Read address : 8a000, 565248 QSPI Read address : 8b000, 569344 QSPI Read address : 8c000, 573440 QSPI Read address : 8d000, 577536 QSPI Read address : 8e000, 581632 QSPI Read address : 8f000, 585728 QSPI Read address : 90000, 589824 QSPI Read address : 91000, 593920 QSPI Read address : 92000, 598016 QSPI Read address : 93000, 602112 QSPI Read address : 94000, 606208 QSPI Read address : 95000, 610304 QSPI Read address : 96000, 614400 QSPI Read address : 97000, 618496 QSPI Read address : 98000, 622592 QSPI Read address : 99000, 626688 QSPI Read address : 9a000, 630784 QSPI Read address : 9b000, 634880 QSPI Read address : 9c000, 638976 QSPI Read address : 9d000, 643072 QSPI Read address : 9e000, 647168 QSPI Read address : 9f000, 651264 QSPI Read address : a0000, 655360 QSPI Read address : a1000, 659456 QSPI Read address : a2000, 663552 QSPI Read address : a3000, 667648 QSPI Read address : a4000, 671744 QSPI Read address : a5000, 675840 QSPI Read address : a6000, 679936 QSPI Read address : a7000, 684032 QSPI Read address : a8000, 688128 QSPI Read address : a9000, 692224 QSPI Read address : aa000, 696320 QSPI Read address : ab000, 700416 QSPI Read address : ac000, 704512 QSPI Read address : ad000, 708608 QSPI Read address : ae000, 712704 QSPI Read address : af000, 716800 QSPI Read address : b0000, 720896 QSPI Read address : b1000, 724992 QSPI Read address : b2000, 729088 QSPI Read address : b3000, 733184 QSPI Read address : b4000, 737280 QSPI Read address : b5000, 741376 QSPI Read address : b6000, 745472 QSPI Read address : b7000, 749568 QSPI Read address : b8000, 753664 QSPI Read address : b9000, 757760 QSPI Read address : ba000, 761856 QSPI Read address : bb000, 765952 QSPI Read address : bc000, 770048 QSPI Read address : bd000, 774144 QSPI Read address : be000, 778240 QSPI Read address : bf000, 782336 QSPI Read address : c0000, 786432 QSPI Read address : c1000, 790528 QSPI Read address : c2000, 794624 QSPI Read address : c3000, 798720 QSPI Read address : c4000, 802816 QSPI Read address : c5000, 806912 QSPI Read address : c6000, 811008 QSPI Read address : c7000, 815104 QSPI Read address : c8000, 819200 QSPI Read address : c9000, 823296 QSPI Read address : ca000, 827392 QSPI Read address : cb000, 831488 QSPI Read address : cc000, 835584 QSPI Read address : cd000, 839680 QSPI Read address : ce000, 843776 QSPI Read address : cf000, 847872 QSPI Read address : d0000, 851968 QSPI Read address : d1000, 856064 QSPI Read address : d2000, 860160 QSPI Read address : d3000, 864256 QSPI Read address : d4000, 868352 QSPI Read address : d5000, 872448 QSPI Read address : d6000, 876544 QSPI Read address : d7000, 880640 QSPI Read address : d8000, 884736 QSPI Read address : d9000, 888832 QSPI Read address : da000, 892928 QSPI Read address : db000, 897024 QSPI Read address : dc000, 901120 QSPI Read address : dd000, 905216 QSPI Read address : de000, 909312 QSPI Read address : df000, 913408 QSPI Read address : e0000, 917504 QSPI Read address : e1000, 921600 QSPI Read address : e2000, 925696 QSPI Read address : e3000, 929792 QSPI Read address : e4000, 933888 QSPI Read address : e5000, 937984 QSPI Read address : e6000, 942080 QSPI Read address : e7000, 946176 QSPI Read address : e8000, 950272 QSPI Read address : e9000, 954368 QSPI Read address : ea000, 958464 QSPI Read address : eb000, 962560 QSPI Read address : ec000, 966656 QSPI Read address : ed000, 970752 QSPI Read address : ee000, 974848 QSPI Read address : ef000, 978944 QSPI Read address : f0000, 983040 QSPI Read address : f1000, 987136 QSPI Read address : f2000, 991232 QSPI Read address : f3000, 995328 QSPI Read address : f4000, 999424 QSPI Read address : f5000, 1003520 QSPI Read address : f6000, 1007616 QSPI Read address : f7000, 1011712 QSPI Read address : f8000, 1015808 QSPI Read address : f9000, 1019904 QSPI Read address : fa000, 1024000 QSPI Read address : fb000, 1028096 QSPI Read address : fc000, 1032192 QSPI Read address : fd000, 1036288

<5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE000: 0x0185 instead <5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE00C: 0x0981 instead <5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE014: 0x8909 instead <5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE02C: 0x339C instead <5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE030: 0x779E instead <5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE034: 0x779E instead <5>JFFS2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000FE04C: 0x4343 instead

QSPI Read address : fe000, 1040384

<5>JFFS2: jffs2_scan_inode_node(): CRC failed on node at 0x000FE0EC: Read 0xFFFF FFFF, calculated 0x2D670D7B <5>JFFS2: jffs2_scan_inode_node(): CRC failed on node at 0x000FE1D0: Read 0xFFFF FFFF, calculated 0xBAABA5B5

QSPI Read address : fe0ec, 1040620 QSPI Read address : fe244, 1040964 QSPI Read address : ff000, 1044480

Please let me know any solution on this. Also we are not able to unmount jffs directory from root file system.

Last modified on Jul 11, 2017 at 1:07:38 AM Last modified on Jul 11, 2017, 1:07:38 AM