Jeff Johnston | 19 Jan 20:56 2015
Picon

Monthly snapshot 2.2.0-1 available

It was requested that I add monthly snapshots for newlib to the ftp site so I am announcing
the first of said snapshots 2.2.0-1.  The snapshots will simply be a snapshot for the month and
will be -1, -2, -3, etc... until the next yearly snapshot which will be 2.3.0.  No changes are
made in the monthly snapshot regarding version, README, etc.. that are not already in the 
current repo.

-- Jeff J.

Olof Kindgren | 17 Jan 15:37 2015
Picon

Point release to fix OpenRISC

Hi people,

I'm part of the OpenRISC community and was very happy to see the
OpenRISC support being added for newlib 2.2.0. Unfortunately a few
patches came in after the release, with the result that the OpenRISC
target in newlib 2.2.0 doesn't work at all.

Would there be any interest in releasing a 2.2.1 now that all
OpenRISC-related patches are applied? I haven't found any release
policies, but noticed that new minor versions are released
approximately once a year.

Best Regards,
Olof

DJ Delorie | 16 Jan 23:22 2015
Picon

[patch] rl78 - support saddr/frodata/G10


Various tweaks needed for $subject.  Committed.

2015-01-15  DJ Delorie  <dj <at> redhat.com>

	* rl78/crt0.S: Initialize .saddr.  Avoid using SEL.
	* rl78/rl78-sim.ld: Add .saddr/.frodata section.
	* rl78/rl78.ld: Likewise.
	* rl78/rl78-sim.ld: Make room for virtual register banks.
	* rl78/rl78.ld: Likewise.

	* rl78/vregs.h: New.
	* rl78-sys.h: Use it.
	* rl78/swrite.S: New.
	* rl78/Makefile.in: Build it.
	* rl78/write.c: Use it.

Index: rl78/Makefile.in
===================================================================
RCS file: /cvs/src/src/libgloss/rl78/Makefile.in,v
retrieving revision 1.2
diff -p -U 5 -r1.2 Makefile.in
--- rl78/Makefile.in	5 Jan 2015 17:36:34 -0000	1.2
+++ rl78/Makefile.in	16 Jan 2015 22:14:40 -0000
 <at>  <at>  -65,10 +65,11  <at>  <at>  SIM_OBJS = \
 	exit.o \
 	open.o \
 	close.o \
 	read.o \
 	write.o \
(Continue reading)

Wilco Dijkstra | 16 Jan 18:07 2015

FW: [PATCH, AArch64]: Optimize strlen

> Richard Earnshaw wrote:
> On 16/01/15 16:29, Wilco Dijkstra wrote:
> > Optimize the strlen implementation by using a page cross check and a fast check
> > for nul bytes which reverts to separate loop when a non-ASCII char is encountered.
> > Speedup on cortex-strings test is ~10%, long ASCII strings are processed ~60%
> > faster, and on random tests it is ~80% better.
> >
> > OK for commit?
> >
> >
> 
> Please can you re-send with the patch in unified diff format.  ie diff -u.
> 
> You also need a ChangeLog entry.

Cvs diff -u result attached. Changelog:

2015-01-16  Wilco Dijkstra  wdijkstr <at> arm.com 

	* libc/machine/aarch64/strlen.S (strlen): Improve performance.
Index: strlen.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/aarch64/strlen.S,v
retrieving revision 1.1
diff -u -r1.1 strlen.S
--- strlen.S	10 Jan 2013 12:57:11 -0000	1.1
+++ strlen.S	16 Jan 2015 16:58:48 -0000
 <at>  <at>  -1,16 +1,16  <at>  <at> 
