List third party files in cpukit and testsuites

Joel Sherrill joel at rtems.org
Fri Nov 4 22:23:44 UTC 2022


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.


> ------------------
>
> 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.


> cpukit/libmisc/mouse/mouse_parser.c
>

 I think mouse_parser.c is third party but I don't remember where it came
from


> 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.


> ------------------
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20221104/8a945652/attachment.htm>


More information about the devel mailing list