List third party files in cpukit and testsuites

Gedare Bloom gedare at rtems.org
Mon Nov 7 17:51:59 UTC 2022


On Fri, Nov 4, 2022 at 4:24 PM Joel Sherrill <joel at rtems.org> wrote:
>
>
>
> On Fri, Nov 4, 2022 at 5:01 PM Gedare Bloom <gedare at rtems.org> wrote:
>>
>> Out of the original list, the following are the files that have NOT
>> been marked as third-party in my proof-of-concept available at
>> https://git.rtems.org/gedare/rtems.git/log/?h=test-split-3rd-party
>>
>> Most of the .h files are not included because uninstalled headers
>> aren't in the spec files. This includes the following headers:
>
>
> I'll comment on the ones I am fairly confident on.
>
>>
>> ------------------
>> cpukit/dtc/libfdt/libfdt_internal.h
>> cpukit/libmisc/shell/dd.h
>> cpukit/libmisc/shell/err.h
>> cpukit/libmisc/shell/extern-cp.h
>> cpukit/libmisc/shell/extern-dd.h
>> cpukit/libmisc/shell/extern-ls.h
>> cpukit/libmisc/shell/fts.h
>> cpukit/libmisc/shell/hexdump.h
>> cpukit/libmisc/shell/pathnames-mv.h
>> cpukit/libmisc/shell/sysexits.h
>> cpukit/libmisc/shell/vis.h
>> cpukit/libmisc/shell/mknod-pack_dev.h
>> cpukit/libfs/src/jffs2/src/acl.h
>> cpukit/libfs/src/jffs2/src/compr.h
>> cpukit/libfs/src/jffs2/src/debug.h
>> cpukit/libfs/src/jffs2/src/jffs2_fs_i.h
>> cpukit/libfs/src/jffs2/src/jffs2_fs_sb.h
>> cpukit/libfs/src/jffs2/src/nodelist.h
>> cpukit/libfs/src/jffs2/src/rtems-jffs2-config.h
>> cpukit/libfs/src/jffs2/src/summary.h
>> cpukit/libfs/src/jffs2/src/xattr.h
>
>
> All of the jffs2 except the rtems file
>
>>
>> cpukit/libmisc/uuid/uuidP.h
>> cpukit/libmisc/uuid/uuidd.h
>> cpukit/libmisc/xz/xz_config.h
>> cpukit/libmisc/xz/xz_lzma2.h
>> cpukit/libmisc/xz/xz_private.h
>> cpukit/libmisc/xz/xz_stream.h
>> cpukit/zlib/gzguts.h
>> cpukit/zlib/inffast.h
>> cpukit/zlib/inflate.h
>> cpukit/zlib/inftrees.h
>> cpukit/zlib/deflate.h
>> cpukit/zlib/zutil.h
>> cpukit/zlib/crc32.h
>> cpukit/zlib/inffixed.h
>> cpukit/zlib/trees.h
>
>
> All of the uuid, xz, and zlib.
>
>>
>> ------------------
>>
>> The RTL is owned by RTEMS now, including:
>> ------------------
>> cpukit/libdl/rtl-mdreloc-arm.c
>> cpukit/libdl/rtl-mdreloc-i386.c
>> cpukit/libdl/rtl-mdreloc-m68k.c
>> cpukit/libdl/rtl-mdreloc-riscv.c
>> cpukit/libdl/rtl-mdreloc-sparc.c
>
>
> Yes.
>
>>
>> cpukit/libdl/fastlz.c
>> cpukit/libdl/fastlz.h
>
>
> How did these get changed enough to be our code.
>
Chris said all of libdl was owned now. Looks like this code was
downloaded and perhaps modified. There's an upstream version available
at https://github.com/ariya/FastLZ I suppose if anyone wanted to try
to resynchronize it. I will refactor it out and mark it as third-party
for now to be on the safe side.

>>
>> ------------------
>>
>> These two are RTEMS-owned, authored by Till and Kevin Kirspel
>> ------------------
>> cpukit/libfs/src/defaults/default_mmap.c
>> cpukit/score/cpu/nios2/include/rtems/score/nios2-count-zeros.h
>> ------------------
>>
>> There are several header files related to ISA-specific support that
>> might be worth identifying as third-party.
>> ------------------
>> cpukit/score/cpu/i386/include/machine/elf_machdep.h
>> cpukit/score/cpu/m68k/include/machine/elf_machdep.h
>> cpukit/score/cpu/mips/include/machine/elf_machdep.h
>> cpukit/score/cpu/nios2/include/machine/elf_machdep.h
>> cpukit/score/cpu/sparc/include/machine/elf_machdep.h
>> cpukit/score/cpu/x86_64/include/machine/elf_machdep.h
>
>
> Yes. These mostly came from FreeBSD. Not sure about the nios2 though.
>
>>
>> cpukit/score/cpu/mips/include/rtems/mips/idtcpu.h
>> cpukit/score/cpu/mips/include/rtems/mips/iregdef.h
>
>
> Yep. Wonder if these should be in the BSP area though.
>
>>
>> ------------------
>>
>> Some random files:
>> ------------------
>> cpukit/include/pci/pcireg.h
>
>
> Grrr... this file could have been managed better.
>
>  * Copyright (c) 1997, Stefan Esser <se at freebsd.org>
>  * All rights reserved.
>  *
>  * New PCI library written from scratch. Defines in this file was taken from
>  * FreeBSD commit f1d6f4778d2044502209708bc167c05f9aa48615.
>  * auto-generated pci_ids.h also reused from RTEMS.
>  * Copyright 2009, Cobham Gaisler AB
>
> It is ours but if we had been clever, it may not have been or could
> have had ifdef rtems.
>
Probably not anymore. The upstream is really a lot more complicated.

>>
>> cpukit/libmisc/mouse/mouse_parser.c
>
>
>  I think mouse_parser.c is third party but I don't remember where it came from
>

I found it, https://github.com/ghaerr/microwindows/blob/master/src/drivers/mou_ser.c

There appears to be an RTEMS-specific driver already in that upstream
though, so I'm not sure what the one in our cpukit is being used
for...
https://github.com/ghaerr/microwindows/blob/master/src/drivers/mou_rtems.c

>>
>> cpukit/libmisc/xz/xz_crc64.c
>
>
> I don't know where xz came from but I found this:
>
> http://web.mit.edu/freebsd/head/sys/contrib/xz-embedded/
>
> crc64 appears to be disabled by default for space reasons but a 64-bit CRC would
> be more robust. I'm prone to turn the code on. We aren't forcing it onto anyone.
>
>>
>> ------------------
>>
>> And I didn't touch the testsuites:
>> ------------------
>> testsuites/samples/paranoia/paranoia.c
>> testsuites/benchmarks/dhrystone/dhry.h
>> testsuites/benchmarks/dhrystone/dhry_1.c
>> testsuites/benchmarks/dhrystone/dhry_2.c
>> testsuites/benchmarks/linpack/linpack-pc.c
>> testsuites/benchmarks/whetstone/whetstone.c
>
>
> Ideally these are all third party but I suspect paranoia may have
> been modified too much before we got good rules. Eventually we
> may want to grab a new copy, put an rtems_config.c with a "main()"
> and see if we can avoid editing it.
>
>>
>> ------------------


More information about the devel mailing list