waf: Post-process object file

2015-11-10 Thread Sebastian Huber

Hello,

for the libbsd we have the problem that we expose a lot of symbols from 
the FreeBSD kernel space to the applications. There are several known 
conflicts, e.g. FreeBSD log() vs. standard math library log(). The 
current approach to solve this issue is to generate a file with lots of


#define xx _bsd_xx
...

defines to rename at C pre-processor level. This is however quite 
brittle and doesn't work in general. An alternative would be to 
post-process the kernel-space object files with something like this


objcopy --redefine-syms redefines.txt x.o

with a redefines.txt

xx=_bsd_xx
...

My question is now: how can I add this post-processing step to the waf 
based libbsd build system?


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] Add RTEMS 4.12 build set

2015-11-10 Thread Sebastian Huber



On 08/11/15 01:05, Chris Johns wrote:

Are there any architecture regressions with gcc-6?


m32c, moxie, v850 don't work with GCC 6.

epiphany and or1k still use non-FSF GCC.



What archs have to actually run?


arm, powerpc, sparc.



I am happy to move to gcc-6 for archs we know are working. For those
that do not I am not so sure we should move them.


The broken targets use the 4.11 configuration.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: TMS570 BSP updates and LwIP support

2015-11-10 Thread Martin Galvan
On Mon, Nov 9, 2015 at 8:30 PM, Pavel Pisa  wrote:
> Hello Martin,
>> +  TMS570_POM.GLBCTRL = 0 | (TMS570_POM_GLBCTRL_OTADDR(~0) &
>> +pom_global_overlay_target_address_start);
>>
>> I don't see the point of doing (0 | something).
>
> This is to highlight that register value is not only the base
> of overlay target address. The following expression
> contains all information based on our headers using
> RTEMS standard for fields values.
>
>   TMS570_POM.GLBCTRL = TMS570_POM_GLBCTRL_ON_OFF(0) |
>TMS570_POM_GLBCTRL_ETO(0) |
>(TMS570_POM_GLBCTRL_OTADDR(~0) &
> pom_global_overlay_target_address_start);
>
> It has same value and effect as simplified one.
> But if you prefer this form then I change code.

I'd rather do

TMS570_POM.GLBCTRL = (TMS570_POM_GLBCTRL_OTADDR(~0) &
pom_global_overlay_target_address_start);

but that's just me.

>> In any case, is there a reason why you're seting the OTADDR in
>> tms570_initialize_and_clear if you're gonna overwrite it later in
>> tms570_pom_remap (or, in our case, not use it at all)? I think simply
>> setting TMS570_POM.GLBCTRL to zero would be clearer.
>
> The OT base address is global decision so even if following
> region setup code is implemented such way, that it looks for
> the first available POM region it has to allocate overlay
> target in memory foolowing OT base address. So code reflect
> this information that decision is global. If there more SRAM
> memory reserved than even overlay target can be allocated
> dynamically. I do not expect that we need such mechanism
> soon or in middle time horizon. But I want to document hat.

Ok.

> The older version of Technical Refence Manual is unclear.
> It take me some time to find the problem by comparison with
> manuals for newer TMS570 family members when we introduced
> TMS570 BSP. Manual version SPNU499B from November 2012
> (Revised August 2013) is already clear

Indeed, I'd been reading SPNU499A.

> Have you some plans to integrate or cooperate on bare (no loader)
> startup code integration to mainline RTEMS BSP? It seems that
> HalCoGen licensing has dramatically changed for latest versions
> (so after review by others) it could be possible to reuse parts
> of the generated code. Other option (may it be better fitting RTEMS
> code style) is incrementally rewrite/write own code.

We've always been on the side of cleaning up the Halcogen code and
using that. That's what we're using right now, and it's working fine
for us. I haven't looked at the TI license since last time we
discussed this, but if it's now RTEMS-compatible then great.