-/* Copyright (c) 2013, Linaro Limited
(Continue reading)

Wilco Dijkstra | 16 Jan 17:29 2015

[PATCH, AArch64]: Optimize strlen

Optimize the strlen implementation by using a page cross check and a fast check 
for nul bytes which reverts to separate loop when a non-ASCII char is encountered. 
Speedup on cortex-strings test is ~10%, long ASCII strings are processed ~60% 
faster, and on random tests it is ~80% better.

OK for commit?
Index: strlen.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/aarch64/strlen.S,v
retrieving revision 1.1
diff -r1.1 strlen.S
1c1
< /* Copyright (c) 2013, Linaro Limited
---
> /* Copyright (c) 2013-2015, Linaro Limited
7c7
<          notice, this list of conditions and the following disclaimer.
---
> 	 notice, this list of conditions and the following disclaimer.
9,10c9,10
<          notice, this list of conditions and the following disclaimer in the
<          documentation and/or other materials provided with the distribution.
---
> 	 notice, this list of conditions and the following disclaimer in the
> 	 documentation and/or other materials provided with the distribution.
12,13c12,13
<          names of its contributors may be used to endorse or promote products
<          derived from this software without specific prior written permission.
(Continue reading)

Joel Sherrill | 14 Jan 19:43 2015

[PATCH 1/2] doc/makedoc.c: Use uintptr_t to avoid int/pointer size warnings

2015-01-14  Joel Sherrill <joel.sherrill <at> oarcorp.com>

	* doc/makedoc.c: Use uintptr_t to avoid int/pointer size warnings
---
 newlib/doc/makedoc.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/newlib/doc/makedoc.c b/newlib/doc/makedoc.c
index 7d38a5d..7188642 100644
--- a/newlib/doc/makedoc.c
+++ b/newlib/doc/makedoc.c
 <at>  <at>  -40,6 +40,7  <at>  <at>  There is  no
 #include <stdlib.h>
 #include <ctype.h>
 #include <string.h>
+#include <stdint.h>

 #define DEF_SIZE 5000
 #define STACK 50
 <at>  <at>  -219,10 +220,10  <at>  <at>  typedef void (*stinst_type)(NOARGS);
 stinst_type *pc;
 stinst_type sstack[STACK];
 stinst_type *ssp = &sstack[0];
-int istack[STACK];
-int *isp = &istack[0];
+uintptr_t istack[STACK];
+uintptr_t *isp = &istack[0];

-typedef int *word_type;
+typedef uintptr_t *word_type;
(Continue reading)

Joel Sherrill | 14 Jan 16:56 2015

Warning Building Newlib Head

Hi

Looking at the warnings in the build logs, I saw this:

newlib/libc/posix/glob.c:383:7: warning: implicit declaration of
function 'issetugid' [-Wimplicit-function-declaration]

I was going to add an include to eliminate this but don't see one. The
method
is referenced in these files:

$ grep -r issetugid .
./posix/glob.c:            issetugid() != 0 ||
./sys/rtems/crt0.c:RTEMS_STUB(int, issetugid (void), { return 0; })
./sys/linux/net/issetugid-stub.c:issetugid(void)

Where should this method be prototyped?

--

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill <at> OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

TONY LIU | 14 Jan 13:11 2015
Picon

C99 support in Newlib

Hi,

I'm curious about the C99 support in Newlib. Could anyone confirm that
C99 is fully supported in Newlib version 2.2.0 or not?  I can't find
the confirmation in the docs and online. Many thanks!

Sincerely,
Tony

Stefan Wallentowitz | 13 Jan 13:26 2015
Picon

[OR1K] spr-defs.h

Hi all,

thanks for applying the patches for OpenRISC over the last weeks. One
file did unfortunately not make it as it is too large. It got rejected
by the list and the zip version never got to the list (in moderation?).

This is a link to the patch:
https://lis.ei.tum.de/pub-download/or1k-spr-defs.patch

Can you please apply this (single-file) patch or help me to send it the
mailing list properly.

Best regards,
Stefan

Attachment (smime.p7s): application/pkcs7-signature, 6682 bytes
K Jski | 11 Jan 00:08 2015
Picon

aarch64 stat

I am also working on using newlib for aarch64 and see that it gives a
crt0.o file. From reading forums, I think this should be used as the
startup files (vs using gcc's crt1.o and crti.o, crtn.o crtend.o)

So my new script compiling a simple hello world for aarch64 is as follows:

INPUT=$1
aarch64-linux-gnu-gcc -c -o ${INPUT%.c}_ARMObj.o $1
echo -e " ------------ x86 OBJECT FILE OBTAINED... \n\n\n\n"

aarch64-linux-gnu-gcc -v -nostdlib -static -o rARM64 \
/home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib/crt0.o
\
/home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib/libnosys.a
\
/home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib/librdimon.a
\
${INPUT%.c}_ARMObj.o \
-I/home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/include \
-L/home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib \
 /home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib/libc.a
\
 /home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib/libg.a
\
 /home/bielsk1/aarch64-toolchain/ARM_newlib/aarch64-unknown-linux-gnu/lib/libm.a
\
 -lc -lm

this now presents the following error:

(Continue reading)

Clemens Ladisch | 10 Jan 18:50 2015
Picon

msp430: crt0.S pokes at a wrong device address

Hi,

libgloss/msp430/crt0.S contains the following code:

    __start:
            ...
            ;; Disable watchdog timer.
            MOV     #0x5a80, &0x15C

This is not the correct address of the Watchdog Timer Control register
for all MSP430 MCUs.

The MSP430x1xx, MSP430x2xx, MSP430x4xx, and MSP430i2xx families have the
register at address 0x120.

The MSP430x5xx, MSP430x6xx, MSP430x09x, MSP430FRxx, and CC430 families
do use address 0x15c, except for the MSP430FR203x and MSP430FR413x,
where 0x15c is the System NMI Interrupt Vector Register, and the
watchdog is at 0x1cc.

I don't think it is possible to disable the watchdog from within
a portable assembler file like this, except by adding the WDTCTL address
to all the MCU-specific linker scripts.

It migher be a better idea to require that the watchdog is handled by
the program.  Other compilers have a weak function (_system_pre_init()
in CCS, __low_level_init() in IAR) that can be overridden to do this or
anything else that might be required before the data segment
initialization.  In gcc, I can get the same effect with a function like
this:
(Continue reading)


Gmane