source: rtems-libbsd/create-kernel-namespace.sh @ 0f5dd1c

55-freebsd-126-freebsd-12freebsd-9.3
Last change on this file since 0f5dd1c was 0f5dd1c, checked in by Sebastian Huber <sebastian.huber@…>, on 05/06/16 at 05:27:25

Add script to create the kernel namespace header

  • Property mode set to 100755
File size: 4.7 KB
Line 
1#!/bin/sh -x
2
3#
4# Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
5#
6#  embedded brains GmbH
7#  Dornierstr. 4
8#  82178 Puchheim
9#  Germany
10#  <rtems@embedded-brains.de>
11#
12# Redistribution and use in source and binary forms, with or without
13# modification, are permitted provided that the following conditions
14# are met:
15# 1. Redistributions of source code must retain the above copyright
16#    notice, this list of conditions and the following disclaimer.
17# 2. Redistributions in binary form must reproduce the above copyright
18#    notice, this list of conditions and the following disclaimer in the
19#    documentation and/or other materials provided with the distribution.
20#
21# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
22# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
25# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31# SUCH DAMAGE.
32#
33
34#
35# This script generates the kernel namespace header file
36# <machine/rtems-bsd-kernel-namespace.h>.
37#
38
39objdump --syms `for i in build/*rtems* ; do find $i/freebsd/sys/ -name '*.o' ; echo \
40        $i/rtemsbsd/rtems/rtems-bsd-assert*.o \
41        $i/rtemsbsd/rtems/rtems-bsd-autoconf*.o \
42        $i/rtemsbsd/rtems/rtems-bsd-bus-dma-mbuf*.o \
43        $i/rtemsbsd/rtems/rtems-bsd-bus-dma*.o \
44        $i/rtemsbsd/rtems/rtems-bsd-bus-root*.o \
45        $i/rtemsbsd/rtems/rtems-bsd-cam*.o \
46        $i/rtemsbsd/rtems/rtems-bsd-chunk*.o \
47        $i/rtemsbsd/rtems/rtems-bsd-configintrhook*.o \
48        $i/rtemsbsd/rtems/rtems-bsd-conf*.o \
49        $i/rtemsbsd/rtems/rtems-bsd-delay*.o \
50        $i/rtemsbsd/rtems/rtems-bsd-get-file*.o \
51        $i/rtemsbsd/rtems/rtems-bsd-init*.o \
52        $i/rtemsbsd/rtems/rtems-bsd-irqs*.o \
53        $i/rtemsbsd/rtems/rtems-bsd-jail*.o \
54        $i/rtemsbsd/rtems/rtems-bsd-log*.o \
55        $i/rtemsbsd/rtems/rtems-bsd-malloc*.o \
56        $i/rtemsbsd/rtems/rtems-bsd-mbuf*.o \
57        $i/rtemsbsd/rtems/rtems-bsd-muteximpl*.o \
58        $i/rtemsbsd/rtems/rtems-bsd-mutex*.o \
59        $i/rtemsbsd/rtems/rtems-bsdnet-rtrequest*.o \
60        $i/rtemsbsd/rtems/rtems-bsd-nexus*.o \
61        $i/rtemsbsd/rtems/rtems-bsd-page*.o \
62        $i/rtemsbsd/rtems/rtems-bsd-panic*.o \
63        $i/rtemsbsd/rtems/rtems-bsd-pci_bus*.o \
64        $i/rtemsbsd/rtems/rtems-bsd-pci_cfgreg*.o \
65        $i/rtemsbsd/rtems/rtems-bsd-program*.o \
66        $i/rtemsbsd/rtems/rtems-bsd-rwlock*.o \
67        $i/rtemsbsd/rtems/rtems-bsd-shell*.o \
68        $i/rtemsbsd/rtems/rtems-bsd-signal*.o \
69        $i/rtemsbsd/rtems/rtems-bsd-sx*.o \
70        $i/rtemsbsd/rtems/rtems-bsd-sysctlbyname*.o \
71        $i/rtemsbsd/rtems/rtems-bsd-sysctlnametomib*.o \
72        $i/rtemsbsd/rtems/rtems-bsd-sysctl*.o \
73        $i/rtemsbsd/rtems/rtems-bsd-thread*.o \
74        $i/rtemsbsd/rtems/rtems-bsd-timesupport*.o \
75        $i/rtemsbsd/rtems/rtems_mii_ioctl_kern*.o ; done` \
76        | awk '/^[0-9a-f]+[[:blank:]]+g/ {print $6}' \
77        | sed 's/^_bsd_//' \
78        | sed '/^accept$/d' \
79        | sed '/^arc4random$/d' \
80        | sed '/^bind$/d' \
81        | sed '/^bpf_filter$/d' \
82        | sed '/^bpf_jitter$/d' \
83        | sed '/^bpf_jitter_enable$/d' \
84        | sed '/^bpf_validate$/d' \
85        | sed '/^connect$/d' \
86        | sed '/^free$/d' \
87        | sed '/^getentropy$/d' \
88        | sed '/^getpeername$/d' \
89        | sed '/^getsockname$/d' \
90        | sed '/^getsockopt$/d' \
91        | sed '/^in6addr_any$/d' \
92        | sed '/^kevent$/d' \
93        | sed '/^kqueue$/d' \
94        | sed '/^listen$/d' \
95        | sed '/^malloc$/d' \
96        | sed '/^pause$/d' \
97        | sed '/^pf_osfp_entry_pl$/d' \
98        | sed '/^pf_osfp_pl$/d' \
99        | sed '/^poll$/d' \
100        | sed '/^random$/d' \
101        | sed '/^realloc$/d' \
102        | sed '/^reallocf$/d' \
103        | sed '/^recvfrom$/d' \
104        | sed '/^recvmsg$/d' \
105        | sed '/^rtems/d' \
106        | sed '/^select$/d' \
107        | sed '/^sendmsg$/d' \
108        | sed '/^sendto$/d' \
109        | sed '/^setfib$/d' \
110        | sed '/^setsockopt$/d' \
111        | sed '/^shutdown$/d' \
112        | sed '/^socket$/d' \
113        | sed '/^socketpair$/d' \
114        | sed '/^srandom$/d' \
115        | sed '/^strdup$/d' \
116        | sed '/^sysctlbyname$/d' \
117        | sed '/^sysctl$/d' \
118        | sed '/sys_init/d' \
119        | sed '/^taskqueue_/d' \
120        | sed '/^tcp_offload_listen_start$/d' \
121        | sed '/^tcp_offload_listen_stop$/d' \
122        | sed '/^ticks$/d' \
123        | sed '/^_Watchdog_Ticks_since_boot$/d' \
124        | sort -u > symbols.txt
125
126cat << eof > rtems-bsd-kernel-namespace.h
127#ifndef _RTEMS_BSD_MACHINE_RTEMS_BSD_KERNEL_SPACE_H_
128#error "the header file <machine/rtems-bsd-kernel-space.h> must be included first"
129#endif
130
131eof
132sed 's/^\(.*\)/#define  \1 _bsd_\1/' < symbols.txt >> rtems-bsd-kernel-namespace.h
133rm symbols.txt
134mv rtems-bsd-kernel-namespace.h rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
Note: See TracBrowser for help on using the repository browser.