Keep in mind, though, that we're using a TMS570 USB kit
(http://processors.wiki.ti.com/index.php/TMS570LS31x_USB_Kit), which
may require different Halcogen code than your HDK. For instance, we
set BSP_PLL_OUT_CLOCK to 180 MHz instead of the 160 you're using. If
we're gonna migrate the Halcogen code, we should probably have a
separate tree for each board.

I currently don't know if we're gonna be able to contribute to the
migration (if there's one). We'll get back to you on this.

> If you intend to use 4.11 for production, please, test our changes
> and suggest if they are appropriate for 4.11.

Are you planning to merge this to 4.11? I don't know how the RTEMS
team manages their branches, but I assumed any changes to 4.11 are
bug-fixes instead of new features.
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Mentors Wanted for Google Code In (High School Students)

2015-11-10 Thread Joel Sherrill
Hi

We need mentors to participate in the Google Code-In program. This is not a
commitment
like the Google Summer of Code. The focus is on high school students and
smaller tasks
any RTEMS user should be capable of performing. The tasks should take less
than a day
normally for the student.

All contact will be via email. Mentoring is normally on a "first come,
first served" basis. You
answer email or review work when you can as students post it.

We have done this twice in the past and it has been very rewarding.

Please email me if you are curious and have questions or want to mentor.

Thanks.

--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

PowerPC BSPs to Obsolete

2015-11-10 Thread Joel Sherrill

Hi

I would like to propose the some PowerPC BSPs be removed.

I think ep1a and score603e can be safely removed.

I think the mbx8xx is a possibility.

There are three virtex BSPs and I don't know if any are
possible candidates.  


A look at the history of ss555 shows one change that
doesn't look like a horizontal sweep in 2013 and another
by Eric Norum in 2004. Not sure about this one.

Any others?

--
Joel Sherrill, Ph.D.
Check out RTEMS at https://www.rtems.org
Truly free real-time operating system
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: Trouble building RTEMS from master

2015-11-10 Thread Joel Sherrill
On Nov 4, 2015 1:57 PM, "Gedare Bloom"  wrote:
>
> Did you bootstrap -c and then bootstrap? I think I saw this error
> earlier today too, with a new sparc toolchain, but then it went away
> after i rm-rf'd my build tree and tried over.

Hmm.. I thought I did that but am not sure. Maybe Martin can confirm.

> On Wed, Nov 4, 2015 at 4:39 PM, Martin Galvan
>  wrote:
> > Hi everyone! I'm currently having some trouble when building RTEMS
> > from the git mainline. I'm using a toolchain built using (a fairly
> > recent) RSB. My configure is:
> >
> > ../source/configure --target=arm-rtems4.11
> > --enable-rtemsbsp=beagleboneblack --enable-posix --enable-cxx
> > --disable-networking --enable-tests=no
> >
> > However, when I run make, I get this:
> >
> > make[1]: *** No rule to make target `make/Templates/Makefile.lib',
> > needed by `all-am'.  Stop.
> >
> > I tried re-bootstraping and still see the same error. I saw this on a
> > couple more BSPs (TMS570 and LPC1768).
> >
> > Notice this happens only with master; the 4.11 branch builds ok.
> >
> > Is this a bug, or am I doing something wrong?
> > ___
> > devel mailing list
> > devel@rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Trouble building RTEMS from master

2015-11-10 Thread Joel Sherrill
On Nov 4, 2015 1:39 PM, "Martin Galvan" <
martin.gal...@tallertechnologies.com> wrote:
>
> Hi everyone! I'm currently having some trouble when building RTEMS
> from the git mainline. I'm using a toolchain built using (a fairly
> recent) RSB. My configure is:
>
> ../source/configure --target=arm-rtems4.11
> --enable-rtemsbsp=beagleboneblack --enable-posix --enable-cxx
> --disable-networking --enable-tests=no
>
> However, when I run make, I get this:
>
> make[1]: *** No rule to make target `make/Templates/Makefile.lib',
> needed by `all-am'.  Stop.
>
> I tried re-bootstraping and still see the same error. I saw this on a
> couple more BSPs (TMS570 and LPC1768).
>
> Notice this happens only with master; the 4.11 branch builds ok.
>
> Is this a bug, or am I doing something wrong?

