List third party files in cpukit and testsuites

Gedare Bloom gedare at rtems.org
Mon Nov 7 18:09:47 UTC 2022


The only files remaining that I haven't marked as third-party out of
the original list are the ones by Till and Kevin, and the following.
libdl/rtl ISA files:
  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

MIPS files
  cpukit/score/cpu/mips/include/rtems/mips/idtcpu.h
  cpukit/score/cpu/mips/include/rtems/mips/iregdef.h
NOTE:  These have a third-party license, but no upstream and we can do
whatever we want with them. License is kind of like an MIT style.
These headers are included in the MIPS Score cpu_asm.S so can't be
moved directly to `bsps` AFAICT.

cpukit/include/pci/pcireg.h

And anything in testsuites was not touched. I think the above are all
"clone-and-own"

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


More information about the devel mailing list