I saw this on SPARC sis and leon3 on the plane. I don't know why but it is
a generic cross targrt bug. I didn't grep for the offending Makefile.am but
expect it is a matter of deleting they one right line.
___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: waf: Post-process object file

2015-11-10 Thread Chris Johns
On 10/11/2015 8:35 pm, Sebastian Huber wrote:
> Hello,
> 
> for the libbsd we have the problem that we expose a lot of symbols from
> the FreeBSD kernel space to the applications. There are several known
> conflicts, e.g. FreeBSD log() vs. standard math library log(). The
> current approach to solve this issue is to generate a file with lots of
> 
> #define xx _bsd_xx
> ...
> 
> defines to rename at C pre-processor level. This is however quite
> brittle and doesn't work in general. An alternative would be to
> post-process the kernel-space object files with something like this
> 
> objcopy --redefine-syms redefines.txt x.o
> 
> with a redefines.txt
> 
> xx=_bsd_xx
> ...
> 
> My question is now: how can I add this post-processing step to the waf
> based libbsd build system?
> 

Is this per object file or after the library has been made?

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] Add RTEMS 4.12 build set

2015-11-10 Thread Chris Johns
On 10/11/2015 11:56 pm, Sebastian Huber wrote:
> 
> 
> On 08/11/15 01:05, Chris Johns wrote:
>> Are there any architecture regressions with gcc-6?
> 
> m32c, moxie, v850 don't work with GCC 6.

I thought moxie was building with a new binutils.

> 
> epiphany and or1k still use non-FSF GCC.
> 

Great.

>>
>> What archs have to actually run?
> 
> arm, powerpc, sparc.
> 
>>
>> I am happy to move to gcc-6 for archs we know are working. For those
>> that do not I am not so sure we should move them.
> 
> The broken targets use the 4.11 configuration.
> 

If there is no arch regressions I am happy with this.

Can you please change the version default in rtems-tools?

Chris

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: waf: Post-process object file

2015-11-10 Thread Sebastian Huber



On 11/11/15 08:33, Chris Johns wrote:

On 10/11/2015 8:35 pm, Sebastian Huber wrote:

>Hello,
>
>for the libbsd we have the problem that we expose a lot of symbols from
>the FreeBSD kernel space to the applications. There are several known
>conflicts, e.g. FreeBSD log() vs. standard math library log(). The
>current approach to solve this issue is to generate a file with lots of
>
>#define xx _bsd_xx
>...
>
>defines to rename at C pre-processor level. This is however quite
>brittle and doesn't work in general. An alternative would be to
>post-process the kernel-space object files with something like this
>
>objcopy --redefine-syms redefines.txt x.o
>
>with a redefines.txt
>
>xx=_bsd_xx
>...
>
>My question is now: how can I add this post-processing step to the waf
>based libbsd build system?
>

Is this per object file or after the library has been made?


The library contains kernel and user space objects, so this is per 
object (kernel space objects).


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] Add RTEMS 4.12 build set

2015-11-10 Thread Sebastian Huber



On 11/11/15 08:38, Chris Johns wrote:

On 10/11/2015 11:56 pm, Sebastian Huber wrote:


On 08/11/15 01:05, Chris Johns wrote:

Are there any architecture regressions with gcc-6?

m32c, moxie, v850 don't work with GCC 6.

I thought moxie was building with a new binutils.


/scratch/git-rtems-source-builder/rtems/build/moxie-rtems4.12-gcc-6-20151101-newlib-2.2.0.20151023-x86_64-linux-gnu-1/build/./gcc/xgcc 
-B/scratch/git-rtems-source-builder/rtems/build/moxie-rtems4.12-gcc-6-20151101-newlib-2.2.0.20151023-x86_64-linux-gnu-1/build/./gcc/ 
-nostdinc 
-B/scratch/git-rtems-source-builder/rtems/build/moxie-rtems4.12-gcc-6-20151101-newlib-2.2.0.20151023-x86_64-linux-gnu-1/build/moxie-rtems4.12/newlib/ 
-isystem 
/scratch/git-rtems-source-builder/rtems/build/moxie-rtems4.12-gcc-6-20151101-newlib-2.2.0.20151023-x86_64-linux-gnu-1/build/moxie-rtems4.12/newlib/targ-include 
-isystem 
/scratch/git-rtems-source-builder/rtems/build/moxie-rtems4.12-gcc-6-20151101-newlib-2.2.0.20151023-x86_64-linux-gnu-1/gcc-6-20151101/newlib/libc/include 
-B/build/rtems-4.12/moxie-rtems4.12/bin/ 
-B/build/rtems-4.12/moxie-rtems4.12/lib/ -isystem 
/build/rtems-4.12/moxie-rtems4.12/include -isystem 
/build/rtems-4.12/moxie-rtems4.12/sys-include-g -O2 -mel -O2 
-I../../../../gcc-6-20151101/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-6-20151101/libgcc 
-I../../../../gcc-6-20151101/libgcc/. 
-I../../../../gcc-6-20151101/libgcc/../gcc 
-I../../../../gcc-6-20151101/libgcc/../include  -DHAVE_CC_TLS 
-DUSE_EMUTLS -o _absvdi2.o -MT _absvdi2.o -MD -MP -MF _absvdi2.dep 
-DL_absvdi2 -c ../../../../gcc-6-20151101/libgcc/libgcc2.c 
-fvisibility=hidden -DHIDE_EXPORTS

/tmp/ccvr1zIL.s: Assembler messages:
/tmp/ccvr1zIL.s:20: Error: unknown opcode sub $r3,$r2
make[4]: *** [_ashrdi3.o] Error 1
make[4]: *** Waiting for unfinished jobs
/tmp/cc3BXMUK.s: Assembler messages:
/tmp/cc3BXMUK.s:20: Error: unknown opcode sub $r3,$r2
/tmp/cc5UNxWK.s: Assembler messages:
/tmp/cc5UNxWK.s:26: Error: unknown opcode sub $r1,$r2
make[4]: *** [_lshrdi3.o] Error 1
make[4]: *** [_negdi2.o] Error 1
/tmp/cclz1cLL.s: Assembler messages:
/tmp/cclz1cLL.s:20: Error: unknown opcode sub $r3,$r2
make[4]: *** [_ashldi3.o] Error 1
/tmp/cc2hrdNK.s: Assembler messages:
/tmp/cc2hrdNK.s:43: Error: unknown opcode mul $r12,$r6
/tmp/cc2hrdNK.s:46: Error: unknown opcode mul $r8,$r6
/tmp/cc2hrdNK.s:48: Error: unknown opcode mul $r4,$r7
/tmp/cc2hrdNK.s:50: Error: unknown opcode mul $r1,$r7
/tmp/cc2hrdNK.s:52: Error: unknown opcode add $r1,$r8
/tmp/cc2hrdNK.s:59: Error: unknown opcode add $r3,$r1
/tmp/cc2hrdNK.s:65: Error: unknown opcode add $r4,$r1
/tmp/cc2hrdNK.s:73: Error: unknown opcode add $r1,$r4
/tmp/cc2hrdNK.s:86: Error: unknown opcode mul $r0,$r4
/tmp/cc2hrdNK.s:90: Error: unknown opcode mul $r2,$r4
/tmp/cc2hrdNK.s:92: Error: unknown opcode add $r0,$r2
/tmp/cc2hrdNK.s:96: Error: unknown opcode add $r0,$r12
/tmp/cc2hrdNK.s:97: Error: unknown opcode add $r1,$r2
make[4]: *** [_muldi3.o] Error 1

I already use Binutils 2.25.




epiphany and or1k still use non-FSF GCC.


Great.


What archs have to actually run?

arm, powerpc, sparc.


I am happy to move to gcc-6 for archs we know are working. For those
that do not I am not so sure we should move them.

The broken targets use the 4.11 configuration.


If there is no arch regressions I am happy with this.

Can you please change the version default in rtems-tools?


Does this break 4.11?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel