diff options
| author | Adrian Dudau <adrian.dudau@enea.com> | 2015-10-28 13:30:10 +0100 |
|---|---|---|
| committer | Adrian Dudau <adrian.dudau@enea.com> | 2015-10-28 13:30:10 +0100 |
| commit | 38929ed6a4630d2b8f3efa00616800b4012ea0d7 (patch) | |
| tree | 22bd8dca4994cd3d73f7f959f57f0bc7137d04cf | |
| download | meta-el-common-38929ed6a4630d2b8f3efa00616800b4012ea0d7.tar.gz | |
Initial commit
result of splitting up meta-enea
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
104 files changed, 3694 insertions, 0 deletions
diff --git a/COPYING.MIT b/COPYING.MIT new file mode 100644 index 0000000..89de354 --- /dev/null +++ b/COPYING.MIT | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 2 | of this software and associated documentation files (the "Software"), to deal | ||
| 3 | in the Software without restriction, including without limitation the rights | ||
| 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| 5 | copies of the Software, and to permit persons to whom the Software is | ||
| 6 | furnished to do so, subject to the following conditions: | ||
| 7 | |||
| 8 | The above copyright notice and this permission notice shall be included in | ||
| 9 | all copies or substantial portions of the Software. | ||
| 10 | |||
| 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| 17 | THE SOFTWARE. | ||
| @@ -0,0 +1,64 @@ | |||
| 1 | meta-enea-base | ||
| 2 | =================================================================== | ||
| 3 | |||
| 4 | This layer is intended to be a central point for defining distros, | ||
| 5 | images, recipes, appends or other userspace customizations common | ||
| 6 | to all Enea Linux releases. | ||
| 7 | |||
| 8 | |||
| 9 | Dependencies | ||
| 10 | ============ | ||
| 11 | |||
| 12 | This layer depends on: | ||
| 13 | |||
| 14 | URI: git://git.openembedded.org/bitbake | ||
| 15 | branch: dizzy | ||
| 16 | revision: HEAD | ||
| 17 | |||
| 18 | URI: git://git.yoctoproject.org/poky | ||
| 19 | branch: dizzy | ||
| 20 | revision: HEAD | ||
| 21 | |||
| 22 | |||
| 23 | Source code | ||
| 24 | =========== | ||
| 25 | |||
| 26 | git://git.enea.com/linux/meta-enea-base.git | ||
| 27 | |||
| 28 | |||
| 29 | Patches | ||
| 30 | ======= | ||
| 31 | |||
| 32 | Please submit any patches against the enea-base layer to the | ||
| 33 | linux-maintainers mailing list: linux-maintainers@enea.com | ||
| 34 | |||
| 35 | Maintainers: Enea Linux Team <linux-maintainers@enea.com> | ||
| 36 | |||
| 37 | |||
| 38 | Table | ||
| 39 | ================= | ||
| 40 | |||
| 41 | I. Adding the enea-base layer to your build | ||
| 42 | II. Misc | ||
| 43 | |||
| 44 | |||
| 45 | I. Adding the enea-base layer to your build | ||
| 46 | ================================================= | ||
| 47 | |||
| 48 | In order to use this layer, you need to make the build system aware of | ||
| 49 | it. | ||
| 50 | |||
| 51 | Assuming the enea-base layer exists at the top-level of your | ||
| 52 | yocto build tree, you can add it to the build system by adding the | ||
| 53 | location of the enea-base layer to bblayers.conf, along with any | ||
| 54 | other layers needed. e.g.: | ||
| 55 | |||
| 56 | |||
| 57 | BBLAYERS ?= " \ | ||
| 58 | /path/to/yocto/meta \ | ||
| 59 | /path/to/yocto/meta-yocto \ | ||
| 60 | /path/to/yocto/meta-enea-base \ | ||
| 61 | " | ||
| 62 | |||
| 63 | II. Misc | ||
| 64 | ======== | ||
diff --git a/conf/distro/enea.conf b/conf/distro/enea.conf new file mode 100644 index 0000000..da5ddd5 --- /dev/null +++ b/conf/distro/enea.conf | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | require conf/distro/poky.conf | ||
| 2 | DISTRO = "enea" | ||
| 3 | DISTRO_NAME = "Enea Linux" | ||
| 4 | DISTRO_VERSION_MAJOR = "5.0" | ||
| 5 | DISTRO_VERSION_MINOR ??= "" | ||
| 6 | DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}${DISTRO_VERSION_MINOR}" | ||
| 7 | |||
| 8 | |||
| 9 | SDK_VENDOR = "-eneasdk" | ||
| 10 | SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" | ||
| 11 | |||
| 12 | MAINTAINER = "ENEA <linux-maintainers@enea.com>" | ||
| 13 | |||
| 14 | TARGET_VENDOR = "-enea" | ||
| 15 | |||
| 16 | PRSERV_HOST ?= "localhost:0" | ||
| 17 | |||
| 18 | SANITY_TESTED_DISTROS += "\ | ||
| 19 | CentOS-6.1 \n \ | ||
| 20 | RedHatEnterpriseServer-6.1 \n \ | ||
| 21 | RedHatEnterpriseServer-6.4 \n \ | ||
| 22 | Ubuntu-12.10 \n \ | ||
| 23 | " | ||
| 24 | |||
| 25 | CONNECTIVITY_CHECK_URIS = " \ | ||
| 26 | http://linux.enea.com" | ||
| 27 | |||
| 28 | BB_DANGLINGAPPENDS_WARNONLY ?= "1" | ||
diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..48ee535 --- /dev/null +++ b/conf/layer.conf | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | # We have a conf and classes directory, add to BBPATH | ||
| 2 | BBPATH .= ":${LAYERDIR}" | ||
| 3 | |||
| 4 | # We have recipes-* directories, add to BBFILES | ||
| 5 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ | ||
| 6 | ${LAYERDIR}/images/* \ | ||
| 7 | ${LAYERDIR}/packagegroups/* \ | ||
| 8 | ${LAYERDIR}/recipes-*/*/*.bbappend" | ||
| 9 | |||
| 10 | BBFILE_COLLECTIONS += "enea-base" | ||
| 11 | BBFILE_PATTERN_enea-base = "^${LAYERDIR}/" | ||
| 12 | BBFILE_PRIORITY_enea-base = "5" | ||
diff --git a/images/enea-image-base.bb b/images/enea-image-base.bb new file mode 100644 index 0000000..41eba70 --- /dev/null +++ b/images/enea-image-base.bb | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | DESCRIPTION = "console only image that fully suport target HW" | ||
| 2 | require enea-image-common.inc | ||
| 3 | |||
| 4 | IMAGE_ROOTFS_EXTRA_SPACE = "131072" | ||
| 5 | IMAGE_OVERHEAD_FACTOR = "2" | ||
diff --git a/images/enea-image-common.inc b/images/enea-image-common.inc new file mode 100644 index 0000000..2f063eb --- /dev/null +++ b/images/enea-image-common.inc | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | IMAGE_FEATURES += "ssh-server-dropbear package-management" | ||
| 2 | |||
| 3 | IMAGE_INSTALL = " \ | ||
| 4 | packagegroup-enea-core-boot \ | ||
| 5 | " | ||
| 6 | |||
| 7 | IMAGE_LINGUAS = "" | ||
| 8 | |||
| 9 | LICENSE = "MIT" | ||
| 10 | |||
| 11 | inherit core-image | ||
diff --git a/images/enea-image-featured.bb b/images/enea-image-featured.bb new file mode 100644 index 0000000..2d22237 --- /dev/null +++ b/images/enea-image-featured.bb | |||
| @@ -0,0 +1,76 @@ | |||
| 1 | DESCRIPTION = "Full featured image with full target support" | ||
| 2 | require enea-image-common.inc | ||
| 3 | |||
| 4 | IMAGE_FEATURES[validitems] += "read-only-rootfs empty-root-password allow-empty-password post-install-logging " | ||
| 5 | |||
| 6 | IMAGE_FEATURES += " \ | ||
| 7 | dbg-pkgs \ | ||
| 8 | debug-tweaks \ | ||
| 9 | dev-pkgs \ | ||
| 10 | doc-pkgs \ | ||
| 11 | ptest-pkgs \ | ||
| 12 | splash \ | ||
| 13 | staticdev-pkgs \ | ||
| 14 | eclipse-debug \ | ||
| 15 | hwcodecs \ | ||
| 16 | nfs-server \ | ||
| 17 | qt4-pkgs \ | ||
| 18 | ssh-server-openssh \ | ||
| 19 | tools-debug \ | ||
| 20 | tools-profile \ | ||
| 21 | tools-sdk \ | ||
| 22 | tools-testapps \ | ||
| 23 | x11 \ | ||
| 24 | x11-base" | ||
| 25 | |||
| 26 | IMAGE_INSTALL = " \ | ||
| 27 | packagegroup-base \ | ||
| 28 | packagegroup-enea-debug \ | ||
| 29 | packagegroup-enea-rt-tools \ | ||
| 30 | packagegroup-enea-ptest \ | ||
| 31 | packagegroup-enea-ddt \ | ||
| 32 | packagegroup-enea-sys \ | ||
| 33 | packagegroup-enea-bench \ | ||
| 34 | ${ROOTFS_PKGMANAGE_BOOTSTRAP} \ | ||
| 35 | beecrypt \ | ||
| 36 | binutils \ | ||
| 37 | chkconfig \ | ||
| 38 | cracklib \ | ||
| 39 | curl \ | ||
| 40 | dhcp-client \ | ||
| 41 | eventlog \ | ||
| 42 | file \ | ||
| 43 | findutils \ | ||
| 44 | freetype \ | ||
| 45 | fuse \ | ||
| 46 | gawk \ | ||
| 47 | gcc \ | ||
| 48 | gnutls \ | ||
| 49 | grep \ | ||
| 50 | gzip \ | ||
| 51 | icu \ | ||
| 52 | insserv \ | ||
| 53 | kbd \ | ||
| 54 | kernel-modules \ | ||
| 55 | libgcrypt \ | ||
| 56 | libgpg-error \ | ||
| 57 | libtasn1 \ | ||
| 58 | lsb \ | ||
| 59 | lsbinitscripts \ | ||
| 60 | mingetty \ | ||
| 61 | openssh \ | ||
| 62 | ossp-uuid \ | ||
| 63 | perf \ | ||
| 64 | pkgconfig \ | ||
| 65 | procps \ | ||
| 66 | psmisc \ | ||
| 67 | rpm \ | ||
| 68 | rt-bmark \ | ||
| 69 | tar \ | ||
| 70 | tipcutils \ | ||
| 71 | udev-extraconf \ | ||
| 72 | zip \ | ||
| 73 | " | ||
| 74 | |||
| 75 | IMAGE_ROOTFS_EXTRA_SPACE = "1048576" | ||
| 76 | IMAGE_OVERHEAD_FACTOR = "1.5" | ||
diff --git a/recipes-connectivity/connman/connman_1.25.bbappend b/recipes-connectivity/connman/connman_1.25.bbappend new file mode 100644 index 0000000..4f72ec3 --- /dev/null +++ b/recipes-connectivity/connman/connman_1.25.bbappend | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
| 2 | |||
| 3 | SRC_URI += "file://0001-added-noipconfig-option.patch \ | ||
| 4 | file://connman \ | ||
| 5 | " | ||
diff --git a/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch b/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch new file mode 100644 index 0000000..d86b778 --- /dev/null +++ b/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch | |||
| @@ -0,0 +1,353 @@ | |||
| 1 | Disabling interface index for desired interfaces so that all methods dealing | ||
| 2 | with those indexes (ifup, ifdown, new route, new gateway, etc.) will exit | ||
| 3 | immediately. This is obtained through a new option called "noipconfig". | ||
| 4 | Helpful when dealing with NFS dhcp method like: | ||
| 5 | root=/dev/nfs rw nfsroot=172.21.3.8:/unix/enea_linux_rootfs/user/p2041rdb \ | ||
| 6 | ip=dhcp console=ttyS0,115200 memmap=16M$0xf7000000 \ | ||
| 7 | mem=4080M max_addr=f6ffffff | ||
| 8 | |||
| 9 | This ports the https://www.cvg.de/people/ensc/0001-added-noipconfig-option.patch | ||
| 10 | change to connman_1.25. In http://patchwork.openembedded.org/patch/57539/ that | ||
| 11 | change is considered too intrusive and specific to be upstreamed. | ||
| 12 | |||
| 13 | Signed-off-by: George Nita <george.nita@enea.com> | ||
| 14 | Upstream-Status: Not Applicable | ||
| 15 | |||
| 16 | |||
| 17 | diff --git a/src/connman.h b/src/connman.h | ||
| 18 | index db6461f..8f4f4d0 100644 | ||
| 19 | --- a/src/connman.h | ||
| 20 | +++ b/src/connman.h | ||
| 21 | @@ -544,7 +544,8 @@ void __connman_technology_notify_regdom_by_device(struct connman_device *device, | ||
| 22 | |||
| 23 | #include <connman/device.h> | ||
| 24 | |||
| 25 | -int __connman_device_init(const char *device, const char *nodevice); | ||
| 26 | +int __connman_device_init(const char *device, const char *nodevice, | ||
| 27 | + const char *noipconfig); | ||
| 28 | void __connman_device_cleanup(void); | ||
| 29 | |||
| 30 | void __connman_device_list(DBusMessageIter *iter, void *user_data); | ||
| 31 | diff --git a/src/device.c b/src/device.c | ||
| 32 | index c0683ab..6582c51 100644 | ||
| 33 | --- a/src/device.c | ||
| 34 | +++ b/src/device.c | ||
| 35 | @@ -37,6 +37,7 @@ | ||
| 36 | static GSList *device_list = NULL; | ||
| 37 | static gchar **device_filter = NULL; | ||
| 38 | static gchar **nodevice_filter = NULL; | ||
| 39 | +static gchar **noipconfig_filter = NULL; | ||
| 40 | |||
| 41 | enum connman_pending_type { | ||
| 42 | PENDING_NONE = 0, | ||
| 43 | @@ -1314,6 +1315,20 @@ done: | ||
| 44 | return device; | ||
| 45 | } | ||
| 46 | |||
| 47 | +static bool __connman_device_noipconfig(const char *devname) | ||
| 48 | +{ | ||
| 49 | + char **pattern; | ||
| 50 | + | ||
| 51 | + for (pattern = noipconfig_filter; *pattern; pattern++) { | ||
| 52 | + if (g_pattern_match_simple(*pattern, devname) == TRUE) { | ||
| 53 | + DBG("do not configure device %s", devname); | ||
| 54 | + return TRUE; | ||
| 55 | + } | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + return FALSE; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | bool __connman_device_isfiltered(const char *devname) | ||
| 62 | { | ||
| 63 | char **pattern; | ||
| 64 | @@ -1403,6 +1418,9 @@ static void cleanup_devices(void) | ||
| 65 | if (index < 0) | ||
| 66 | continue; | ||
| 67 | |||
| 68 | + if (__connman_device_noipconfig(interfaces[i])) | ||
| 69 | + __connman_inet_disable_index(index); | ||
| 70 | + | ||
| 71 | if (!__connman_inet_get_address_netmask(index, &sin_addr, | ||
| 72 | &sin_mask)) { | ||
| 73 | char *address = g_strdup(inet_ntoa(sin_addr.sin_addr)); | ||
| 74 | @@ -1435,7 +1453,8 @@ static void cleanup_devices(void) | ||
| 75 | g_strfreev(interfaces); | ||
| 76 | } | ||
| 77 | |||
| 78 | -int __connman_device_init(const char *device, const char *nodevice) | ||
| 79 | +int __connman_device_init(const char *device, const char *nodevice, | ||
| 80 | + const char *noipconfig) | ||
| 81 | { | ||
| 82 | DBG(""); | ||
| 83 | |||
| 84 | @@ -1445,6 +1464,9 @@ int __connman_device_init(const char *device, const char *nodevice) | ||
| 85 | if (nodevice) | ||
| 86 | nodevice_filter = g_strsplit(nodevice, ",", -1); | ||
| 87 | |||
| 88 | + if (noipconfig != NULL) | ||
| 89 | + noipconfig_filter = g_strsplit(noipconfig, ",", -1); | ||
| 90 | + | ||
| 91 | cleanup_devices(); | ||
| 92 | |||
| 93 | return 0; | ||
| 94 | diff --git a/src/inet.c b/src/inet.c | ||
| 95 | index fb37143..d1f2c2f 100644 | ||
| 96 | --- a/src/inet.c | ||
| 97 | +++ b/src/inet.c | ||
| 98 | @@ -55,6 +55,45 @@ | ||
| 99 | ((struct rtattr *) (((uint8_t*) (nmsg)) + \ | ||
| 100 | NLMSG_ALIGN((nmsg)->nlmsg_len))) | ||
| 101 | |||
| 102 | +static GHashTable *g_disabled_indices; | ||
| 103 | + | ||
| 104 | +static guint g_intptr_hash(gconstpointer p) | ||
| 105 | +{ | ||
| 106 | + uintptr_t v = (uintptr_t)p; | ||
| 107 | + return g_int_hash(&v); | ||
| 108 | +} | ||
| 109 | + | ||
| 110 | +static gboolean g_intptr_equal(gconstpointer p1, | ||
| 111 | + gconstpointer p2) | ||
| 112 | +{ | ||
| 113 | + uintptr_t v1 = (uintptr_t)p1; | ||
| 114 | + uintptr_t v2 = (uintptr_t)p2; | ||
| 115 | + | ||
| 116 | + return g_int_equal(&v1, &v2); | ||
| 117 | +} | ||
| 118 | + | ||
| 119 | +void __connman_inet_disable_index(int index) | ||
| 120 | +{ | ||
| 121 | + connman_info("disabling interface #%d for ipconfig", index); | ||
| 122 | + | ||
| 123 | + if (g_disabled_indices == NULL) | ||
| 124 | + g_disabled_indices = g_hash_table_new_full(g_intptr_hash, | ||
| 125 | + g_intptr_equal, | ||
| 126 | + NULL, NULL); | ||
| 127 | + | ||
| 128 | + g_hash_table_add(g_disabled_indices, (void *)index); | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | +static bool __connman_inet_is_disabled_index(int index) | ||
| 132 | +{ | ||
| 133 | + bool rc; | ||
| 134 | + | ||
| 135 | + rc = (g_disabled_indices != NULL && | ||
| 136 | + g_hash_table_contains(g_disabled_indices, (void *)index)); | ||
| 137 | + | ||
| 138 | + return rc; | ||
| 139 | +} | ||
| 140 | + | ||
| 141 | int __connman_inet_rtnl_addattr_l(struct nlmsghdr *n, size_t max_length, | ||
| 142 | int type, const void *data, size_t data_length) | ||
| 143 | { | ||
| 144 | @@ -98,6 +137,11 @@ int __connman_inet_modify_address(int cmd, int flags, | ||
| 145 | "prefixlen %hhu broadcast %s", cmd, flags, index, family, | ||
| 146 | address, peer, prefixlen, broadcast); | ||
| 147 | |||
| 148 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 149 | + connman_info("index disabled; skipping %s", __func__); | ||
| 150 | + return 0; | ||
| 151 | + } | ||
| 152 | + | ||
| 153 | if (!address) | ||
| 154 | return -EINVAL; | ||
| 155 | |||
| 156 | @@ -275,6 +319,11 @@ int connman_inet_ifup(int index) | ||
| 157 | struct ifreq ifr; | ||
| 158 | int sk, err; | ||
| 159 | |||
| 160 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 161 | + connman_info("index disabled; skipping %s", __func__); | ||
| 162 | + return 0; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 166 | if (sk < 0) | ||
| 167 | return -errno; | ||
| 168 | @@ -318,6 +367,11 @@ int connman_inet_ifdown(int index) | ||
| 169 | struct sockaddr_in *addr; | ||
| 170 | int sk, err; | ||
| 171 | |||
| 172 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 173 | + connman_info("index disabled; skipping %s", __func__); | ||
| 174 | + return 0; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 178 | if (sk < 0) | ||
| 179 | return -errno; | ||
| 180 | @@ -519,6 +573,11 @@ int connman_inet_add_network_route(int index, const char *host, | ||
| 181 | DBG("index %d host %s gateway %s netmask %s", index, | ||
| 182 | host, gateway, netmask); | ||
| 183 | |||
| 184 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 185 | + connman_info("index disabled; skipping %s", __func__); | ||
| 186 | + return 0; | ||
| 187 | + } | ||
| 188 | + | ||
| 189 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 190 | if (sk < 0) { | ||
| 191 | err = -errno; | ||
| 192 | @@ -589,6 +648,11 @@ int connman_inet_del_network_route(int index, const char *host) | ||
| 193 | |||
| 194 | DBG("index %d host %s", index, host); | ||
| 195 | |||
| 196 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 197 | + connman_info("index disabled; skipping %s", __func__); | ||
| 198 | + return 0; | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 202 | if (sk < 0) { | ||
| 203 | err = -errno; | ||
| 204 | @@ -637,6 +701,11 @@ int connman_inet_del_ipv6_network_route(int index, const char *host, | ||
| 205 | |||
| 206 | DBG("index %d host %s", index, host); | ||
| 207 | |||
| 208 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 209 | + connman_info("index disabled; skipping %s", __func__); | ||
| 210 | + return 0; | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | if (!host) | ||
| 214 | return -EINVAL; | ||
| 215 | |||
| 216 | @@ -687,6 +756,11 @@ int connman_inet_add_ipv6_network_route(int index, const char *host, | ||
| 217 | |||
| 218 | DBG("index %d host %s gateway %s", index, host, gateway); | ||
| 219 | |||
| 220 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 221 | + connman_info("index disabled; skipping %s", __func__); | ||
| 222 | + return 0; | ||
| 223 | + } | ||
| 224 | + | ||
| 225 | if (!host) | ||
| 226 | return -EINVAL; | ||
| 227 | |||
| 228 | @@ -741,6 +815,11 @@ int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway) | ||
| 229 | |||
| 230 | DBG("index %d gateway %s", index, gateway); | ||
| 231 | |||
| 232 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 233 | + connman_info("index disabled; skipping clear_ipv6_gateway operation"); | ||
| 234 | + return 0; | ||
| 235 | + } | ||
| 236 | + | ||
| 237 | if (!gateway) | ||
| 238 | return -EINVAL; | ||
| 239 | |||
| 240 | @@ -784,6 +863,11 @@ int connman_inet_set_gateway_interface(int index) | ||
| 241 | |||
| 242 | DBG("index %d", index); | ||
| 243 | |||
| 244 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 245 | + connman_info("index disabled; skipping %s", __func__); | ||
| 246 | + return 0; | ||
| 247 | + } | ||
| 248 | + | ||
| 249 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 250 | if (sk < 0) { | ||
| 251 | err = -errno; | ||
| 252 | @@ -837,6 +921,11 @@ int connman_inet_set_ipv6_gateway_interface(int index) | ||
| 253 | |||
| 254 | DBG("index %d", index); | ||
| 255 | |||
| 256 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 257 | + connman_info("index disabled; skipping %s", __func__); | ||
| 258 | + return 0; | ||
| 259 | + } | ||
| 260 | + | ||
| 261 | sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 262 | if (sk < 0) { | ||
| 263 | err = -errno; | ||
| 264 | @@ -889,6 +978,11 @@ int connman_inet_clear_gateway_address(int index, const char *gateway) | ||
| 265 | |||
| 266 | DBG("index %d gateway %s", index, gateway); | ||
| 267 | |||
| 268 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 269 | + connman_info("index disabled; skipping %s", __func__); | ||
| 270 | + return 0; | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 274 | if (sk < 0) { | ||
| 275 | err = -errno; | ||
| 276 | @@ -946,6 +1040,11 @@ int connman_inet_clear_gateway_interface(int index) | ||
| 277 | |||
| 278 | DBG("index %d", index); | ||
| 279 | |||
| 280 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 281 | + connman_info("index disabled; skipping %s", __func__); | ||
| 282 | + return 0; | ||
| 283 | + } | ||
| 284 | + | ||
| 285 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 286 | if (sk < 0) { | ||
| 287 | err = -errno; | ||
| 288 | @@ -999,6 +1098,11 @@ int connman_inet_clear_ipv6_gateway_interface(int index) | ||
| 289 | |||
| 290 | DBG("index %d", index); | ||
| 291 | |||
| 292 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 293 | + connman_info("index disabled; skipping %s", __func__); | ||
| 294 | + return 0; | ||
| 295 | + } | ||
| 296 | + | ||
| 297 | sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 298 | if (sk < 0) { | ||
| 299 | err = -errno; | ||
| 300 | @@ -1059,6 +1163,11 @@ bool connman_inet_compare_subnet(int index, const char *host) | ||
| 301 | return -1; | ||
| 302 | host_addr = _host_addr.s_addr; | ||
| 303 | |||
| 304 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 305 | + connman_info("index disabled; skipping %s", __func__); | ||
| 306 | + return 0; | ||
| 307 | + } | ||
| 308 | + | ||
| 309 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 310 | if (sk < 0) | ||
| 311 | return false; | ||
| 312 | @@ -1159,6 +1268,11 @@ int connman_inet_set_mtu(int index, int mtu) | ||
| 313 | struct ifreq ifr; | ||
| 314 | int sk, err; | ||
| 315 | |||
| 316 | + if (__connman_inet_is_disabled_index(index)) { | ||
| 317 | + connman_info("index disabled; skipping %s", __func__); | ||
| 318 | + return 0; | ||
| 319 | + } | ||
| 320 | + | ||
| 321 | sk = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
| 322 | if (sk < 0) | ||
| 323 | return sk; | ||
| 324 | diff --git a/src/main.c b/src/main.c | ||
| 325 | index 7cf6c9a..e06f25c 100644 | ||
| 326 | --- a/src/main.c | ||
| 327 | +++ b/src/main.c | ||
| 328 | @@ -453,6 +453,7 @@ static gchar *option_debug = NULL; | ||
| 329 | static gchar *option_device = NULL; | ||
| 330 | static gchar *option_plugin = NULL; | ||
| 331 | static gchar *option_nodevice = NULL; | ||
| 332 | +static gchar *option_noipconfig = NULL; | ||
| 333 | static gchar *option_noplugin = NULL; | ||
| 334 | static gchar *option_wifi = NULL; | ||
| 335 | static gboolean option_detach = TRUE; | ||
| 336 | @@ -482,6 +483,8 @@ static GOptionEntry options[] = { | ||
| 337 | "Specify networking device or interface", "DEV" }, | ||
| 338 | { "nodevice", 'I', 0, G_OPTION_ARG_STRING, &option_nodevice, | ||
| 339 | "Specify networking interface to ignore", "DEV" }, | ||
| 340 | + { "noipconfig", 0, 0, G_OPTION_ARG_STRING, &option_noipconfig, | ||
| 341 | + "Specify networking interface which shall not be configured", "DEV" }, | ||
| 342 | { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, | ||
| 343 | "Specify plugins to load", "NAME,..." }, | ||
| 344 | { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, | ||
| 345 | @@ -648,7 +651,7 @@ int main(int argc, char *argv[]) | ||
| 346 | __connman_provider_init(); | ||
| 347 | __connman_network_init(); | ||
| 348 | __connman_config_init(); | ||
| 349 | - __connman_device_init(option_device, option_nodevice); | ||
| 350 | + __connman_device_init(option_device, option_nodevice, option_noipconfig); | ||
| 351 | |||
| 352 | __connman_ippool_init(); | ||
| 353 | __connman_iptables_init(); | ||
diff --git a/recipes-connectivity/connman/files/connman b/recipes-connectivity/connman/files/connman new file mode 100644 index 0000000..a7b7c7b --- /dev/null +++ b/recipes-connectivity/connman/files/connman | |||
| @@ -0,0 +1,83 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | DAEMON=/usr/sbin/connmand | ||
| 4 | PIDFILE=/var/run/connmand.pid | ||
| 5 | DESC="Connection Manager" | ||
| 6 | |||
| 7 | if [ -f /etc/default/connman ] ; then | ||
| 8 | . /etc/default/connman | ||
| 9 | fi | ||
| 10 | |||
| 11 | set -e | ||
| 12 | |||
| 13 | nfsroot=0 | ||
| 14 | |||
| 15 | exec 9<&0 < /proc/mounts | ||
| 16 | while read dev mtpt fstype rest; do | ||
| 17 | if test $mtpt = "/" ; then | ||
| 18 | case $fstype in | ||
| 19 | nfs | nfs4) | ||
| 20 | nfsroot=1 | ||
| 21 | break | ||
| 22 | ;; | ||
| 23 | *) | ||
| 24 | ;; | ||
| 25 | esac | ||
| 26 | fi | ||
| 27 | done | ||
| 28 | |||
| 29 | do_start() { | ||
| 30 | EXTRA_PARAM="" | ||
| 31 | if test $nfsroot -eq 1 ; then | ||
| 32 | NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'` | ||
| 33 | NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'` | ||
| 34 | |||
| 35 | if [ ! -z "$NET_ADDR" ]; then | ||
| 36 | if [ "$NET_ADDR" = dhcp ]; then | ||
| 37 | ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"` | ||
| 38 | if [ ! -z "$ethn" ]; then | ||
| 39 | EXTRA_PARAM="--noipconfig $ethn" | ||
| 40 | fi | ||
| 41 | else | ||
| 42 | for i in $NET_DEVS; do | ||
| 43 | ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` | ||
| 44 | if [ "$NET_ADDR" = "$ADDR" ]; then | ||
| 45 | EXTRA_PARAM="--noipconfig $i" | ||
| 46 | break | ||
| 47 | fi | ||
| 48 | done | ||
| 49 | fi | ||
| 50 | fi | ||
| 51 | fi | ||
| 52 | if [ -f @LIBDIR@/connman/wired-setup ] ; then | ||
| 53 | . @LIBDIR@/connman/wired-setup | ||
| 54 | fi | ||
| 55 | $DAEMON $EXTRA_PARAM | ||
| 56 | } | ||
| 57 | |||
| 58 | do_stop() { | ||
| 59 | start-stop-daemon --stop --name connmand --quiet | ||
| 60 | } | ||
| 61 | |||
| 62 | case "$1" in | ||
| 63 | start) | ||
| 64 | echo "Starting $DESC" | ||
| 65 | do_start | ||
| 66 | ;; | ||
| 67 | stop) | ||
| 68 | echo "Stopping $DESC" | ||
| 69 | do_stop | ||
| 70 | ;; | ||
| 71 | restart|force-reload) | ||
| 72 | echo "Restarting $DESC" | ||
| 73 | do_stop | ||
| 74 | sleep 1 | ||
| 75 | do_start | ||
| 76 | ;; | ||
| 77 | *) | ||
| 78 | echo "Usage: $0 {start|stop|restart|force-reload}" >&2 | ||
| 79 | exit 1 | ||
| 80 | ;; | ||
| 81 | esac | ||
| 82 | |||
| 83 | exit 0 | ||
diff --git a/recipes-core/busybox/busybox_1.22.1.bbappend b/recipes-core/busybox/busybox_1.22.1.bbappend new file mode 100644 index 0000000..7b61cf9 --- /dev/null +++ b/recipes-core/busybox/busybox_1.22.1.bbappend | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | do_prepare_config_append () { | ||
| 2 | sed -i -e 's/# CONFIG_CHRT is not set/CONFIG_CHRT=y/' .config | ||
| 3 | sed -i -e 's/# CONFIG_TASKSET is not set/CONFIG_TASKSET=y/' .config | ||
| 4 | sed -i -e 's/# CONFIG_FEATURE_TASKSET_FANCY is not set/CONFIG_FEATURE_TASKSET_FANCY=y/' .config | ||
| 5 | sed -i -e 's/# CONFIG_HTTPD is not set/CONFIG_HTTPD=y/' .config | ||
| 6 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_RANGES is not set/CONFIG_FEATURE_HTTPD_RANGES=y/' .config | ||
| 7 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set/CONFIG_FEATURE_HTTPD_USE_SENDFILE=y/' .config | ||
| 8 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_SETUID is not set/CONFIG_FEATURE_HTTPD_SETUID=y/' .config | ||
| 9 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set/CONFIG_FEATURE_HTTPD_BASIC_AUTH=y/' .config | ||
| 10 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set/CONFIG_FEATURE_HTTPD_AUTH_MD5=y/' .config | ||
| 11 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_CGI is not set/CONFIG_FEATURE_HTTPD_CGI=y/' .config | ||
| 12 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set/CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y/' .config | ||
| 13 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set/CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y/' .config | ||
| 14 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set/CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y/' .config | ||
| 15 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set/CONFIG_FEATURE_HTTPD_ERROR_PAGES=y/' .config | ||
| 16 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_PROXY is not set/CONFIG_FEATURE_HTTPD_PROXY=y/' .config | ||
| 17 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_GZIP is not set/CONFIG_FEATURE_HTTPD_GZIP=y/' .config | ||
| 18 | sed -i -e 's/# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set/CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y/' .config | ||
| 19 | } | ||
diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend new file mode 100644 index 0000000..590b4f1 --- /dev/null +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend | |||
| @@ -0,0 +1 @@ | |||
| RDEPENDS_${PN} += "nativesdk-e2fsprogs nativesdk-u-boot-mkimage" | |||
diff --git a/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend new file mode 100644 index 0000000..f939bbf --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend | |||
| @@ -0,0 +1 @@ | |||
| RDEPENDS_${PN} += "libstdc++-staticdev glibc-staticdev" | |||
diff --git a/recipes-core/packagegroups/packagegroup-enea-bench.bb b/recipes-core/packagegroups/packagegroup-enea-bench.bb new file mode 100644 index 0000000..f536bbc --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-bench.bb | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | DESCRIPTION = "Package group for benchmarking test" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
| 4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | inherit packagegroup | ||
| 8 | |||
| 9 | RDEPENDS_${PN} = "\ | ||
| 10 | " | ||
| 11 | |||
| 12 | RRECOMMENDS_${PN} = "\ | ||
| 13 | benchtest-runner \ | ||
| 14 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-core-boot.bb b/recipes-core/packagegroups/packagegroup-enea-core-boot.bb new file mode 100644 index 0000000..d0836ae --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-core-boot.bb | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | # | ||
| 2 | # Copyright (C) 2007 OpenedHand Ltd. | ||
| 3 | # | ||
| 4 | |||
| 5 | SUMMARY = "Minimal boot requirements" | ||
| 6 | DESCRIPTION = "The minimal and busybox set of packages required to boot the system" | ||
| 7 | LICENSE = "MIT" | ||
| 8 | DEPENDS = "virtual/kernel" | ||
| 9 | PR = "r11" | ||
| 10 | |||
| 11 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 12 | |||
| 13 | inherit packagegroup | ||
| 14 | |||
| 15 | # | ||
| 16 | # Set by the machine configuration with packages essential for device bootup | ||
| 17 | # | ||
| 18 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" | ||
| 19 | MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" | ||
| 20 | |||
| 21 | # For backwards compatibility after rename | ||
| 22 | RPROVIDES_${PN} = "task-core-boot" | ||
| 23 | RREPLACES_${PN} = "task-core-boot" | ||
| 24 | RCONFLICTS_${PN} = "task-core-boot" | ||
| 25 | |||
| 26 | # Distro can override the following VIRTUAL-RUNTIME providers: | ||
| 27 | VIRTUAL-RUNTIME_dev_manager ?= "udev" | ||
| 28 | VIRTUAL-RUNTIME_login_manager ?= "busybox" | ||
| 29 | VIRTUAL-RUNTIME_init_manager ?= "sysvinit" | ||
| 30 | VIRTUAL-RUNTIME_initscripts ?= "initscripts" | ||
| 31 | VIRTUAL-RUNTIME_keymaps ?= "keymaps" | ||
| 32 | |||
| 33 | RDEPENDS_${PN} += "\ | ||
| 34 | base-files \ | ||
| 35 | base-passwd \ | ||
| 36 | ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ | ||
| 37 | modutils-initscripts \ | ||
| 38 | netbase \ | ||
| 39 | init-ifupdown \ | ||
| 40 | ${VIRTUAL-RUNTIME_login_manager} \ | ||
| 41 | ${VIRTUAL-RUNTIME_init_manager} \ | ||
| 42 | ${VIRTUAL-RUNTIME_initscripts} \ | ||
| 43 | ${VIRTUAL-RUNTIME_dev_manager} \ | ||
| 44 | ${VIRTUAL-RUNTIME_update-alternatives} \ | ||
| 45 | ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}" | ||
| 46 | |||
| 47 | RDEPENDS_${PN}_append_fslmachine = " u-boot" | ||
| 48 | RDEPENDS_${PN}_append_p2041 = " fm-ucode rcw" | ||
| 49 | RDEPENDS_${PN}_append_p4080 = " fm-ucode rcw" | ||
| 50 | RDEPENDS_${PN} += "\ | ||
| 51 | busybox \ | ||
| 52 | ${@base_contains("MACHINE_FEATURES", "rtc", "busybox-hwclock", "", d)} \ | ||
| 53 | " | ||
| 54 | |||
| 55 | RDEPENDS_${PN}_append_x86 = "\ | ||
| 56 | kernel-vmlinux \ | ||
| 57 | kernel \ | ||
| 58 | " | ||
| 59 | RDEPENDS_${PN}_append_x86-64 = "\ | ||
| 60 | kernel-vmlinux \ | ||
| 61 | kernel \ | ||
| 62 | " | ||
| 63 | |||
| 64 | RRECOMMENDS_${PN} = "\ | ||
| 65 | ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}" | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-ddt.bb b/recipes-core/packagegroups/packagegroup-enea-ddt.bb new file mode 100644 index 0000000..3116b4b --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-ddt.bb | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | DESCRIPTION = "Package group for driver test" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
| 4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | inherit packagegroup | ||
| 8 | |||
| 9 | RDEPENDS_${PN} = "\ | ||
| 10 | hdparm \ | ||
| 11 | rt-tests \ | ||
| 12 | i2c-tools \ | ||
| 13 | mtd-utils \ | ||
| 14 | net-tools \ | ||
| 15 | pciutils \ | ||
| 16 | usbutils \ | ||
| 17 | watchdog \ | ||
| 18 | " | ||
| 19 | |||
| 20 | RRECOMMENDS_${PN} = "\ | ||
| 21 | ddt-runner \ | ||
| 22 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-debug.bb b/recipes-core/packagegroups/packagegroup-enea-debug.bb new file mode 100644 index 0000000..b1d386b --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-debug.bb | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | DESCRIPTION = "Tools package group for OE-Core" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
| 4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | PACKAGES = "\ | ||
| 8 | ${PN} \ | ||
| 9 | ${PN}-dbg \ | ||
| 10 | ${PN}-dev \ | ||
| 11 | " | ||
| 12 | |||
| 13 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 14 | |||
| 15 | ALLOW_EMPTY_${PN} = "1" | ||
| 16 | |||
| 17 | # systemtap needs elfutils which is not fully buildable on uclibc | ||
| 18 | # hence we exclude it from uclibc based builds | ||
| 19 | SYSTEMTAP = "systemtap" | ||
| 20 | SYSTEMTAP_libc-uclibc = "" | ||
| 21 | |||
| 22 | # kexec-tools doesn't work on Mips | ||
| 23 | KEXECTOOLS ?= "kexec-tools" | ||
| 24 | KEXECTOOLS_mips ?= "" | ||
| 25 | KEXECTOOLS_mipsel ?= "" | ||
| 26 | # No need to remove kexec-tools from powerpc | ||
| 27 | #KEXECTOOLS_powerpc ?= "" | ||
| 28 | |||
| 29 | RDEPENDS_${PN} = "\ | ||
| 30 | gdb \ | ||
| 31 | gdbserver \ | ||
| 32 | rsync \ | ||
| 33 | strace \ | ||
| 34 | ${SYSTEMTAP} \ | ||
| 35 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-ptest.bb b/recipes-core/packagegroups/packagegroup-enea-ptest.bb new file mode 100644 index 0000000..f319469 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-ptest.bb | |||
| @@ -0,0 +1,118 @@ | |||
| 1 | DESCRIPTION = "Ptest package group" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
| 4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | inherit packagegroup | ||
| 8 | |||
| 9 | ENEA_DAEMONS = " \ | ||
| 10 | at \ | ||
| 11 | cronie \ | ||
| 12 | " | ||
| 13 | |||
| 14 | ENEA_DATABASE = " \ | ||
| 15 | sqlite3 \ | ||
| 16 | " | ||
| 17 | |||
| 18 | ENEA_TRACE = " \ | ||
| 19 | babeltrace \ | ||
| 20 | ${VALGRIND} \ | ||
| 21 | " | ||
| 22 | |||
| 23 | VALGRIND ?= "" | ||
| 24 | VALGRIND_powerpc ?= "valgrind" | ||
| 25 | VALGRIND_e500v2 ?= "" | ||
| 26 | VALGRIND_x86 ?= "valgrind" | ||
| 27 | VALGRIND_x86_64 ?= "valgrind" | ||
| 28 | VALGRIND_armv7a ?= "valgrind" | ||
| 29 | |||
| 30 | ENEA_DEV = " \ | ||
| 31 | glibc-locale \ | ||
| 32 | " | ||
| 33 | |||
| 34 | ENEA_DEVICE = " \ | ||
| 35 | libusb1-dbg \ | ||
| 36 | libusb-compat-dbg \ | ||
| 37 | usbutils \ | ||
| 38 | " | ||
| 39 | |||
| 40 | ENEA_FSYS = " \ | ||
| 41 | acl \ | ||
| 42 | pramfs-init \ | ||
| 43 | " | ||
| 44 | |||
| 45 | ENEA_HIGHAVA = " \ | ||
| 46 | kexec \ | ||
| 47 | kexec-tools \ | ||
| 48 | " | ||
| 49 | |||
| 50 | ENEA_LIBS = " \ | ||
| 51 | gettext \ | ||
| 52 | gettext-runtime \ | ||
| 53 | libstdc++ \ | ||
| 54 | libuio \ | ||
| 55 | zlib \ | ||
| 56 | " | ||
| 57 | |||
| 58 | ENEA_MESSAGING = " \ | ||
| 59 | dbus \ | ||
| 60 | " | ||
| 61 | |||
| 62 | ENEA_SCRIPTING = " \ | ||
| 63 | tcl \ | ||
| 64 | python \ | ||
| 65 | " | ||
| 66 | |||
| 67 | ENEA_SECURITY = " \ | ||
| 68 | openssl" | ||
| 69 | |||
| 70 | ENEA_SHELL = " \ | ||
| 71 | ncurses" | ||
| 72 | |||
| 73 | ENEA_UTILS = " \ | ||
| 74 | bc \ | ||
| 75 | bonnie++ \ | ||
| 76 | expat \ | ||
| 77 | " | ||
| 78 | |||
| 79 | ENEA_GPL ?= " \ | ||
| 80 | linx \ | ||
| 81 | linx-mod \ | ||
| 82 | " | ||
| 83 | ENEA_BSD = " \ | ||
| 84 | partrt \ | ||
| 85 | " | ||
| 86 | |||
| 87 | ENEA_GPL_qemux86 = "" | ||
| 88 | ENEA_GPL_qemuppc = "" | ||
| 89 | ENEA_GPL_armv5 = "" | ||
| 90 | ENEA_GPL_armv7a = "" | ||
| 91 | ENEA_GPL_aarch64 = "" | ||
| 92 | |||
| 93 | RDEPENDS_${PN} = " \ | ||
| 94 | ${ENEA_DAEMONS} \ | ||
| 95 | ${ENEA_DATABASE} \ | ||
| 96 | ${ENEA_TRACE} \ | ||
| 97 | ${ENEA_DEV} \ | ||
| 98 | ${ENEA_DEVICE} \ | ||
| 99 | ${ENEA_FSYS} \ | ||
| 100 | ${ENEA_HIGHAVA} \ | ||
| 101 | ${ENEA_LIBS} \ | ||
| 102 | ${ENEA_MESSAGING} \ | ||
| 103 | ${ENEA_SCRIPTING} \ | ||
| 104 | ${ENEA_SECURITY} \ | ||
| 105 | ${ENEA_SHELL} \ | ||
| 106 | ${ENEA_UTILS} \ | ||
| 107 | ${ENEA_GPL} \ | ||
| 108 | ${ENEA_BSD} \ | ||
| 109 | ethtool \ | ||
| 110 | libxml2 \ | ||
| 111 | gdb \ | ||
| 112 | elfutils \ | ||
| 113 | " | ||
| 114 | |||
| 115 | |||
| 116 | RRECOMMENDS_${PN} = " \ | ||
| 117 | ptest-runner \ | ||
| 118 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb b/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb new file mode 100644 index 0000000..7515ed4 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | DESCRIPTION = "Enea RT-tools package group" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
| 4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | PR = "r1" | ||
| 6 | |||
| 7 | inherit packagegroup | ||
| 8 | |||
| 9 | RDEPENDS_${PN} = " \ | ||
| 10 | partrt \ | ||
| 11 | count-ticks \ | ||
| 12 | list2mask \ | ||
| 13 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-sys.bb b/recipes-core/packagegroups/packagegroup-enea-sys.bb new file mode 100644 index 0000000..9ec9756 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-sys.bb | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | DESCRIPTION = "Package group for system test" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
| 4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | inherit packagegroup | ||
| 8 | |||
| 9 | RDEPENDS_${PN} = "\ | ||
| 10 | ltp \ | ||
| 11 | logrotate \ | ||
| 12 | sudo \ | ||
| 13 | " | ||
| 14 | |||
| 15 | RRECOMMENDS_${PN} = "\ | ||
| 16 | systest-runner \ | ||
| 17 | perf-networking \ | ||
| 18 | " | ||
diff --git a/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend new file mode 100644 index 0000000..4fd3c00 --- /dev/null +++ b/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | do_install_append(){ | ||
| 2 | chmod o+x ${D}${base_sbindir}/shutdown | ||
| 3 | } | ||
diff --git a/recipes-devtools/binutils/binutils-2.24.inc b/recipes-devtools/binutils/binutils-2.24.inc new file mode 100644 index 0000000..3a1186c --- /dev/null +++ b/recipes-devtools/binutils/binutils-2.24.inc | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
| 2 | |||
| 3 | SRC_URI += "\ | ||
| 4 | file://0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch \ | ||
| 5 | " | ||
| 6 | |||
diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend | |||
| @@ -0,0 +1 @@ | |||
| require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/binutils-cross_2.24.bbappend b/recipes-devtools/binutils/binutils-cross_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-cross_2.24.bbappend | |||
| @@ -0,0 +1 @@ | |||
| require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend | |||
| @@ -0,0 +1 @@ | |||
| require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/binutils_2.24.bbappend b/recipes-devtools/binutils/binutils_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils_2.24.bbappend | |||
| @@ -0,0 +1 @@ | |||
| require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch new file mode 100644 index 0000000..bda760f --- /dev/null +++ b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch | |||
| @@ -0,0 +1,1087 @@ | |||
| 1 | From 269bee7df1abfdc230f1ed6a6de3150adffde962 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> | ||
| 3 | Date: Fri, 11 Apr 2014 16:15:36 +0300 | ||
| 4 | Subject: [PATCH] Revert 'Report overflow on PowerPC64 @h and @ha | ||
| 5 | relocations.' patch | ||
| 6 | |||
| 7 | --- | ||
| 8 | bfd/elf64-ppc.c | 183 +++++++++------------------------------------------ | ||
| 9 | bfd/reloc.c | 12 ---- | ||
| 10 | elfcpp/powerpc.h | 6 -- | ||
| 11 | gas/config/tc-ppc.c | 139 ++++++++++---------------------------- | ||
| 12 | gold/powerpc.cc | 130 +++++++++++------------------------- | ||
| 13 | include/elf/ppc64.h | 13 +--- | ||
| 14 | 6 files changed, 109 insertions(+), 374 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c | ||
| 17 | index bf13a5d..ba3c655 100644 | ||
| 18 | --- a/bfd/elf64-ppc.c | ||
| 19 | +++ b/bfd/elf64-ppc.c | ||
| 20 | @@ -327,7 +327,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 21 | 16, /* bitsize */ | ||
| 22 | FALSE, /* pc_relative */ | ||
| 23 | 0, /* bitpos */ | ||
| 24 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 25 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 26 | bfd_elf_generic_reloc, /* special_function */ | ||
| 27 | "R_PPC64_ADDR16_HI", /* name */ | ||
| 28 | FALSE, /* partial_inplace */ | ||
| 29 | @@ -343,7 +343,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 30 | 16, /* bitsize */ | ||
| 31 | FALSE, /* pc_relative */ | ||
| 32 | 0, /* bitpos */ | ||
| 33 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 34 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 35 | ppc64_elf_ha_reloc, /* special_function */ | ||
| 36 | "R_PPC64_ADDR16_HA", /* name */ | ||
| 37 | FALSE, /* partial_inplace */ | ||
| 38 | @@ -505,7 +505,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 39 | 16, /* bitsize */ | ||
| 40 | FALSE, /* pc_relative */ | ||
| 41 | 0, /* bitpos */ | ||
| 42 | - complain_overflow_signed,/* complain_on_overflow */ | ||
| 43 | + complain_overflow_dont,/* complain_on_overflow */ | ||
| 44 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 45 | "R_PPC64_GOT16_HI", /* name */ | ||
| 46 | FALSE, /* partial_inplace */ | ||
| 47 | @@ -521,7 +521,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 48 | 16, /* bitsize */ | ||
| 49 | FALSE, /* pc_relative */ | ||
| 50 | 0, /* bitpos */ | ||
| 51 | - complain_overflow_signed,/* complain_on_overflow */ | ||
| 52 | + complain_overflow_dont,/* complain_on_overflow */ | ||
| 53 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 54 | "R_PPC64_GOT16_HA", /* name */ | ||
| 55 | FALSE, /* partial_inplace */ | ||
| 56 | @@ -698,7 +698,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 57 | 16, /* bitsize */ | ||
| 58 | FALSE, /* pc_relative */ | ||
| 59 | 0, /* bitpos */ | ||
| 60 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 61 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 62 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 63 | "R_PPC64_PLT16_HI", /* name */ | ||
| 64 | FALSE, /* partial_inplace */ | ||
| 65 | @@ -714,7 +714,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 66 | 16, /* bitsize */ | ||
| 67 | FALSE, /* pc_relative */ | ||
| 68 | 0, /* bitpos */ | ||
| 69 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 70 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 71 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 72 | "R_PPC64_PLT16_HA", /* name */ | ||
| 73 | FALSE, /* partial_inplace */ | ||
| 74 | @@ -759,7 +759,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 75 | 16, /* bitsize */ | ||
| 76 | FALSE, /* pc_relative */ | ||
| 77 | 0, /* bitpos */ | ||
| 78 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 79 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 80 | ppc64_elf_sectoff_reloc, /* special_function */ | ||
| 81 | "R_PPC64_SECTOFF_HI", /* name */ | ||
| 82 | FALSE, /* partial_inplace */ | ||
| 83 | @@ -774,7 +774,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 84 | 16, /* bitsize */ | ||
| 85 | FALSE, /* pc_relative */ | ||
| 86 | 0, /* bitpos */ | ||
| 87 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 88 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 89 | ppc64_elf_sectoff_ha_reloc, /* special_function */ | ||
| 90 | "R_PPC64_SECTOFF_HA", /* name */ | ||
| 91 | FALSE, /* partial_inplace */ | ||
| 92 | @@ -981,7 +981,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 93 | 16, /* bitsize */ | ||
| 94 | FALSE, /* pc_relative */ | ||
| 95 | 0, /* bitpos */ | ||
| 96 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 97 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 98 | ppc64_elf_toc_reloc, /* special_function */ | ||
| 99 | "R_PPC64_TOC16_HI", /* name */ | ||
| 100 | FALSE, /* partial_inplace */ | ||
| 101 | @@ -1000,7 +1000,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 102 | 16, /* bitsize */ | ||
| 103 | FALSE, /* pc_relative */ | ||
| 104 | 0, /* bitpos */ | ||
| 105 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 106 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 107 | ppc64_elf_toc_ha_reloc, /* special_function */ | ||
| 108 | "R_PPC64_TOC16_HA", /* name */ | ||
| 109 | FALSE, /* partial_inplace */ | ||
| 110 | @@ -1072,7 +1072,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 111 | 16, /* bitsize */ | ||
| 112 | FALSE, /* pc_relative */ | ||
| 113 | 0, /* bitpos */ | ||
| 114 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 115 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 116 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 117 | "R_PPC64_PLTGOT16_HI", /* name */ | ||
| 118 | FALSE, /* partial_inplace */ | ||
| 119 | @@ -1090,7 +1090,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 120 | 16, /* bitsize */ | ||
| 121 | FALSE, /* pc_relative */ | ||
| 122 | 0, /* bitpos */ | ||
| 123 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 124 | + complain_overflow_dont,/* complain_on_overflow */ | ||
| 125 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 126 | "R_PPC64_PLTGOT16_HA", /* name */ | ||
| 127 | FALSE, /* partial_inplace */ | ||
| 128 | @@ -1392,7 +1392,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 129 | 16, /* bitsize */ | ||
| 130 | FALSE, /* pc_relative */ | ||
| 131 | 0, /* bitpos */ | ||
| 132 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 133 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 134 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 135 | "R_PPC64_DTPREL16_HI", /* name */ | ||
| 136 | FALSE, /* partial_inplace */ | ||
| 137 | @@ -1407,7 +1407,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 138 | 16, /* bitsize */ | ||
| 139 | FALSE, /* pc_relative */ | ||
| 140 | 0, /* bitpos */ | ||
| 141 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 142 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 143 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 144 | "R_PPC64_DTPREL16_HA", /* name */ | ||
| 145 | FALSE, /* partial_inplace */ | ||
| 146 | @@ -1558,7 +1558,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 147 | 16, /* bitsize */ | ||
| 148 | FALSE, /* pc_relative */ | ||
| 149 | 0, /* bitpos */ | ||
| 150 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 151 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 152 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 153 | "R_PPC64_TPREL16_HI", /* name */ | ||
| 154 | FALSE, /* partial_inplace */ | ||
| 155 | @@ -1573,7 +1573,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 156 | 16, /* bitsize */ | ||
| 157 | FALSE, /* pc_relative */ | ||
| 158 | 0, /* bitpos */ | ||
| 159 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 160 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 161 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 162 | "R_PPC64_TPREL16_HA", /* name */ | ||
| 163 | FALSE, /* partial_inplace */ | ||
| 164 | @@ -1710,7 +1710,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 165 | 16, /* bitsize */ | ||
| 166 | FALSE, /* pc_relative */ | ||
| 167 | 0, /* bitpos */ | ||
| 168 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 169 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 170 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 171 | "R_PPC64_GOT_TLSGD16_HI", /* name */ | ||
| 172 | FALSE, /* partial_inplace */ | ||
| 173 | @@ -1725,7 +1725,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 174 | 16, /* bitsize */ | ||
| 175 | FALSE, /* pc_relative */ | ||
| 176 | 0, /* bitpos */ | ||
| 177 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 178 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 179 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 180 | "R_PPC64_GOT_TLSGD16_HA", /* name */ | ||
| 181 | FALSE, /* partial_inplace */ | ||
| 182 | @@ -1772,7 +1772,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 183 | 16, /* bitsize */ | ||
| 184 | FALSE, /* pc_relative */ | ||
| 185 | 0, /* bitpos */ | ||
| 186 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 187 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 188 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 189 | "R_PPC64_GOT_TLSLD16_HI", /* name */ | ||
| 190 | FALSE, /* partial_inplace */ | ||
| 191 | @@ -1787,7 +1787,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 192 | 16, /* bitsize */ | ||
| 193 | FALSE, /* pc_relative */ | ||
| 194 | 0, /* bitpos */ | ||
| 195 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 196 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 197 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 198 | "R_PPC64_GOT_TLSLD16_HA", /* name */ | ||
| 199 | FALSE, /* partial_inplace */ | ||
| 200 | @@ -1833,7 +1833,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 201 | 16, /* bitsize */ | ||
| 202 | FALSE, /* pc_relative */ | ||
| 203 | 0, /* bitpos */ | ||
| 204 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 205 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 206 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 207 | "R_PPC64_GOT_DTPREL16_HI", /* name */ | ||
| 208 | FALSE, /* partial_inplace */ | ||
| 209 | @@ -1848,7 +1848,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 210 | 16, /* bitsize */ | ||
| 211 | FALSE, /* pc_relative */ | ||
| 212 | 0, /* bitpos */ | ||
| 213 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 214 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 215 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 216 | "R_PPC64_GOT_DTPREL16_HA", /* name */ | ||
| 217 | FALSE, /* partial_inplace */ | ||
| 218 | @@ -1894,7 +1894,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 219 | 16, /* bitsize */ | ||
| 220 | FALSE, /* pc_relative */ | ||
| 221 | 0, /* bitpos */ | ||
| 222 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 223 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 224 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 225 | "R_PPC64_GOT_TPREL16_HI", /* name */ | ||
| 226 | FALSE, /* partial_inplace */ | ||
| 227 | @@ -1909,7 +1909,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 228 | 16, /* bitsize */ | ||
| 229 | FALSE, /* pc_relative */ | ||
| 230 | 0, /* bitpos */ | ||
| 231 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 232 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 233 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 234 | "R_PPC64_GOT_TPREL16_HA", /* name */ | ||
| 235 | FALSE, /* partial_inplace */ | ||
| 236 | @@ -1982,7 +1982,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 237 | 16, /* bitsize */ | ||
| 238 | TRUE, /* pc_relative */ | ||
| 239 | 0, /* bitpos */ | ||
| 240 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 241 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 242 | bfd_elf_generic_reloc, /* special_function */ | ||
| 243 | "R_PPC64_REL16_HI", /* name */ | ||
| 244 | FALSE, /* partial_inplace */ | ||
| 245 | @@ -1998,7 +1998,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 246 | 16, /* bitsize */ | ||
| 247 | TRUE, /* pc_relative */ | ||
| 248 | 0, /* bitpos */ | ||
| 249 | - complain_overflow_signed, /* complain_on_overflow */ | ||
| 250 | + complain_overflow_dont, /* complain_on_overflow */ | ||
| 251 | ppc64_elf_ha_reloc, /* special_function */ | ||
| 252 | "R_PPC64_REL16_HA", /* name */ | ||
| 253 | FALSE, /* partial_inplace */ | ||
| 254 | @@ -2006,96 +2006,6 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
| 255 | 0xffff, /* dst_mask */ | ||
| 256 | TRUE), /* pcrel_offset */ | ||
| 257 | |||
| 258 | - /* Like R_PPC64_ADDR16_HI, but no overflow. */ | ||
| 259 | - HOWTO (R_PPC64_ADDR16_HIGH, /* type */ | ||
| 260 | - 16, /* rightshift */ | ||
| 261 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
| 262 | - 16, /* bitsize */ | ||
| 263 | - FALSE, /* pc_relative */ | ||
| 264 | - 0, /* bitpos */ | ||
| 265 | - complain_overflow_dont, /* complain_on_overflow */ | ||
| 266 | - bfd_elf_generic_reloc, /* special_function */ | ||
| 267 | - "R_PPC64_ADDR16_HIGH", /* name */ | ||
| 268 | - FALSE, /* partial_inplace */ | ||
| 269 | - 0, /* src_mask */ | ||
| 270 | - 0xffff, /* dst_mask */ | ||
| 271 | - FALSE), /* pcrel_offset */ | ||
| 272 | - | ||
| 273 | - /* Like R_PPC64_ADDR16_HA, but no overflow. */ | ||
| 274 | - HOWTO (R_PPC64_ADDR16_HIGHA, /* type */ | ||
| 275 | - 16, /* rightshift */ | ||
| 276 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
| 277 | - 16, /* bitsize */ | ||
| 278 | - FALSE, /* pc_relative */ | ||
| 279 | - 0, /* bitpos */ | ||
| 280 | - complain_overflow_dont, /* complain_on_overflow */ | ||
| 281 | - ppc64_elf_ha_reloc, /* special_function */ | ||
| 282 | - "R_PPC64_ADDR16_HIGHA", /* name */ | ||
| 283 | - FALSE, /* partial_inplace */ | ||
| 284 | - 0, /* src_mask */ | ||
| 285 | - 0xffff, /* dst_mask */ | ||
| 286 | - FALSE), /* pcrel_offset */ | ||
| 287 | - | ||
| 288 | - /* Like R_PPC64_DTPREL16_HI, but no overflow. */ | ||
| 289 | - HOWTO (R_PPC64_DTPREL16_HIGH, | ||
| 290 | - 16, /* rightshift */ | ||
| 291 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
| 292 | - 16, /* bitsize */ | ||
| 293 | - FALSE, /* pc_relative */ | ||
| 294 | - 0, /* bitpos */ | ||
| 295 | - complain_overflow_dont, /* complain_on_overflow */ | ||
| 296 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 297 | - "R_PPC64_DTPREL16_HIGH", /* name */ | ||
| 298 | - FALSE, /* partial_inplace */ | ||
| 299 | - 0, /* src_mask */ | ||
| 300 | - 0xffff, /* dst_mask */ | ||
| 301 | - FALSE), /* pcrel_offset */ | ||
| 302 | - | ||
| 303 | - /* Like R_PPC64_DTPREL16_HA, but no overflow. */ | ||
| 304 | - HOWTO (R_PPC64_DTPREL16_HIGHA, | ||
| 305 | - 16, /* rightshift */ | ||
| 306 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
| 307 | - 16, /* bitsize */ | ||
| 308 | - FALSE, /* pc_relative */ | ||
| 309 | - 0, /* bitpos */ | ||
| 310 | - complain_overflow_dont, /* complain_on_overflow */ | ||
| 311 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 312 | - "R_PPC64_DTPREL16_HIGHA", /* name */ | ||
| 313 | - FALSE, /* partial_inplace */ | ||
| 314 | - 0, /* src_mask */ | ||
| 315 | - 0xffff, /* dst_mask */ | ||
| 316 | - FALSE), /* pcrel_offset */ | ||
| 317 | - | ||
| 318 | - /* Like R_PPC64_TPREL16_HI, but no overflow. */ | ||
| 319 | - HOWTO (R_PPC64_TPREL16_HIGH, | ||
| 320 | - 16, /* rightshift */ | ||
| 321 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
| 322 | - 16, /* bitsize */ | ||
| 323 | - FALSE, /* pc_relative */ | ||
| 324 | - 0, /* bitpos */ | ||
| 325 | - complain_overflow_dont, /* complain_on_overflow */ | ||
| 326 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 327 | - "R_PPC64_TPREL16_HIGH", /* name */ | ||
| 328 | - FALSE, /* partial_inplace */ | ||
| 329 | - 0, /* src_mask */ | ||
| 330 | - 0xffff, /* dst_mask */ | ||
| 331 | - FALSE), /* pcrel_offset */ | ||
| 332 | - | ||
| 333 | - /* Like R_PPC64_TPREL16_HA, but no overflow. */ | ||
| 334 | - HOWTO (R_PPC64_TPREL16_HIGHA, | ||
| 335 | - 16, /* rightshift */ | ||
| 336 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
| 337 | - 16, /* bitsize */ | ||
| 338 | - FALSE, /* pc_relative */ | ||
| 339 | - 0, /* bitpos */ | ||
| 340 | - complain_overflow_dont, /* complain_on_overflow */ | ||
| 341 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
| 342 | - "R_PPC64_TPREL16_HIGHA", /* name */ | ||
| 343 | - FALSE, /* partial_inplace */ | ||
| 344 | - 0, /* src_mask */ | ||
| 345 | - 0xffff, /* dst_mask */ | ||
| 346 | - FALSE), /* pcrel_offset */ | ||
| 347 | - | ||
| 348 | /* GNU extension to record C++ vtable hierarchy. */ | ||
| 349 | HOWTO (R_PPC64_GNU_VTINHERIT, /* type */ | ||
| 350 | 0, /* rightshift */ | ||
| 351 | @@ -2174,12 +2084,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, | ||
| 352 | break; | ||
| 353 | case BFD_RELOC_HI16: r = R_PPC64_ADDR16_HI; | ||
| 354 | break; | ||
| 355 | - case BFD_RELOC_PPC64_ADDR16_HIGH: r = R_PPC64_ADDR16_HIGH; | ||
| 356 | - break; | ||
| 357 | case BFD_RELOC_HI16_S: r = R_PPC64_ADDR16_HA; | ||
| 358 | break; | ||
| 359 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: r = R_PPC64_ADDR16_HIGHA; | ||
| 360 | - break; | ||
| 361 | case BFD_RELOC_PPC_BA16: r = R_PPC64_ADDR14; | ||
| 362 | break; | ||
| 363 | case BFD_RELOC_PPC_BA16_BRTAKEN: r = R_PPC64_ADDR14_BRTAKEN; | ||
| 364 | @@ -2298,12 +2204,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, | ||
| 365 | break; | ||
| 366 | case BFD_RELOC_PPC_TPREL16_HI: r = R_PPC64_TPREL16_HI; | ||
| 367 | break; | ||
| 368 | - case BFD_RELOC_PPC64_TPREL16_HIGH: r = R_PPC64_TPREL16_HIGH; | ||
| 369 | - break; | ||
| 370 | case BFD_RELOC_PPC_TPREL16_HA: r = R_PPC64_TPREL16_HA; | ||
| 371 | break; | ||
| 372 | - case BFD_RELOC_PPC64_TPREL16_HIGHA: r = R_PPC64_TPREL16_HIGHA; | ||
| 373 | - break; | ||
| 374 | case BFD_RELOC_PPC_TPREL: r = R_PPC64_TPREL64; | ||
| 375 | break; | ||
| 376 | case BFD_RELOC_PPC_DTPREL16: r = R_PPC64_DTPREL16; | ||
| 377 | @@ -2312,12 +2214,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, | ||
| 378 | break; | ||
| 379 | case BFD_RELOC_PPC_DTPREL16_HI: r = R_PPC64_DTPREL16_HI; | ||
| 380 | break; | ||
| 381 | - case BFD_RELOC_PPC64_DTPREL16_HIGH: r = R_PPC64_DTPREL16_HIGH; | ||
| 382 | - break; | ||
| 383 | case BFD_RELOC_PPC_DTPREL16_HA: r = R_PPC64_DTPREL16_HA; | ||
| 384 | break; | ||
| 385 | - case BFD_RELOC_PPC64_DTPREL16_HIGHA: r = R_PPC64_DTPREL16_HIGHA; | ||
| 386 | - break; | ||
| 387 | case BFD_RELOC_PPC_DTPREL: r = R_PPC64_DTPREL64; | ||
| 388 | break; | ||
| 389 | case BFD_RELOC_PPC_GOT_TLSGD16: r = R_PPC64_GOT_TLSGD16; | ||
| 390 | @@ -3662,8 +3560,6 @@ must_be_dyn_reloc (struct bfd_link_info *info, | ||
| 391 | case R_PPC64_TPREL16_HA: | ||
| 392 | case R_PPC64_TPREL16_DS: | ||
| 393 | case R_PPC64_TPREL16_LO_DS: | ||
| 394 | - case R_PPC64_TPREL16_HIGH: | ||
| 395 | - case R_PPC64_TPREL16_HIGHA: | ||
| 396 | case R_PPC64_TPREL16_HIGHER: | ||
| 397 | case R_PPC64_TPREL16_HIGHERA: | ||
| 398 | case R_PPC64_TPREL16_HIGHEST: | ||
| 399 | @@ -5394,8 +5290,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, | ||
| 400 | case R_PPC64_DTPREL16_HA: | ||
| 401 | case R_PPC64_DTPREL16_DS: | ||
| 402 | case R_PPC64_DTPREL16_LO_DS: | ||
| 403 | - case R_PPC64_DTPREL16_HIGH: | ||
| 404 | - case R_PPC64_DTPREL16_HIGHA: | ||
| 405 | case R_PPC64_DTPREL16_HIGHER: | ||
| 406 | case R_PPC64_DTPREL16_HIGHERA: | ||
| 407 | case R_PPC64_DTPREL16_HIGHEST: | ||
| 408 | @@ -5556,8 +5450,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, | ||
| 409 | case R_PPC64_TPREL16_HA: | ||
| 410 | case R_PPC64_TPREL16_DS: | ||
| 411 | case R_PPC64_TPREL16_LO_DS: | ||
| 412 | - case R_PPC64_TPREL16_HIGH: | ||
| 413 | - case R_PPC64_TPREL16_HIGHA: | ||
| 414 | case R_PPC64_TPREL16_HIGHER: | ||
| 415 | case R_PPC64_TPREL16_HIGHERA: | ||
| 416 | case R_PPC64_TPREL16_HIGHEST: | ||
| 417 | @@ -5605,8 +5497,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, | ||
| 418 | case R_PPC64_ADDR16_DS: | ||
| 419 | case R_PPC64_ADDR16_HA: | ||
| 420 | case R_PPC64_ADDR16_HI: | ||
| 421 | - case R_PPC64_ADDR16_HIGH: | ||
| 422 | - case R_PPC64_ADDR16_HIGHA: | ||
| 423 | case R_PPC64_ADDR16_HIGHER: | ||
| 424 | case R_PPC64_ADDR16_HIGHERA: | ||
| 425 | case R_PPC64_ADDR16_HIGHEST: | ||
| 426 | @@ -7363,8 +7253,6 @@ dec_dynrel_count (bfd_vma r_info, | ||
| 427 | case R_PPC64_TPREL16_HA: | ||
| 428 | case R_PPC64_TPREL16_DS: | ||
| 429 | case R_PPC64_TPREL16_LO_DS: | ||
| 430 | - case R_PPC64_TPREL16_HIGH: | ||
| 431 | - case R_PPC64_TPREL16_HIGHA: | ||
| 432 | case R_PPC64_TPREL16_HIGHER: | ||
| 433 | case R_PPC64_TPREL16_HIGHERA: | ||
| 434 | case R_PPC64_TPREL16_HIGHEST: | ||
| 435 | @@ -7386,8 +7274,6 @@ dec_dynrel_count (bfd_vma r_info, | ||
| 436 | case R_PPC64_ADDR16_DS: | ||
| 437 | case R_PPC64_ADDR16_HA: | ||
| 438 | case R_PPC64_ADDR16_HI: | ||
| 439 | - case R_PPC64_ADDR16_HIGH: | ||
| 440 | - case R_PPC64_ADDR16_HIGHA: | ||
| 441 | case R_PPC64_ADDR16_HIGHER: | ||
| 442 | case R_PPC64_ADDR16_HIGHERA: | ||
| 443 | case R_PPC64_ADDR16_HIGHEST: | ||
| 444 | @@ -14091,8 +13977,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
| 445 | case R_PPC64_TPREL16_HA: | ||
| 446 | case R_PPC64_TPREL16_DS: | ||
| 447 | case R_PPC64_TPREL16_LO_DS: | ||
| 448 | - case R_PPC64_TPREL16_HIGH: | ||
| 449 | - case R_PPC64_TPREL16_HIGHA: | ||
| 450 | case R_PPC64_TPREL16_HIGHER: | ||
| 451 | case R_PPC64_TPREL16_HIGHERA: | ||
| 452 | case R_PPC64_TPREL16_HIGHEST: | ||
| 453 | @@ -14127,8 +14011,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
| 454 | case R_PPC64_DTPREL16_HA: | ||
| 455 | case R_PPC64_DTPREL16_DS: | ||
| 456 | case R_PPC64_DTPREL16_LO_DS: | ||
| 457 | - case R_PPC64_DTPREL16_HIGH: | ||
| 458 | - case R_PPC64_DTPREL16_HIGHA: | ||
| 459 | case R_PPC64_DTPREL16_HIGHER: | ||
| 460 | case R_PPC64_DTPREL16_HIGHERA: | ||
| 461 | case R_PPC64_DTPREL16_HIGHEST: | ||
| 462 | @@ -14161,8 +14043,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
| 463 | case R_PPC64_ADDR16_DS: | ||
| 464 | case R_PPC64_ADDR16_HA: | ||
| 465 | case R_PPC64_ADDR16_HI: | ||
| 466 | - case R_PPC64_ADDR16_HIGH: | ||
| 467 | - case R_PPC64_ADDR16_HIGHA: | ||
| 468 | case R_PPC64_ADDR16_HIGHER: | ||
| 469 | case R_PPC64_ADDR16_HIGHERA: | ||
| 470 | case R_PPC64_ADDR16_HIGHEST: | ||
| 471 | @@ -14477,20 +14357,21 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
| 472 | default: | ||
| 473 | break; | ||
| 474 | |||
| 475 | - case R_PPC64_REL16_HA: | ||
| 476 | case R_PPC64_ADDR16_HA: | ||
| 477 | - case R_PPC64_ADDR16_HIGHA: | ||
| 478 | + case R_PPC64_REL16_HA: | ||
| 479 | case R_PPC64_ADDR16_HIGHERA: | ||
| 480 | case R_PPC64_ADDR16_HIGHESTA: | ||
| 481 | case R_PPC64_TOC16_HA: | ||
| 482 | case R_PPC64_SECTOFF_HA: | ||
| 483 | case R_PPC64_TPREL16_HA: | ||
| 484 | - case R_PPC64_TPREL16_HIGHA: | ||
| 485 | + case R_PPC64_DTPREL16_HA: | ||
| 486 | + case R_PPC64_TPREL16_HIGHER: | ||
| 487 | case R_PPC64_TPREL16_HIGHERA: | ||
| 488 | + case R_PPC64_TPREL16_HIGHEST: | ||
| 489 | case R_PPC64_TPREL16_HIGHESTA: | ||
| 490 | - case R_PPC64_DTPREL16_HA: | ||
| 491 | - case R_PPC64_DTPREL16_HIGHA: | ||
| 492 | + case R_PPC64_DTPREL16_HIGHER: | ||
| 493 | case R_PPC64_DTPREL16_HIGHERA: | ||
| 494 | + case R_PPC64_DTPREL16_HIGHEST: | ||
| 495 | case R_PPC64_DTPREL16_HIGHESTA: | ||
| 496 | /* It's just possible that this symbol is a weak symbol | ||
| 497 | that's not actually defined anywhere. In that case, | ||
| 498 | diff --git a/bfd/reloc.c b/bfd/reloc.c | ||
| 499 | index 77a04f8..cc34760 100644 | ||
| 500 | --- a/bfd/reloc.c | ||
| 501 | +++ b/bfd/reloc.c | ||
| 502 | @@ -2895,10 +2895,6 @@ ENUMX | ||
| 503 | BFD_RELOC_PPC64_PLTGOT16_DS | ||
| 504 | ENUMX | ||
| 505 | BFD_RELOC_PPC64_PLTGOT16_LO_DS | ||
| 506 | -ENUMX | ||
| 507 | - BFD_RELOC_PPC64_ADDR16_HIGH | ||
| 508 | -ENUMX | ||
| 509 | - BFD_RELOC_PPC64_ADDR16_HIGHA | ||
| 510 | ENUMDOC | ||
| 511 | Power(rs6000) and PowerPC relocations. | ||
| 512 | |||
| 513 | @@ -2986,14 +2982,6 @@ ENUMX | ||
| 514 | BFD_RELOC_PPC64_DTPREL16_HIGHEST | ||
| 515 | ENUMX | ||
| 516 | BFD_RELOC_PPC64_DTPREL16_HIGHESTA | ||
| 517 | -ENUMX | ||
| 518 | - BFD_RELOC_PPC64_TPREL16_HIGH | ||
| 519 | -ENUMX | ||
| 520 | - BFD_RELOC_PPC64_TPREL16_HIGHA | ||
| 521 | -ENUMX | ||
| 522 | - BFD_RELOC_PPC64_DTPREL16_HIGH | ||
| 523 | -ENUMX | ||
| 524 | - BFD_RELOC_PPC64_DTPREL16_HIGHA | ||
| 525 | ENUMDOC | ||
| 526 | PowerPC and PowerPC64 thread-local storage relocations. | ||
| 527 | |||
| 528 | diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h | ||
| 529 | index 98354a2..0f13eda 100644 | ||
| 530 | --- a/elfcpp/powerpc.h | ||
| 531 | +++ b/elfcpp/powerpc.h | ||
| 532 | @@ -164,17 +164,11 @@ enum | ||
| 533 | R_PPC_EMB_SDA21 = 109, | ||
| 534 | R_PPC64_TOCSAVE = 109, | ||
| 535 | R_PPC_EMB_MRKREF = 110, | ||
| 536 | - R_PPC64_ADDR16_HIGH = 110, | ||
| 537 | R_PPC_EMB_RELSEC16 = 111, | ||
| 538 | - R_PPC64_ADDR16_HIGHA = 111, | ||
| 539 | R_PPC_EMB_RELST_LO = 112, | ||
| 540 | - R_PPC64_TPREL16_HIGH = 112, | ||
| 541 | R_PPC_EMB_RELST_HI = 113, | ||
| 542 | - R_PPC64_TPREL16_HIGHA = 113, | ||
| 543 | R_PPC_EMB_RELST_HA = 114, | ||
| 544 | - R_PPC64_DTPREL16_HIGH = 114, | ||
| 545 | R_PPC_EMB_BIT_FLD = 115, | ||
| 546 | - R_PPC64_DTPREL16_HIGHA = 115, | ||
| 547 | R_PPC_EMB_RELSDA = 116, | ||
| 548 | |||
| 549 | R_PPC_VLE_REL8 = 216, | ||
| 550 | diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c | ||
| 551 | index 7c99e43..d888aee 100644 | ||
| 552 | --- a/gas/config/tc-ppc.c | ||
| 553 | +++ b/gas/config/tc-ppc.c | ||
| 554 | @@ -87,11 +87,7 @@ static int set_target_endian = 0; | ||
| 555 | compensating for #lo being treated as a signed number. */ | ||
| 556 | #define PPC_HIGHESTA(v) PPC_HIGHEST ((v) + 0x8000) | ||
| 557 | |||
| 558 | -#define SEX16(val) (((val) ^ 0x8000) - 0x8000) | ||
| 559 | - | ||
| 560 | -/* For the time being on ppc64, don't report overflow on @h and @ha | ||
| 561 | - applied to constants. */ | ||
| 562 | -#define REPORT_OVERFLOW_HI 0 | ||
| 563 | +#define SEX16(val) ((((val) & 0xffff) ^ 0x8000) - 0x8000) | ||
| 564 | |||
| 565 | static bfd_boolean reg_names_p = TARGET_REG_NAMES_P; | ||
| 566 | |||
| 567 | @@ -1935,8 +1931,6 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) | ||
| 568 | MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD), | ||
| 569 | MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA), | ||
| 570 | MAP32 ("xgot", BFD_RELOC_PPC_TOC16), | ||
| 571 | - MAP64 ("high", BFD_RELOC_PPC64_ADDR16_HIGH), | ||
| 572 | - MAP64 ("higha", BFD_RELOC_PPC64_ADDR16_HIGHA), | ||
| 573 | MAP64 ("higher", BFD_RELOC_PPC64_HIGHER), | ||
| 574 | MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S), | ||
| 575 | MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST), | ||
| 576 | @@ -1946,14 +1940,10 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) | ||
| 577 | MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO), | ||
| 578 | MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI), | ||
| 579 | MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA), | ||
| 580 | - MAP64 ("dtprel@high", BFD_RELOC_PPC64_DTPREL16_HIGH), | ||
| 581 | - MAP64 ("dtprel@higha", BFD_RELOC_PPC64_DTPREL16_HIGHA), | ||
| 582 | MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER), | ||
| 583 | MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA), | ||
| 584 | MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST), | ||
| 585 | MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA), | ||
| 586 | - MAP64 ("tprel@high", BFD_RELOC_PPC64_TPREL16_HIGH), | ||
| 587 | - MAP64 ("tprel@higha", BFD_RELOC_PPC64_TPREL16_HIGHA), | ||
| 588 | MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER), | ||
| 589 | MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA), | ||
| 590 | MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST), | ||
| 591 | @@ -2923,76 +2913,55 @@ md_assemble (char *str) | ||
| 592 | break; | ||
| 593 | |||
| 594 | case BFD_RELOC_LO16: | ||
| 595 | - ex.X_add_number &= 0xffff; | ||
| 596 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 597 | + /* X_unsigned is the default, so if the user has done | ||
| 598 | + something which cleared it, we always produce a | ||
| 599 | + signed value. */ | ||
| 600 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 601 | + ex.X_add_number &= 0xffff; | ||
| 602 | + else | ||
| 603 | ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 604 | break; | ||
| 605 | |||
| 606 | case BFD_RELOC_HI16: | ||
| 607 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
| 608 | - { | ||
| 609 | - /* PowerPC64 @h is tested for overflow. */ | ||
| 610 | - ex.X_add_number = (addressT) ex.X_add_number >> 16; | ||
| 611 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 612 | - { | ||
| 613 | - addressT sign = (((addressT) -1 >> 16) + 1) >> 1; | ||
| 614 | - ex.X_add_number | ||
| 615 | - = ((addressT) ex.X_add_number ^ sign) - sign; | ||
| 616 | - } | ||
| 617 | - break; | ||
| 618 | - } | ||
| 619 | - /* Fall thru */ | ||
| 620 | - | ||
| 621 | - case BFD_RELOC_PPC64_ADDR16_HIGH: | ||
| 622 | - ex.X_add_number = PPC_HI (ex.X_add_number); | ||
| 623 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 624 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 625 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 626 | + ex.X_add_number = PPC_HI (ex.X_add_number); | ||
| 627 | + else | ||
| 628 | + ex.X_add_number = SEX16 (PPC_HI (ex.X_add_number)); | ||
| 629 | break; | ||
| 630 | |||
| 631 | case BFD_RELOC_HI16_S: | ||
| 632 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
| 633 | - { | ||
| 634 | - /* PowerPC64 @ha is tested for overflow. */ | ||
| 635 | - ex.X_add_number | ||
| 636 | - = ((addressT) ex.X_add_number + 0x8000) >> 16; | ||
| 637 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 638 | - { | ||
| 639 | - addressT sign = (((addressT) -1 >> 16) + 1) >> 1; | ||
| 640 | - ex.X_add_number | ||
| 641 | - = ((addressT) ex.X_add_number ^ sign) - sign; | ||
| 642 | - } | ||
| 643 | - break; | ||
| 644 | - } | ||
| 645 | - /* Fall thru */ | ||
| 646 | - | ||
| 647 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: | ||
| 648 | - ex.X_add_number = PPC_HA (ex.X_add_number); | ||
| 649 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 650 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 651 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 652 | + ex.X_add_number = PPC_HA (ex.X_add_number); | ||
| 653 | + else | ||
| 654 | + ex.X_add_number = SEX16 (PPC_HA (ex.X_add_number)); | ||
| 655 | break; | ||
| 656 | |||
| 657 | case BFD_RELOC_PPC64_HIGHER: | ||
| 658 | - ex.X_add_number = PPC_HIGHER (ex.X_add_number); | ||
| 659 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 660 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 661 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 662 | + ex.X_add_number = PPC_HIGHER (ex.X_add_number); | ||
| 663 | + else | ||
| 664 | + ex.X_add_number = SEX16 (PPC_HIGHER (ex.X_add_number)); | ||
| 665 | break; | ||
| 666 | |||
| 667 | case BFD_RELOC_PPC64_HIGHER_S: | ||
| 668 | - ex.X_add_number = PPC_HIGHERA (ex.X_add_number); | ||
| 669 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 670 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 671 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 672 | + ex.X_add_number = PPC_HIGHERA (ex.X_add_number); | ||
| 673 | + else | ||
| 674 | + ex.X_add_number = SEX16 (PPC_HIGHERA (ex.X_add_number)); | ||
| 675 | break; | ||
| 676 | |||
| 677 | case BFD_RELOC_PPC64_HIGHEST: | ||
| 678 | - ex.X_add_number = PPC_HIGHEST (ex.X_add_number); | ||
| 679 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 680 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 681 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 682 | + ex.X_add_number = PPC_HIGHEST (ex.X_add_number); | ||
| 683 | + else | ||
| 684 | + ex.X_add_number = SEX16 (PPC_HIGHEST (ex.X_add_number)); | ||
| 685 | break; | ||
| 686 | |||
| 687 | case BFD_RELOC_PPC64_HIGHEST_S: | ||
| 688 | - ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); | ||
| 689 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 690 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
| 691 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
| 692 | + ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); | ||
| 693 | + else | ||
| 694 | + ex.X_add_number = SEX16 (PPC_HIGHESTA (ex.X_add_number)); | ||
| 695 | break; | ||
| 696 | } | ||
| 697 | #endif /* OBJ_ELF */ | ||
| 698 | @@ -6566,51 +6535,25 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
| 699 | fieldval = value & 0xffff; | ||
| 700 | sign_extend_16: | ||
| 701 | if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 702 | - fieldval = SEX16 (fieldval); | ||
| 703 | + fieldval = (fieldval ^ 0x8000) - 0x8000; | ||
| 704 | fixP->fx_no_overflow = 1; | ||
| 705 | break; | ||
| 706 | |||
| 707 | - case BFD_RELOC_HI16: | ||
| 708 | - case BFD_RELOC_HI16_PCREL: | ||
| 709 | #ifdef OBJ_ELF | ||
| 710 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
| 711 | - { | ||
| 712 | - fieldval = value >> 16; | ||
| 713 | - if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 714 | - { | ||
| 715 | - valueT sign = (((valueT) -1 >> 16) + 1) >> 1; | ||
| 716 | - fieldval = ((valueT) fieldval ^ sign) - sign; | ||
| 717 | - } | ||
| 718 | - break; | ||
| 719 | - } | ||
| 720 | - /* Fall thru */ | ||
| 721 | - | ||
| 722 | case BFD_RELOC_PPC_VLE_HI16A: | ||
| 723 | case BFD_RELOC_PPC_VLE_HI16D: | ||
| 724 | - case BFD_RELOC_PPC64_ADDR16_HIGH: | ||
| 725 | #endif | ||
| 726 | + case BFD_RELOC_HI16: | ||
| 727 | + case BFD_RELOC_HI16_PCREL: | ||
| 728 | fieldval = PPC_HI (value); | ||
| 729 | goto sign_extend_16; | ||
| 730 | |||
| 731 | - case BFD_RELOC_HI16_S: | ||
| 732 | - case BFD_RELOC_HI16_S_PCREL: | ||
| 733 | #ifdef OBJ_ELF | ||
| 734 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
| 735 | - { | ||
| 736 | - fieldval = (value + 0x8000) >> 16; | ||
| 737 | - if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
| 738 | - { | ||
| 739 | - valueT sign = (((valueT) -1 >> 16) + 1) >> 1; | ||
| 740 | - fieldval = ((valueT) fieldval ^ sign) - sign; | ||
| 741 | - } | ||
| 742 | - break; | ||
| 743 | - } | ||
| 744 | - /* Fall thru */ | ||
| 745 | - | ||
| 746 | case BFD_RELOC_PPC_VLE_HA16A: | ||
| 747 | case BFD_RELOC_PPC_VLE_HA16D: | ||
| 748 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: | ||
| 749 | #endif | ||
| 750 | + case BFD_RELOC_HI16_S: | ||
| 751 | + case BFD_RELOC_HI16_S_PCREL: | ||
| 752 | fieldval = PPC_HA (value); | ||
| 753 | goto sign_extend_16; | ||
| 754 | |||
| 755 | @@ -6673,14 +6616,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
| 756 | case BFD_RELOC_PPC_GOT_DTPREL16_HA: | ||
| 757 | case BFD_RELOC_PPC64_TPREL16_DS: | ||
| 758 | case BFD_RELOC_PPC64_TPREL16_LO_DS: | ||
| 759 | - case BFD_RELOC_PPC64_TPREL16_HIGH: | ||
| 760 | - case BFD_RELOC_PPC64_TPREL16_HIGHA: | ||
| 761 | case BFD_RELOC_PPC64_TPREL16_HIGHER: | ||
| 762 | case BFD_RELOC_PPC64_TPREL16_HIGHERA: | ||
| 763 | case BFD_RELOC_PPC64_TPREL16_HIGHEST: | ||
| 764 | case BFD_RELOC_PPC64_TPREL16_HIGHESTA: | ||
| 765 | - case BFD_RELOC_PPC64_DTPREL16_HIGH: | ||
| 766 | - case BFD_RELOC_PPC64_DTPREL16_HIGHA: | ||
| 767 | case BFD_RELOC_PPC64_DTPREL16_DS: | ||
| 768 | case BFD_RELOC_PPC64_DTPREL16_LO_DS: | ||
| 769 | case BFD_RELOC_PPC64_DTPREL16_HIGHER: | ||
| 770 | @@ -6866,8 +6805,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
| 771 | case BFD_RELOC_PPC64_HIGHER_S: | ||
| 772 | case BFD_RELOC_PPC64_HIGHEST: | ||
| 773 | case BFD_RELOC_PPC64_HIGHEST_S: | ||
| 774 | - case BFD_RELOC_PPC64_ADDR16_HIGH: | ||
| 775 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: | ||
| 776 | break; | ||
| 777 | |||
| 778 | case BFD_RELOC_PPC_DTPMOD: | ||
| 779 | @@ -6944,14 +6881,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
| 780 | case BFD_RELOC_PPC64_TOC16_LO: | ||
| 781 | case BFD_RELOC_PPC64_TOC16_HI: | ||
| 782 | case BFD_RELOC_PPC64_TOC16_HA: | ||
| 783 | - case BFD_RELOC_PPC64_DTPREL16_HIGH: | ||
| 784 | - case BFD_RELOC_PPC64_DTPREL16_HIGHA: | ||
| 785 | case BFD_RELOC_PPC64_DTPREL16_HIGHER: | ||
| 786 | case BFD_RELOC_PPC64_DTPREL16_HIGHERA: | ||
| 787 | case BFD_RELOC_PPC64_DTPREL16_HIGHEST: | ||
| 788 | case BFD_RELOC_PPC64_DTPREL16_HIGHESTA: | ||
| 789 | - case BFD_RELOC_PPC64_TPREL16_HIGH: | ||
| 790 | - case BFD_RELOC_PPC64_TPREL16_HIGHA: | ||
| 791 | case BFD_RELOC_PPC64_TPREL16_HIGHER: | ||
| 792 | case BFD_RELOC_PPC64_TPREL16_HIGHERA: | ||
| 793 | case BFD_RELOC_PPC64_TPREL16_HIGHEST: | ||
| 794 | diff --git a/gold/powerpc.cc b/gold/powerpc.cc | ||
| 795 | index 1aa4791..b8e932e 100644 | ||
| 796 | --- a/gold/powerpc.cc | ||
| 797 | +++ b/gold/powerpc.cc | ||
| 798 | @@ -5168,8 +5168,6 @@ Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object, | ||
| 799 | case elfcpp::R_PPC64_JMP_IREL: | ||
| 800 | case elfcpp::R_PPC64_ADDR16_DS: | ||
| 801 | case elfcpp::R_PPC64_ADDR16_LO_DS: | ||
| 802 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
| 803 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
| 804 | case elfcpp::R_PPC64_ADDR16_HIGHER: | ||
| 805 | case elfcpp::R_PPC64_ADDR16_HIGHEST: | ||
| 806 | case elfcpp::R_PPC64_ADDR16_HIGHERA: | ||
| 807 | @@ -5178,8 +5176,6 @@ Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object, | ||
| 808 | case elfcpp::R_POWERPC_ADDR30: | ||
| 809 | case elfcpp::R_PPC64_TPREL16_DS: | ||
| 810 | case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
| 811 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
| 812 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
| 813 | case elfcpp::R_PPC64_TPREL16_HIGHER: | ||
| 814 | case elfcpp::R_PPC64_TPREL16_HIGHEST: | ||
| 815 | case elfcpp::R_PPC64_TPREL16_HIGHERA: | ||
| 816 | @@ -5354,6 +5350,7 @@ Target_powerpc<size, big_endian>::Scan::local( | ||
| 817 | case elfcpp::R_POWERPC_GNU_VTINHERIT: | ||
| 818 | case elfcpp::R_POWERPC_GNU_VTENTRY: | ||
| 819 | case elfcpp::R_PPC64_TOCSAVE: | ||
| 820 | + case elfcpp::R_PPC_EMB_MRKREF: | ||
| 821 | case elfcpp::R_POWERPC_TLS: | ||
| 822 | break; | ||
| 823 | |||
| 824 | @@ -5391,8 +5388,6 @@ Target_powerpc<size, big_endian>::Scan::local( | ||
| 825 | case elfcpp::R_POWERPC_ADDR16_HI: | ||
| 826 | case elfcpp::R_POWERPC_ADDR16_HA: | ||
| 827 | case elfcpp::R_POWERPC_UADDR16: | ||
| 828 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
| 829 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
| 830 | case elfcpp::R_PPC64_ADDR16_HIGHER: | ||
| 831 | case elfcpp::R_PPC64_ADDR16_HIGHERA: | ||
| 832 | case elfcpp::R_PPC64_ADDR16_HIGHEST: | ||
| 833 | @@ -5451,35 +5446,31 @@ Target_powerpc<size, big_endian>::Scan::local( | ||
| 834 | case elfcpp::R_POWERPC_REL16_HI: | ||
| 835 | case elfcpp::R_POWERPC_REL16_HA: | ||
| 836 | case elfcpp::R_POWERPC_SECTOFF: | ||
| 837 | - case elfcpp::R_POWERPC_SECTOFF_LO: | ||
| 838 | - case elfcpp::R_POWERPC_SECTOFF_HI: | ||
| 839 | - case elfcpp::R_POWERPC_SECTOFF_HA: | ||
| 840 | - case elfcpp::R_PPC64_SECTOFF_DS: | ||
| 841 | - case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
| 842 | case elfcpp::R_POWERPC_TPREL16: | ||
| 843 | + case elfcpp::R_POWERPC_DTPREL16: | ||
| 844 | + case elfcpp::R_POWERPC_SECTOFF_LO: | ||
| 845 | case elfcpp::R_POWERPC_TPREL16_LO: | ||
| 846 | + case elfcpp::R_POWERPC_DTPREL16_LO: | ||
| 847 | + case elfcpp::R_POWERPC_SECTOFF_HI: | ||
| 848 | case elfcpp::R_POWERPC_TPREL16_HI: | ||
| 849 | + case elfcpp::R_POWERPC_DTPREL16_HI: | ||
| 850 | + case elfcpp::R_POWERPC_SECTOFF_HA: | ||
| 851 | case elfcpp::R_POWERPC_TPREL16_HA: | ||
| 852 | - case elfcpp::R_PPC64_TPREL16_DS: | ||
| 853 | - case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
| 854 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
| 855 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
| 856 | + case elfcpp::R_POWERPC_DTPREL16_HA: | ||
| 857 | + case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
| 858 | case elfcpp::R_PPC64_TPREL16_HIGHER: | ||
| 859 | + case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
| 860 | case elfcpp::R_PPC64_TPREL16_HIGHERA: | ||
| 861 | + case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
| 862 | case elfcpp::R_PPC64_TPREL16_HIGHEST: | ||
| 863 | + case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
| 864 | case elfcpp::R_PPC64_TPREL16_HIGHESTA: | ||
| 865 | - case elfcpp::R_POWERPC_DTPREL16: | ||
| 866 | - case elfcpp::R_POWERPC_DTPREL16_LO: | ||
| 867 | - case elfcpp::R_POWERPC_DTPREL16_HI: | ||
| 868 | - case elfcpp::R_POWERPC_DTPREL16_HA: | ||
| 869 | + case elfcpp::R_PPC64_TPREL16_DS: | ||
| 870 | + case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
| 871 | case elfcpp::R_PPC64_DTPREL16_DS: | ||
| 872 | case elfcpp::R_PPC64_DTPREL16_LO_DS: | ||
| 873 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
| 874 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
| 875 | - case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
| 876 | - case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
| 877 | - case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
| 878 | - case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
| 879 | + case elfcpp::R_PPC64_SECTOFF_DS: | ||
| 880 | + case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
| 881 | case elfcpp::R_PPC64_TLSGD: | ||
| 882 | case elfcpp::R_PPC64_TLSLD: | ||
| 883 | break; | ||
| 884 | @@ -5713,6 +5704,7 @@ Target_powerpc<size, big_endian>::Scan::global( | ||
| 885 | case elfcpp::R_POWERPC_GNU_VTINHERIT: | ||
| 886 | case elfcpp::R_POWERPC_GNU_VTENTRY: | ||
| 887 | case elfcpp::R_PPC_LOCAL24PC: | ||
| 888 | + case elfcpp::R_PPC_EMB_MRKREF: | ||
| 889 | case elfcpp::R_POWERPC_TLS: | ||
| 890 | break; | ||
| 891 | |||
| 892 | @@ -5762,8 +5754,6 @@ Target_powerpc<size, big_endian>::Scan::global( | ||
| 893 | case elfcpp::R_POWERPC_ADDR16_HI: | ||
| 894 | case elfcpp::R_POWERPC_ADDR16_HA: | ||
| 895 | case elfcpp::R_POWERPC_UADDR16: | ||
| 896 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
| 897 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
| 898 | case elfcpp::R_PPC64_ADDR16_HIGHER: | ||
| 899 | case elfcpp::R_PPC64_ADDR16_HIGHERA: | ||
| 900 | case elfcpp::R_PPC64_ADDR16_HIGHEST: | ||
| 901 | @@ -5897,35 +5887,31 @@ Target_powerpc<size, big_endian>::Scan::global( | ||
| 902 | case elfcpp::R_POWERPC_REL16_HI: | ||
| 903 | case elfcpp::R_POWERPC_REL16_HA: | ||
| 904 | case elfcpp::R_POWERPC_SECTOFF: | ||
| 905 | - case elfcpp::R_POWERPC_SECTOFF_LO: | ||
| 906 | - case elfcpp::R_POWERPC_SECTOFF_HI: | ||
| 907 | - case elfcpp::R_POWERPC_SECTOFF_HA: | ||
| 908 | - case elfcpp::R_PPC64_SECTOFF_DS: | ||
| 909 | - case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
| 910 | case elfcpp::R_POWERPC_TPREL16: | ||
| 911 | + case elfcpp::R_POWERPC_DTPREL16: | ||
| 912 | + case elfcpp::R_POWERPC_SECTOFF_LO: | ||
| 913 | case elfcpp::R_POWERPC_TPREL16_LO: | ||
| 914 | + case elfcpp::R_POWERPC_DTPREL16_LO: | ||
| 915 | + case elfcpp::R_POWERPC_SECTOFF_HI: | ||
| 916 | case elfcpp::R_POWERPC_TPREL16_HI: | ||
| 917 | + case elfcpp::R_POWERPC_DTPREL16_HI: | ||
| 918 | + case elfcpp::R_POWERPC_SECTOFF_HA: | ||
| 919 | case elfcpp::R_POWERPC_TPREL16_HA: | ||
| 920 | - case elfcpp::R_PPC64_TPREL16_DS: | ||
| 921 | - case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
| 922 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
| 923 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
| 924 | + case elfcpp::R_POWERPC_DTPREL16_HA: | ||
| 925 | + case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
| 926 | case elfcpp::R_PPC64_TPREL16_HIGHER: | ||
| 927 | + case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
| 928 | case elfcpp::R_PPC64_TPREL16_HIGHERA: | ||
| 929 | + case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
| 930 | case elfcpp::R_PPC64_TPREL16_HIGHEST: | ||
| 931 | + case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
| 932 | case elfcpp::R_PPC64_TPREL16_HIGHESTA: | ||
| 933 | - case elfcpp::R_POWERPC_DTPREL16: | ||
| 934 | - case elfcpp::R_POWERPC_DTPREL16_LO: | ||
| 935 | - case elfcpp::R_POWERPC_DTPREL16_HI: | ||
| 936 | - case elfcpp::R_POWERPC_DTPREL16_HA: | ||
| 937 | + case elfcpp::R_PPC64_TPREL16_DS: | ||
| 938 | + case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
| 939 | case elfcpp::R_PPC64_DTPREL16_DS: | ||
| 940 | case elfcpp::R_PPC64_DTPREL16_LO_DS: | ||
| 941 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
| 942 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
| 943 | - case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
| 944 | - case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
| 945 | - case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
| 946 | - case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
| 947 | + case elfcpp::R_PPC64_SECTOFF_DS: | ||
| 948 | + case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
| 949 | case elfcpp::R_PPC64_TLSGD: | ||
| 950 | case elfcpp::R_PPC64_TLSLD: | ||
| 951 | break; | ||
| 952 | @@ -7098,10 +7084,8 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 953 | |||
| 954 | case elfcpp::R_PPC64_TPREL16_DS: | ||
| 955 | case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
| 956 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
| 957 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
| 958 | if (size != 64) | ||
| 959 | - // R_PPC_TLSGD, R_PPC_TLSLD, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HI | ||
| 960 | + // R_PPC_TLSGD and R_PPC_TLSLD | ||
| 961 | break; | ||
| 962 | case elfcpp::R_POWERPC_TPREL16: | ||
| 963 | case elfcpp::R_POWERPC_TPREL16_LO: | ||
| 964 | @@ -7131,8 +7115,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 965 | case elfcpp::R_POWERPC_DTPREL16_HI: | ||
| 966 | case elfcpp::R_POWERPC_DTPREL16_HA: | ||
| 967 | case elfcpp::R_POWERPC_DTPREL: | ||
| 968 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
| 969 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
| 970 | // tls symbol values are relative to tls_segment()->vaddr() | ||
| 971 | value -= dtp_offset; | ||
| 972 | break; | ||
| 973 | @@ -7273,34 +7255,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 974 | overflow = Reloc::CHECK_BITFIELD; | ||
| 975 | break; | ||
| 976 | |||
| 977 | - case elfcpp::R_POWERPC_ADDR16_HI: | ||
| 978 | - case elfcpp::R_POWERPC_ADDR16_HA: | ||
| 979 | - case elfcpp::R_POWERPC_GOT16_HI: | ||
| 980 | - case elfcpp::R_POWERPC_GOT16_HA: | ||
| 981 | - case elfcpp::R_POWERPC_PLT16_HI: | ||
| 982 | - case elfcpp::R_POWERPC_PLT16_HA: | ||
| 983 | - case elfcpp::R_POWERPC_SECTOFF_HI: | ||
| 984 | - case elfcpp::R_POWERPC_SECTOFF_HA: | ||
| 985 | - case elfcpp::R_PPC64_TOC16_HI: | ||
| 986 | - case elfcpp::R_PPC64_TOC16_HA: | ||
| 987 | - case elfcpp::R_PPC64_PLTGOT16_HI: | ||
| 988 | - case elfcpp::R_PPC64_PLTGOT16_HA: | ||
| 989 | - case elfcpp::R_POWERPC_TPREL16_HI: | ||
| 990 | - case elfcpp::R_POWERPC_TPREL16_HA: | ||
| 991 | - case elfcpp::R_POWERPC_DTPREL16_HI: | ||
| 992 | - case elfcpp::R_POWERPC_DTPREL16_HA: | ||
| 993 | - case elfcpp::R_POWERPC_GOT_TLSGD16_HI: | ||
| 994 | - case elfcpp::R_POWERPC_GOT_TLSGD16_HA: | ||
| 995 | - case elfcpp::R_POWERPC_GOT_TLSLD16_HI: | ||
| 996 | - case elfcpp::R_POWERPC_GOT_TLSLD16_HA: | ||
| 997 | - case elfcpp::R_POWERPC_GOT_TPREL16_HI: | ||
| 998 | - case elfcpp::R_POWERPC_GOT_TPREL16_HA: | ||
| 999 | - case elfcpp::R_POWERPC_GOT_DTPREL16_HI: | ||
| 1000 | - case elfcpp::R_POWERPC_GOT_DTPREL16_HA: | ||
| 1001 | - case elfcpp::R_POWERPC_REL16_HI: | ||
| 1002 | - case elfcpp::R_POWERPC_REL16_HA: | ||
| 1003 | - if (size == 32) | ||
| 1004 | - break; | ||
| 1005 | case elfcpp::R_POWERPC_REL24: | ||
| 1006 | case elfcpp::R_PPC_PLTREL24: | ||
| 1007 | case elfcpp::R_PPC_LOCAL24PC: | ||
| 1008 | @@ -7334,6 +7288,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 1009 | case elfcpp::R_POWERPC_TLS: | ||
| 1010 | case elfcpp::R_POWERPC_GNU_VTINHERIT: | ||
| 1011 | case elfcpp::R_POWERPC_GNU_VTENTRY: | ||
| 1012 | + case elfcpp::R_PPC_EMB_MRKREF: | ||
| 1013 | break; | ||
| 1014 | |||
| 1015 | case elfcpp::R_PPC64_ADDR64: | ||
| 1016 | @@ -7404,12 +7359,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 1017 | status = Reloc::addr16_u(view, value, overflow); | ||
| 1018 | break; | ||
| 1019 | |||
| 1020 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
| 1021 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
| 1022 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
| 1023 | - if (size == 32) | ||
| 1024 | - // R_PPC_EMB_MRKREF, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HA | ||
| 1025 | - goto unsupp; | ||
| 1026 | case elfcpp::R_POWERPC_ADDR16_HI: | ||
| 1027 | case elfcpp::R_POWERPC_REL16_HI: | ||
| 1028 | case elfcpp::R_PPC64_TOC16_HI: | ||
| 1029 | @@ -7424,12 +7373,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 1030 | Reloc::addr16_hi(view, value); | ||
| 1031 | break; | ||
| 1032 | |||
| 1033 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
| 1034 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
| 1035 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
| 1036 | - if (size == 32) | ||
| 1037 | - // R_PPC_EMB_RELSEC16, R_PPC_EMB_RELST_HI, R_PPC_EMB_BIT_FLD | ||
| 1038 | - goto unsupp; | ||
| 1039 | case elfcpp::R_POWERPC_ADDR16_HA: | ||
| 1040 | case elfcpp::R_POWERPC_REL16_HA: | ||
| 1041 | case elfcpp::R_PPC64_TOC16_HA: | ||
| 1042 | @@ -7554,6 +7497,11 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
| 1043 | case elfcpp::R_PPC64_PLT16_LO_DS: | ||
| 1044 | case elfcpp::R_PPC64_PLTGOT16_DS: | ||
| 1045 | case elfcpp::R_PPC64_PLTGOT16_LO_DS: | ||
| 1046 | + case elfcpp::R_PPC_EMB_RELSEC16: | ||
| 1047 | + case elfcpp::R_PPC_EMB_RELST_LO: | ||
| 1048 | + case elfcpp::R_PPC_EMB_RELST_HI: | ||
| 1049 | + case elfcpp::R_PPC_EMB_RELST_HA: | ||
| 1050 | + case elfcpp::R_PPC_EMB_BIT_FLD: | ||
| 1051 | case elfcpp::R_PPC_EMB_RELSDA: | ||
| 1052 | case elfcpp::R_PPC_TOC16: | ||
| 1053 | default: | ||
| 1054 | diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h | ||
| 1055 | index 78d947b..5888460 100644 | ||
| 1056 | --- a/include/elf/ppc64.h | ||
| 1057 | +++ b/include/elf/ppc64.h | ||
| 1058 | @@ -141,14 +141,6 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) | ||
| 1059 | RELOC_NUMBER (R_PPC64_TLSLD, 108) | ||
| 1060 | RELOC_NUMBER (R_PPC64_TOCSAVE, 109) | ||
| 1061 | |||
| 1062 | -/* Added when HA and HI relocs were changed to report overflows. */ | ||
| 1063 | - RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110) | ||
| 1064 | - RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111) | ||
| 1065 | - RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112) | ||
| 1066 | - RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113) | ||
| 1067 | - RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114) | ||
| 1068 | - RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115) | ||
| 1069 | - | ||
| 1070 | #ifndef RELOC_MACROS_GEN_FUNC | ||
| 1071 | /* Fake relocation only used internally by ld. */ | ||
| 1072 | RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128) | ||
| 1073 | @@ -169,9 +161,8 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) | ||
| 1074 | |||
| 1075 | END_RELOC_NUMBERS (R_PPC64_max) | ||
| 1076 | |||
| 1077 | -#define IS_PPC64_TLS_RELOC(R) \ | ||
| 1078 | - (((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \ | ||
| 1079 | - || ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA)) | ||
| 1080 | +#define IS_PPC64_TLS_RELOC(R) \ | ||
| 1081 | + ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) | ||
| 1082 | |||
| 1083 | |||
| 1084 | /* e_flags bits specifying ABI. | ||
| 1085 | -- | ||
| 1086 | 1.7.9.5 | ||
| 1087 | |||
diff --git a/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend new file mode 100644 index 0000000..c9eeb4e --- /dev/null +++ b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend | |||
| @@ -0,0 +1 @@ | |||
| BBCLASSEXTEND += " nativesdk" | |||
diff --git a/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch new file mode 100644 index 0000000..88a8a54 --- /dev/null +++ b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | valgrind: Disable Power ISA 2.07 check | ||
| 2 | |||
| 3 | The Power ISA 2.07 check fails when not supported by both machine | ||
| 4 | architecture and gcc. | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [disable feature] | ||
| 7 | |||
| 8 | Signed-off-by: Gabriel Barbu <gabriel.barbu@enea.com> | ||
| 9 | |||
| 10 | --- a/configure.ac 2014-05-05 17:06:29.674630565 +0200 | ||
| 11 | +++ b/configure.ac 2014-05-06 13:16:47.525598513 +0200 | ||
| 12 | @@ -1316,18 +1316,25 @@ | ||
| 13 | AM_CONDITIONAL(BUILD_DFP_TESTS, test x$ac_gcc_have_dfp_type = xyes) | ||
| 14 | |||
| 15 | # isa 2.07 checking | ||
| 16 | -AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) | ||
| 17 | +AC_ARG_ENABLE([isa_2_07_check], | ||
| 18 | + [AS_HELP_STRING([--disable-isa_2_07_check], | ||
| 19 | + [disable Power ISA 2.07 check])], | ||
| 20 | + [], | ||
| 21 | + [disable_isa_2_07_check=no]) | ||
| 22 | |||
| 23 | -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
| 24 | -]], [[ | ||
| 25 | - __asm__ __volatile__("mtvsrd 1,2 "); | ||
| 26 | -]])], [ | ||
| 27 | -ac_asm_have_isa_2_07=yes | ||
| 28 | -AC_MSG_RESULT([yes]) | ||
| 29 | -], [ | ||
| 30 | -ac_asm_have_isa_2_07=no | ||
| 31 | -AC_MSG_RESULT([no]) | ||
| 32 | -]) | ||
| 33 | +AS_IF([test "x$disable_isa_2_07_check" = xno], | ||
| 34 | + [AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) | ||
| 35 | + | ||
| 36 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
| 37 | + ]], [[ | ||
| 38 | + __asm__ __volatile__("mtvsrd 1,2 "); | ||
| 39 | + ]])], [ | ||
| 40 | + ac_asm_have_isa_2_07=yes | ||
| 41 | + AC_MSG_RESULT([yes]) | ||
| 42 | + ], [ | ||
| 43 | + ac_asm_have_isa_2_07=no | ||
| 44 | + AC_MSG_RESULT([no]) | ||
| 45 | + ])]) | ||
| 46 | |||
| 47 | AM_CONDITIONAL(HAS_ISA_2_07, test x$ac_asm_have_isa_2_07 = xyes) | ||
| 48 | |||
diff --git a/recipes-devtools/valgrind/valgrind_3.9.0.bbappend b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend new file mode 100644 index 0000000..4af368d --- /dev/null +++ b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | EXTRA_OECONF_append_b4860qds-64b = " --disable-isa_2_07_check" | ||
| 2 | |||
| 3 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
| 4 | |||
| 5 | SRC_URI += "\ | ||
| 6 | file://disable-power-isa-2.07-check.patch \ | ||
| 7 | " | ||
| 8 | |||
| 9 | do_compile_ptest_zc702-zynq7-prt() { | ||
| 10 | # This is to replace the ptest building part that fails due to | ||
| 11 | # internal compiler error on ARM targets (LXCR-3358) | ||
| 12 | echo "" | ||
| 13 | } | ||
| 14 | |||
| 15 | do_compile_ptest_zc702-zynq7() { | ||
| 16 | # This is to replace the ptest building part that fails due to | ||
| 17 | # internal compiler error on ARM targets (LXCR-3358) | ||
| 18 | echo "" | ||
| 19 | } | ||
| 20 | |||
| 21 | do_compile_ptest_k2hk-evm() { | ||
| 22 | # This is to replace the ptest building part that fails due to | ||
| 23 | # internal compiler error on ARM targets (LXCR-3358) | ||
| 24 | echo "" | ||
| 25 | } | ||
| 26 | do_compile_ptest_proliant-m800() { | ||
| 27 | # This is to replace the ptest building part that fails due to | ||
| 28 | # internal compiler error on ARM targets (LXCR-3358) | ||
| 29 | echo "" | ||
| 30 | } | ||
diff --git a/recipes-enea/count-ticks/count-ticks/run-ptest b/recipes-enea/count-ticks/count-ticks/run-ptest new file mode 100644 index 0000000..b54364a --- /dev/null +++ b/recipes-enea/count-ticks/count-ticks/run-ptest | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | #!/bin/sh -eu | ||
| 2 | |||
| 3 | fail () { | ||
| 4 | printf "%s\n" "$*" | ||
| 5 | exit | ||
| 6 | } | ||
| 7 | |||
| 8 | count_ticks --cpu 0 --start || fail "Failed starting tick counting" | ||
| 9 | find /usr -name dummy 2>&1 > /dev/null | ||
| 10 | |||
| 11 | nr_ticks=$(count_ticks --batch --cpu 0 --end) | ||
| 12 | |||
| 13 | if [ $? -ne 0 ]; then | ||
| 14 | echo "FAIL: count_ticks failed execution" | ||
| 15 | exit | ||
| 16 | fi | ||
| 17 | |||
| 18 | if [ $nr_ticks == 0 ]; then | ||
| 19 | echo "FAIL: count_ticks didn't see any ticks" | ||
| 20 | exit | ||
| 21 | fi | ||
| 22 | |||
| 23 | echo "PASS: count_ticks" | ||
diff --git a/recipes-enea/count-ticks/count-ticks_1.1.bb b/recipes-enea/count-ticks/count-ticks_1.1.bb new file mode 100644 index 0000000..caa6ed7 --- /dev/null +++ b/recipes-enea/count-ticks/count-ticks_1.1.bb | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | SUMMARY = "Tick count tool" | ||
| 2 | DESCRIPTION = "Count number of kernel ticks during command execution." | ||
| 3 | SECTION = "utils" | ||
| 4 | LICENSE = "BSD" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" | ||
| 6 | |||
| 7 | PR = "r1" | ||
| 8 | |||
| 9 | RDEPENDS_${PN} = "bash" | ||
| 10 | |||
| 11 | SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ | ||
| 12 | file://run-ptest \ | ||
| 13 | " | ||
| 14 | |||
| 15 | SRCREV = "0fa0a8e084fe68e77a1f0968f2fbfa993292ae9c" | ||
| 16 | |||
| 17 | inherit ptest | ||
| 18 | |||
| 19 | S = "${WORKDIR}/git" | ||
| 20 | |||
| 21 | FILES_${PN} += "/bin/*" | ||
| 22 | |||
| 23 | do_install() { | ||
| 24 | install -D ${S}/install/bin/count_ticks ${D}/usr/bin/count_ticks | ||
| 25 | } | ||
diff --git a/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch b/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch new file mode 100644 index 0000000..42f3e99 --- /dev/null +++ b/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | Fixed buffer free problem when sending between threads in the same process. | ||
| 2 | |||
| 3 | Upstream-Status: Not Applicable | ||
| 4 | |||
| 5 | Signed-off-by: Huimin She <huimin.she@enea.com> | ||
| 6 | |||
| 7 | --- | ||
| 8 | diff -rup a/liblinx/linx.c b/liblinx/linx.c | ||
| 9 | --- a/liblinx/linx.c 2014-04-17 13:40:30.000000000 +0200 | ||
| 10 | +++ b/liblinx/linx.c 2014-07-24 14:22:30.264648751 +0200 | ||
| 11 | @@ -711,7 +711,10 @@ int linx_send(LINX * linx, union LINX_SI | ||
| 12 | if (ret == 0) { | ||
| 13 | sig_adm->sndrcv = sndrcv; | ||
| 14 | } | ||
| 15 | - adm_free_buf(linx, sig_adm); | ||
| 16 | + if (ret != 1) { | ||
| 17 | + /* Don't free signals sent back to itself, they are needed later! */ | ||
| 18 | + adm_free_buf(linx, sig_adm); | ||
| 19 | + } | ||
| 20 | out: | ||
| 21 | /* Take signal pointer from user. */ | ||
| 22 | *sig = LINX_NIL; | ||
diff --git a/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch b/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch new file mode 100644 index 0000000..05a4b7e --- /dev/null +++ b/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 5ea9763286eb43e01c4ef2f3db59e13367a77138 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: jack zhang <jack.zhang@enea.com> | ||
| 3 | Date: Mon, 17 Dec 2012 03:52:11 +0100 | ||
| 4 | Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea | ||
| 5 | Linux | ||
| 6 | Signed-off-by: jack zhang <jack.zhang@enea.com> | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | For details, see LINXCR-1518 | ||
| 10 | --- | ||
| 11 | liblinx/Makefile.am | 2 +- | ||
| 12 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/liblinx/Makefile.am b/liblinx/Makefile.am | ||
| 15 | index 8559e43..3ce47d6 100644 | ||
| 16 | --- a/liblinx/Makefile.am | ||
| 17 | +++ b/liblinx/Makefile.am | ||
| 18 | @@ -47,7 +47,7 @@ dist_man7_MANS = $(LINXROOT)/doc/man7/linx.7 | ||
| 19 | |||
| 20 | include $(LINXROOT)/flags.am | ||
| 21 | |||
| 22 | -include_HEADERS = \ | ||
| 23 | +nobase_include_HEADERS = \ | ||
| 24 | $(LINXROOT)/include/linx.h \ | ||
| 25 | $(LINXROOT)/include/linx_ioctl.h \ | ||
| 26 | $(LINXROOT)/include/linx_socket.h \ | ||
| 27 | -- | ||
| 28 | 1.7.5.4 | ||
| 29 | |||
diff --git a/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch b/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch new file mode 100644 index 0000000..af4b477 --- /dev/null +++ b/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | From a3b3dc8117490ddfcc2081fca5ff663e4157a106 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: jack zhang <jack.zhang@enea.com> | ||
| 3 | Date: Mon, 17 Dec 2012 03:57:15 +0100 | ||
| 4 | Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea | ||
| 5 | Linux | ||
| 6 | Signed-off-by: jack zhang <jack.zhang@enea.com> | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | For details, see LINXCR-1518 | ||
| 10 | --- | ||
| 11 | linxcfg/Makefile.am | 4 +--- | ||
| 12 | 1 files changed, 1 insertions(+), 3 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/linxcfg/Makefile.am b/linxcfg/Makefile.am | ||
| 15 | index 9fc8e84..287c71b 100644 | ||
| 16 | --- a/linxcfg/Makefile.am | ||
| 17 | +++ b/linxcfg/Makefile.am | ||
| 18 | @@ -24,16 +24,14 @@ dist_man1_MANS = \ | ||
| 19 | $(LINXROOT)/doc/man1/mkcmclcon.1 \ | ||
| 20 | $(LINXROOT)/doc/man1/rmcmclcon.1 | ||
| 21 | |||
| 22 | -include_HEADERS = \ | ||
| 23 | +nobase_include_HEADERS = \ | ||
| 24 | $(LINXROOT)/include/linxcfg.h \ | ||
| 25 | $(LINXROOT)/include/linux/ethcm_db_ioctl.h \ | ||
| 26 | $(LINXROOT)/include/linux/rlnh_db_ioctl.h \ | ||
| 27 | $(LINXROOT)/include/linux/tcpcm_db_ioctl.h \ | ||
| 28 | $(LINXROOT)/include/linux/shmcm_db_ioctl.h \ | ||
| 29 | - $(LINXROOT)/include/linux/riocm_db_ioctl.h \ | ||
| 30 | $(LINXROOT)/include/linux/cmcl_db_ioctl.h \ | ||
| 31 | $(LINXROOT)/include/linux/riocm_db_ioctl.h \ | ||
| 32 | - $(LINXROOT)/include/linux/cmcl_db_ioctl.h \ | ||
| 33 | $(LINXROOT)/include/db_ioctl.h \ | ||
| 34 | $(LINXROOT)/include/ethcm_db_ioctl.h \ | ||
| 35 | $(LINXROOT)/include/rlnh_db_ioctl.h \ | ||
| 36 | -- | ||
| 37 | 1.7.5.4 | ||
| 38 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch b/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch new file mode 100644 index 0000000..f29019b --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch | |||
| @@ -0,0 +1,288 @@ | |||
| 1 | Use KERNEL_SRC and modules_install to get use of pokys build kernel modules. | ||
| 2 | fix version.h problem. | ||
| 3 | |||
| 4 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> | ||
| 5 | |||
| 6 | Upstream-status: Pending | ||
| 7 | --- | ||
| 8 | diff -uNr a/cmcl/Makefile b/cmcl/Makefile | ||
| 9 | --- a/cmcl/Makefile 2013-02-25 15:46:59.777325274 +0100 | ||
| 10 | +++ b/cmcl/Makefile 2013-02-25 15:57:22.038398316 +0100 | ||
| 11 | @@ -3,8 +3,8 @@ | ||
| 12 | LINX ?= $(CURDIR)/../../.. | ||
| 13 | include $(LINX)/net/linx/config.mk | ||
| 14 | |||
| 15 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 16 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 17 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 18 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 19 | |||
| 20 | ifneq ($(VENDOR_VERSION), "") | ||
| 21 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
| 22 | @@ -38,15 +38,17 @@ | ||
| 23 | |||
| 24 | linx_cmcl-y += cmcl.o | ||
| 25 | |||
| 26 | +SRC := $(shell pwd) | ||
| 27 | + | ||
| 28 | modules: | ||
| 29 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
| 30 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
| 31 | $(CP) linx_cmcl.ko .. | ||
| 32 | |||
| 33 | clean: | ||
| 34 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
| 35 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
| 36 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_cmcl.ko | ||
| 37 | |||
| 38 | -install: modules | ||
| 39 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
| 40 | +modules_install: modules | ||
| 41 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
| 42 | depmod | ||
| 43 | |||
| 44 | diff -uNr a/config.mk b/config.mk | ||
| 45 | --- a/config.mk 2013-02-25 15:46:59.781325113 +0100 | ||
| 46 | +++ b/config.mk 2013-02-25 16:13:30.672459997 +0100 | ||
| 47 | @@ -3,7 +3,7 @@ | ||
| 48 | # CROSS_COMPILE is cross compiler prefix (including full path) | ||
| 49 | CROSS_COMPILE ?= | ||
| 50 | # KERNEL is the path to your kernel sources | ||
| 51 | -KERNEL ?= | ||
| 52 | +KERNEL_SRC ?= | ||
| 53 | |||
| 54 | # Host architecture | ||
| 55 | HOST_ARCH ?= $(patsubst i%86,i386,$(shell uname -m)) | ||
| 56 | @@ -26,13 +26,13 @@ | ||
| 57 | endif | ||
| 58 | |||
| 59 | ifeq ($(ARCH),$(HOST_ARCH)) | ||
| 60 | -ifndef KERNEL | ||
| 61 | -KERNEL := $(HOST_KERNEL) | ||
| 62 | +ifndef KERNEL_SRC | ||
| 63 | +KERNEL_SRC := $(HOST_KERNEL) | ||
| 64 | endif | ||
| 65 | else | ||
| 66 | -ifndef KERNEL | ||
| 67 | +ifndef KERNEL_SRC | ||
| 68 | ifdef NEED_KERNEL | ||
| 69 | -$(error Please define KERNEL.) | ||
| 70 | +$(error Please define KERNEL_SRC.) | ||
| 71 | endif | ||
| 72 | endif | ||
| 73 | endif | ||
| 74 | @@ -53,8 +53,8 @@ | ||
| 75 | ifdef CROSS_COMPILE | ||
| 76 | $(ECHO) "# CROSS_COMPILE=$(CROSS_COMPILE)" | ||
| 77 | endif | ||
| 78 | -ifdef KERNEL | ||
| 79 | - $(ECHO) "# KERNEL=$(KERNEL)" | ||
| 80 | +ifdef KERNEL_SRC | ||
| 81 | + $(ECHO) "# KERNEL_SRC=$(KERNEL_SRC)" | ||
| 82 | endif | ||
| 83 | ifdef VERBOSE | ||
| 84 | $(ECHO) "# VERBOSE=$(VERBOSE)" | ||
| 85 | @@ -62,7 +62,7 @@ | ||
| 86 | $(ECHO) "# VERBOSE=no" | ||
| 87 | endif | ||
| 88 | |||
| 89 | -export ARCH CROSS_COMPILE KERNEL LINX | ||
| 90 | +export ARCH CROSS_COMPILE KERNEL_SRC LINX | ||
| 91 | |||
| 92 | .PHONY: echo_config | ||
| 93 | |||
| 94 | @@ -117,5 +117,5 @@ | ||
| 95 | # in the mercury linux distribution. | ||
| 96 | EXTRA_CFLAGS += -I$(KDIR)/arch/ppc -DRLNH_ALIGN_ANY | ||
| 97 | else # x86 | ||
| 98 | -KDIR := /lib/modules/$(shell uname -r)/build | ||
| 99 | +KDIR := /lib/modules/$(KERNEL_VERSION)/build | ||
| 100 | endif | ||
| 101 | diff -uNr a/ecm/Makefile b/ecm/Makefile | ||
| 102 | --- a/ecm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
| 103 | +++ b/ecm/Makefile 2013-02-25 16:11:13.754388313 +0100 | ||
| 104 | @@ -5,8 +5,8 @@ | ||
| 105 | LINX ?= $(CURDIR)/../../.. | ||
| 106 | include $(LINX)/net/linx/config.mk | ||
| 107 | |||
| 108 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 109 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 110 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 111 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 112 | |||
| 113 | ifneq ($(VENDOR_VERSION), "") | ||
| 114 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
| 115 | @@ -43,14 +43,16 @@ | ||
| 116 | linx_eth_cm-y += ecm_rx.o | ||
| 117 | linx_eth_cm-y += ecm_kutils.o | ||
| 118 | |||
| 119 | +SRC := $(shell pwd) | ||
| 120 | + | ||
| 121 | modules: | ||
| 122 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
| 123 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
| 124 | $(CP) linx_eth_cm.ko .. | ||
| 125 | |||
| 126 | clean: | ||
| 127 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
| 128 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
| 129 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_eth_cm.ko | ||
| 130 | |||
| 131 | -install: modules | ||
| 132 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
| 133 | +modules_install: modules | ||
| 134 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
| 135 | depmod | ||
| 136 | diff -uNr a/Makefile b/Makefile | ||
| 137 | --- a/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
| 138 | +++ b/Makefile 2013-02-25 15:53:22.752757899 +0100 | ||
| 139 | @@ -63,9 +63,9 @@ | ||
| 140 | 2_6_11 := 132619 | ||
| 141 | |||
| 142 | # Vendors version of kernel, needed to catch certain back patches | ||
| 143 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 144 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 145 | # Main line kernel version | ||
| 146 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 147 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 148 | |||
| 149 | # | ||
| 150 | # 'gt_or_eq' | ||
| 151 | @@ -140,14 +140,16 @@ | ||
| 152 | obj-y += riocm/ | ||
| 153 | obj-y += cmcl/ | ||
| 154 | |||
| 155 | +SRC := $(shell pwd) | ||
| 156 | + | ||
| 157 | modules: | ||
| 158 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
| 159 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
| 160 | $(CP) */*.ko . | ||
| 161 | clean: | ||
| 162 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
| 163 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
| 164 | $(LINXRM) Module.symvers Module.markers modules.order | ||
| 165 | |||
| 166 | -install: modules | ||
| 167 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
| 168 | +modules_install: modules | ||
| 169 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
| 170 | depmod | ||
| 171 | |||
| 172 | diff -uNr a/riocm/Makefile b/riocm/Makefile | ||
| 173 | --- a/riocm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
| 174 | +++ b/riocm/Makefile 2013-02-25 16:05:33.381125565 +0100 | ||
| 175 | @@ -5,8 +5,8 @@ | ||
| 176 | LINX ?= $(CURDIR)/../../.. | ||
| 177 | include $(LINX)/net/linx/config.mk | ||
| 178 | |||
| 179 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 180 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 181 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 182 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 183 | |||
| 184 | ifneq ($(VENDOR_VERSION), "") | ||
| 185 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
| 186 | @@ -43,15 +43,17 @@ | ||
| 187 | linx_rio_cm-y += rio_rx.o | ||
| 188 | linx_rio_cm-y += rio_kutils.o | ||
| 189 | |||
| 190 | +SRC := $(shell pwd) | ||
| 191 | + | ||
| 192 | modules: | ||
| 193 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
| 194 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
| 195 | $(CP) linx_rio_cm.ko .. | ||
| 196 | |||
| 197 | clean: | ||
| 198 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
| 199 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
| 200 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_rio_cm.ko | ||
| 201 | |||
| 202 | -install: modules | ||
| 203 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
| 204 | +modules_install: modules | ||
| 205 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
| 206 | depmod | ||
| 207 | |||
| 208 | diff -uNr a/shmcm/Makefile b/shmcm/Makefile | ||
| 209 | --- a/shmcm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
| 210 | +++ b/shmcm/Makefile 2013-02-25 16:03:58.113250295 +0100 | ||
| 211 | @@ -5,8 +5,8 @@ | ||
| 212 | LINX ?= $(CURDIR)/../../.. | ||
| 213 | include $(LINX)/net/linx/config.mk | ||
| 214 | |||
| 215 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 216 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 217 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 218 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 219 | |||
| 220 | ifneq ($(VENDOR_VERSION), "") | ||
| 221 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
| 222 | @@ -60,7 +60,7 @@ | ||
| 223 | -I$(LINX)/net/linx/include \ | ||
| 224 | -I$(LINX)/net/linx/shmcm | ||
| 225 | |||
| 226 | -INSTALLDIR = /lib/modules/`uname -r`/kernel/net/linx | ||
| 227 | +INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/net/linx | ||
| 228 | MODULES = linx_shm_cm.ko | ||
| 229 | |||
| 230 | obj-m := linx_shm_cm.o | ||
| 231 | @@ -70,15 +70,17 @@ | ||
| 232 | linx_shm_cm-y += shmcm_tx.o | ||
| 233 | linx_shm_cm-y += shmcm_kutils.o | ||
| 234 | |||
| 235 | +SRC := $(shell pwd) | ||
| 236 | + | ||
| 237 | modules: | ||
| 238 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
| 239 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
| 240 | $(CP) linx_shm_cm.ko .. | ||
| 241 | |||
| 242 | clean: | ||
| 243 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
| 244 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
| 245 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_shm_cm.ko | ||
| 246 | |||
| 247 | -install: modules | ||
| 248 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
| 249 | +modules_install: modules | ||
| 250 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
| 251 | depmod | ||
| 252 | |||
| 253 | diff -uNr a/tcp_cm/Makefile b/tcp_cm/Makefile | ||
| 254 | --- a/tcp_cm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
| 255 | +++ b/tcp_cm/Makefile 2013-02-25 16:10:09.097187839 +0100 | ||
| 256 | @@ -3,8 +3,8 @@ | ||
| 257 | LINX ?= $(CURDIR)/../../.. | ||
| 258 | include $(LINX)/net/linx/config.mk | ||
| 259 | |||
| 260 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 261 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
| 262 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 263 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
| 264 | |||
| 265 | ifneq ($(VENDOR_VERSION), "") | ||
| 266 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
| 267 | @@ -38,15 +38,17 @@ | ||
| 268 | |||
| 269 | linx_tcp_cm-y += tcp_cm.o | ||
| 270 | |||
| 271 | +SRC := $(shell pwd) | ||
| 272 | + | ||
| 273 | modules: | ||
| 274 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
| 275 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
| 276 | $(CP) linx_tcp_cm.ko .. | ||
| 277 | |||
| 278 | clean: | ||
| 279 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
| 280 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
| 281 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_tcp_cm.ko | ||
| 282 | |||
| 283 | -install: modules | ||
| 284 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
| 285 | +modules_install: modules | ||
| 286 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
| 287 | depmod | ||
| 288 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch new file mode 100644 index 0000000..d6f9106 --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch | |||
| @@ -0,0 +1,206 @@ | |||
| 1 | From 20294330f08283d28b6092b568156e29b1792328 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Adrian Dudau <adrian.dudau@enea.com> | ||
| 3 | Date: Thu, 12 Dec 2013 11:23:24 +0100 | ||
| 4 | Subject: [PATCH] support for 3.11 kernel versions | ||
| 5 | |||
| 6 | Fixed NULL pointer dereference in ecm_conn.c | ||
| 7 | |||
| 8 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
| 9 | --- | ||
| 10 | cfg/db_proc.c | 23 ++++++++++++++++++----- | ||
| 11 | ecm/ecm_conn.c | 11 ++++++++--- | ||
| 12 | ipc/hunt.c | 24 ++++++++++++++++++++++++ | ||
| 13 | 3 files changed, 50 insertions(+), 8 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/cfg/db_proc.c b/cfg/db_proc.c | ||
| 16 | index c062a3d..bad0353 100644 | ||
| 17 | --- a/cfg/db_proc.c | ||
| 18 | +++ b/cfg/db_proc.c | ||
| 19 | @@ -41,6 +41,12 @@ | ||
| 20 | #include "db_format.h" | ||
| 21 | #include <asm/uaccess.h> | ||
| 22 | |||
| 23 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) | ||
| 24 | +#define PDE_INODE_NAME(inode) PDE_DATA(inode) | ||
| 25 | +#else | ||
| 26 | +#define PDE_INODE_NAME(inode) PDE(inode)->name | ||
| 27 | +#endif | ||
| 28 | + | ||
| 29 | struct db_seq { | ||
| 30 | const struct db_template *template; | ||
| 31 | struct list_head *list; | ||
| 32 | @@ -148,11 +154,11 @@ static int db_proc_open(struct inode *inode, struct file *file) | ||
| 33 | if (status != 0) | ||
| 34 | goto out_20; | ||
| 35 | |||
| 36 | - status = db_template_get(PDE(inode)->name, &p->template); | ||
| 37 | + status = db_template_get(PDE_INODE_NAME(inode), &p->template); | ||
| 38 | if (status != 0) | ||
| 39 | goto out_20; | ||
| 40 | |||
| 41 | - status = db_list_get(PDE(inode)->name, &p->list); | ||
| 42 | + status = db_list_get(PDE_INODE_NAME(inode), &p->list); | ||
| 43 | if (status != 0) | ||
| 44 | goto out_10; | ||
| 45 | |||
| 46 | @@ -161,7 +167,7 @@ static int db_proc_open(struct inode *inode, struct file *file) | ||
| 47 | return 0; | ||
| 48 | |||
| 49 | out_10: | ||
| 50 | - db_template_put(PDE(inode)->name, &p->template); | ||
| 51 | + db_template_put(PDE_INODE_NAME(inode), &p->template); | ||
| 52 | out_20: | ||
| 53 | kfree(p); | ||
| 54 | return status; | ||
| 55 | @@ -217,11 +223,11 @@ static int db_proc_release(struct inode *inode, struct file *file) | ||
| 56 | s = file->private_data; | ||
| 57 | p = s->private; | ||
| 58 | |||
| 59 | - status = db_list_put(PDE(inode)->name, &p->list); | ||
| 60 | + status = db_list_put(PDE_INODE_NAME(inode), &p->list); | ||
| 61 | if (status != 0) | ||
| 62 | return status; | ||
| 63 | |||
| 64 | - status = db_template_put(PDE(inode)->name, &p->template); | ||
| 65 | + status = db_template_put(PDE_INODE_NAME(inode), &p->template); | ||
| 66 | if (status != 0) | ||
| 67 | return status; | ||
| 68 | |||
| 69 | @@ -258,14 +264,21 @@ int db_proc_add(const char *name) | ||
| 70 | { | ||
| 71 | struct proc_dir_entry *pde; | ||
| 72 | |||
| 73 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) | ||
| 74 | + pde = proc_create_data(name, 0777, db_proc_root, | ||
| 75 | + &db_proc_file_ops, (void *)name); | ||
| 76 | +#else | ||
| 77 | pde = create_proc_entry(name, 0777, db_proc_root); | ||
| 78 | +#endif | ||
| 79 | if (pde == NULL) | ||
| 80 | return -EINVAL; | ||
| 81 | |||
| 82 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) | ||
| 83 | pde->owner = THIS_MODULE; | ||
| 84 | #endif | ||
| 85 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) | ||
| 86 | pde->proc_fops = &db_proc_file_ops; | ||
| 87 | +#endif | ||
| 88 | return 0; | ||
| 89 | } | ||
| 90 | EXPORT_SYMBOL(db_proc_add); | ||
| 91 | diff --git a/ecm/ecm_conn.c b/ecm/ecm_conn.c | ||
| 92 | index aaf5161..b81abd1 100644 | ||
| 93 | --- a/ecm/ecm_conn.c | ||
| 94 | +++ b/ecm/ecm_conn.c | ||
| 95 | @@ -905,8 +905,9 @@ static void free_ecm_connection(struct RlnhLinkObj *co) | ||
| 96 | { | ||
| 97 | /* Undo alloc_ecm_connection(). */ | ||
| 98 | if (co != NULL) { | ||
| 99 | - if (list_empty(&co->ecm_dev->conn_list)) | ||
| 100 | - dev_remove_pack(&co->ecm_dev->pt); | ||
| 101 | + if (co->ecm_dev != NULL) | ||
| 102 | + if (list_empty(&co->ecm_dev->conn_list)) | ||
| 103 | + dev_remove_pack(&co->ecm_dev->pt); | ||
| 104 | if (co->con_name != NULL) | ||
| 105 | kfree(co->con_name); | ||
| 106 | if (co->dev_name != NULL) | ||
| 107 | @@ -1315,7 +1316,11 @@ static int net_event(struct notifier_block *nb, unsigned long event, void *data) | ||
| 108 | struct ecm_work_net_event *p; | ||
| 109 | |||
| 110 | (void)nb; | ||
| 111 | - dev = data; | ||
| 112 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) | ||
| 113 | + dev = netdev_notifier_info_to_dev(data); | ||
| 114 | +#else | ||
| 115 | + dev = data; | ||
| 116 | +#endif | ||
| 117 | |||
| 118 | w = alloc_ecm_work(sizeof(*p), ECM_WORK_NET_EVENT, GFP_KERNEL); | ||
| 119 | if (w == NULL) | ||
| 120 | diff --git a/ipc/hunt.c b/ipc/hunt.c | ||
| 121 | index 843a893..f4564eb 100644 | ||
| 122 | --- a/ipc/hunt.c | ||
| 123 | +++ b/ipc/hunt.c | ||
| 124 | @@ -743,7 +743,9 @@ static inline struct sock *__locate_name(const char *name, | ||
| 125 | unsigned hash, uint32_t hunter_spid) | ||
| 126 | { | ||
| 127 | struct sock *s, *s_found = NULL; | ||
| 128 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) | ||
| 129 | struct hlist_node *node; | ||
| 130 | +#endif | ||
| 131 | |||
| 132 | linx_trace_enter(LINX_TRACEGROUP_IPC, | ||
| 133 | "%s, %d, 0x%x, 0x%x", name, len, hash, hunter_spid); | ||
| 134 | @@ -753,7 +755,11 @@ static inline struct sock *__locate_name(const char *name, | ||
| 135 | |||
| 136 | /* Traverse the list of sockets in the specified hash slot to find a | ||
| 137 | match. */ | ||
| 138 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
| 139 | + sk_for_each(s, &linx_sockets_bound[hash]) { | ||
| 140 | +#else | ||
| 141 | sk_for_each(s, node, &linx_sockets_bound[hash]) { | ||
| 142 | +#endif | ||
| 143 | linx_check_sock(s); | ||
| 144 | |||
| 145 | /* If the length of the aname are the same, potential match was found. */ | ||
| 146 | @@ -1122,7 +1128,9 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
| 147 | LINX_SPID __user * spids) | ||
| 148 | { | ||
| 149 | struct sock *sk; | ||
| 150 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) | ||
| 151 | const struct hlist_node *node; | ||
| 152 | +#endif | ||
| 153 | int i, tot_sockets = 0, tot_sockets_tmp = 0, max_sockets; | ||
| 154 | |||
| 155 | LINX_ASSERT(isockets != NULL); | ||
| 156 | @@ -1131,7 +1139,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
| 157 | |||
| 158 | read_lock_bh(&linx_socket_bound_unbound_lock); | ||
| 159 | /* Count the number of sockets the needs to be returned. */ | ||
| 160 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
| 161 | + sk_for_each(sk, &linx_sockets_unbound) { | ||
| 162 | +#else | ||
| 163 | sk_for_each(sk, node, &linx_sockets_unbound) { | ||
| 164 | +#endif | ||
| 165 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && isockets->remote) { | ||
| 166 | tot_sockets_tmp++; | ||
| 167 | } else if (linx_sk(sk)->type == LINX_TYPE_LOCAL && | ||
| 168 | @@ -1156,7 +1168,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
| 169 | |||
| 170 | tot_sockets_tmp = 0; | ||
| 171 | |||
| 172 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
| 173 | + sk_for_each(sk, &linx_sockets_unbound) { | ||
| 174 | +#else | ||
| 175 | sk_for_each(sk, node, &linx_sockets_unbound) { | ||
| 176 | +#endif | ||
| 177 | LINX_SPID spid = linx_sock_to_spid(sk); | ||
| 178 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && | ||
| 179 | isockets->remote) { | ||
| 180 | @@ -1197,7 +1213,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
| 181 | for (i = 0; i < LINX_HASH_SIZE; i++) { | ||
| 182 | tot_sockets_tmp = 0; | ||
| 183 | read_lock_bh(&linx_socket_bound_unbound_lock); | ||
| 184 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
| 185 | + sk_for_each(sk, &linx_sockets_bound[i]) { | ||
| 186 | +#else | ||
| 187 | sk_for_each(sk, node, &linx_sockets_bound[i]) { | ||
| 188 | +#endif | ||
| 189 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && | ||
| 190 | isockets->remote) { | ||
| 191 | tot_sockets_tmp++; | ||
| 192 | @@ -1222,7 +1242,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
| 193 | } | ||
| 194 | |||
| 195 | tot_sockets_tmp = 0; | ||
| 196 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
| 197 | + sk_for_each(sk, &linx_sockets_bound[i]) { | ||
| 198 | +#else | ||
| 199 | sk_for_each(sk, node, &linx_sockets_bound[i]) { | ||
| 200 | +#endif | ||
| 201 | LINX_SPID spid = linx_sock_to_spid(sk); | ||
| 202 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && | ||
| 203 | isockets->remote) { | ||
| 204 | -- | ||
| 205 | 1.8.3.2 | ||
| 206 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch new file mode 100644 index 0000000..60c69a8 --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | Fixed build errors for linx_mod with kernel 3.12.X. | ||
| 2 | |||
| 3 | For details, see [LXCR-3427]. | ||
| 4 | |||
| 5 | Upstream-Status: Not Applicable | ||
| 6 | |||
| 7 | Signed-off-by: Liviu Gheorghisan <liviu.gheorghisan@enea.com> | ||
| 8 | |||
| 9 | --- | ||
| 10 | --- a/af_linx.c 2014-04-02 10:19:44.000000000 +0300 | ||
| 11 | +++ b/af_linx.c 2014-07-23 17:40:01.629687646 +0300 | ||
| 12 | @@ -1034,8 +1034,11 @@ | ||
| 13 | failure: | ||
| 14 | *errcode = err; | ||
| 15 | return NULL; | ||
| 16 | -#else | ||
| 17 | +#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0) | ||
| 18 | return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode); | ||
| 19 | +#else | ||
| 20 | + /* max_page_order == 0 => no paged allocations */ | ||
| 21 | + return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode, 0); | ||
| 22 | #endif | ||
| 23 | } | ||
| 24 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch new file mode 100644 index 0000000..80118a4 --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | Fixed build errors for linx-mod with kernel >= 3.15.0 | ||
| 2 | |||
| 3 | Upstream-Status: Not Applicable | ||
| 4 | |||
| 5 | Signed-off-by: Huimin She <huimin.she@enea.com> | ||
| 6 | |||
| 7 | --- | ||
| 8 | diff -rup a/af_linx.c b/af_linx.c | ||
| 9 | --- a/af_linx.c 2014-07-25 16:22:23.295570583 +0200 | ||
| 10 | +++ b/af_linx.c 2014-07-25 16:22:23.299570583 +0200 | ||
| 11 | @@ -743,7 +743,11 @@ setup_receive_filter(struct sock *sk, st | ||
| 12 | /* This function is called to wake up a receiving socket when it is sleeping | ||
| 13 | * waiting for a new message in poll or select. | ||
| 14 | */ | ||
| 15 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
| 16 | static void linx_data_ready(struct sock *sk, int len) | ||
| 17 | +#else | ||
| 18 | +static void linx_data_ready(struct sock *sk) | ||
| 19 | +#endif | ||
| 20 | { | ||
| 21 | linx_check_sock(sk); | ||
| 22 | |||
| 23 | @@ -1401,7 +1405,11 @@ linx_do_legacy_sendmsg(struct sock *sk, | ||
| 24 | LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); | ||
| 25 | #endif | ||
| 26 | /* Wake up the receiver, if it sleeps and wait for the signal. */ | ||
| 27 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
| 28 | to->sk_data_ready(to, payload_size); | ||
| 29 | +#else | ||
| 30 | + to->sk_data_ready(to); | ||
| 31 | +#endif | ||
| 32 | |||
| 33 | return 0; | ||
| 34 | out: | ||
| 35 | @@ -1577,7 +1585,11 @@ linx_do_sendmsg(struct sock *sk, | ||
| 36 | LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); | ||
| 37 | #endif | ||
| 38 | /* Wake up the receiver, if it sleeps and wait for the signal. */ | ||
| 39 | - to->sk_data_ready(to, payload_size); | ||
| 40 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
| 41 | + to->sk_data_ready(to, payload_size); | ||
| 42 | +#else | ||
| 43 | + to->sk_data_ready(to); | ||
| 44 | +#endif | ||
| 45 | |||
| 46 | return 0; | ||
| 47 | out: | ||
| 48 | @@ -1636,7 +1648,11 @@ int __linx_do_sendmsg_skb_to_local_sk(st | ||
| 49 | LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); | ||
| 50 | #endif | ||
| 51 | /* Wake up the receiver, if it sleeps and waits for the signal. */ | ||
| 52 | - to->sk_data_ready(to, payload_size); | ||
| 53 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
| 54 | + to->sk_data_ready(to, payload_size); | ||
| 55 | +#else | ||
| 56 | + to->sk_data_ready(to); | ||
| 57 | +#endif | ||
| 58 | |||
| 59 | return 0; | ||
| 60 | } | ||
diff --git a/recipes-enea/linx/linx-mod_2.6.6.bb b/recipes-enea/linx/linx-mod_2.6.6.bb new file mode 100644 index 0000000..18adef9 --- /dev/null +++ b/recipes-enea/linx/linx-mod_2.6.6.bb | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | SUMMARY = "LINX for Linux fast IPC" | ||
| 2 | DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems." | ||
| 3 | HOMEPAGE = "http://linx.sourceforge.net/" | ||
| 4 | |||
| 5 | SECTION = "kernel/modules" | ||
| 6 | |||
| 7 | LICENSE = "GPLv2" | ||
| 8 | LIC_FILES_CHKSUM = "file://../../COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
| 9 | |||
| 10 | DEPENDS = "linux-libc-headers linx" | ||
| 11 | RRECOMMENDS_${PN} = "linx kmod" | ||
| 12 | |||
| 13 | SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \ | ||
| 14 | file://support-for-3.12-kernels.patch \ | ||
| 15 | file://support-for-3.15-kernels.patch" | ||
| 16 | |||
| 17 | SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571" | ||
| 18 | SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799" | ||
| 19 | |||
| 20 | S = "${WORKDIR}/linx-${PV}/net/linx" | ||
| 21 | |||
| 22 | inherit module | ||
| 23 | |||
| 24 | module_do_compile_prepend () { | ||
| 25 | |||
| 26 | HAS_LOADABLE_MODULES=$(cat ${STAGING_KERNEL_DIR}/.config | grep "CONFIG_MODULES=y") | ||
| 27 | |||
| 28 | if [[ ${#HAS_LOADABLE_MODULES} -eq 0 ]] ; then | ||
| 29 | echo "The specified Linux kernel has no support for pluggable modules (CONFIG_MODULES=y). Enable it before baking this." | ||
| 30 | exit 1 | ||
| 31 | fi | ||
| 32 | |||
| 33 | do_make_scripts | ||
| 34 | } | ||
diff --git a/recipes-enea/linx/linx.inc b/recipes-enea/linx/linx.inc new file mode 100644 index 0000000..3160cfb --- /dev/null +++ b/recipes-enea/linx/linx.inc | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | SUMMARY = "LINX for Linux fast IPC" | ||
| 2 | DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems." | ||
| 3 | HOMEPAGE = "http://linx.sourceforge.net/" | ||
| 4 | SECTION = "system/library" | ||
| 5 | |||
| 6 | DEPENDS = "linux-libc-headers virtual/libc" | ||
| 7 | RRECOMMENDS_${PN} = "linx-mod" | ||
| 8 | |||
| 9 | SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \ | ||
| 10 | file://liblinx_free_buf.patch" | ||
| 11 | |||
| 12 | SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571" | ||
| 13 | SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799" | ||
| 14 | |||
| 15 | S = "${WORKDIR}/linx-${PV}" | ||
| 16 | |||
| 17 | inherit autotools-brokensep | ||
| 18 | |||
| 19 | do_install_append () { | ||
| 20 | mkdir -p ${D}/etc | ||
| 21 | install -m 644 ${S}/linxgw/linxgws/example.conf ${D}/etc/linxgws.conf | ||
| 22 | } | ||
| 23 | |||
diff --git a/recipes-enea/linx/linx_2.6.6.bb b/recipes-enea/linx/linx_2.6.6.bb new file mode 100644 index 0000000..79f7ed7 --- /dev/null +++ b/recipes-enea/linx/linx_2.6.6.bb | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | require linx.inc | ||
| 2 | LICENSE = "BSD" | ||
| 3 | |||
| 4 | PR = "r0" | ||
| 5 | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
diff --git a/recipes-enea/list2mask/list2mask/run-ptest b/recipes-enea/list2mask/list2mask/run-ptest new file mode 100644 index 0000000..9eb6c2f --- /dev/null +++ b/recipes-enea/list2mask/list2mask/run-ptest | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #!/bin/sh -eu | ||
| 2 | |||
| 3 | mask=$(list2mask --cpus 2-3,5,7-8) | ||
| 4 | |||
| 5 | if [ $? -ne 0 ]; then | ||
| 6 | echo "FAIL: list2mask failed to execute" | ||
| 7 | exit | ||
| 8 | fi | ||
| 9 | |||
| 10 | if [ "$mask" != "1ac" ]; then | ||
| 11 | echo "FAIL: list2mask returns mask '$mask', expected '1ac'" | ||
| 12 | exit | ||
| 13 | fi | ||
| 14 | |||
| 15 | echo "PASS: list2mask" | ||
diff --git a/recipes-enea/list2mask/list2mask_1.0.bb b/recipes-enea/list2mask/list2mask_1.0.bb new file mode 100644 index 0000000..d72bcda --- /dev/null +++ b/recipes-enea/list2mask/list2mask_1.0.bb | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | SUMMARY = "Translate CPU list to a CPU mask" | ||
| 2 | DESCRIPTION = "Translate CPU list given on command line to a hexadecimal CPU mask. Can use kernel boot parameters isolcpus or nohz_full as input as well as a list given on command line." | ||
| 3 | SECTION = "utils" | ||
| 4 | LICENSE = "BSD" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" | ||
| 6 | |||
| 7 | PR = "r1" | ||
| 8 | |||
| 9 | RDEPENDS_${PN} = "bash" | ||
| 10 | |||
| 11 | SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ | ||
| 12 | file://run-ptest \ | ||
| 13 | " | ||
| 14 | |||
| 15 | SRCREV = "db6eff03d80c04803fb146939c504b500e16fe2f" | ||
| 16 | |||
| 17 | inherit ptest | ||
| 18 | |||
| 19 | S = "${WORKDIR}/git" | ||
| 20 | |||
| 21 | FILES_${PN} += "/bin/*" | ||
| 22 | |||
| 23 | do_install() { | ||
| 24 | install -D ${S}/install/bin/${PN} ${D}/usr/bin/${PN} | ||
| 25 | } | ||
diff --git a/recipes-enea/partrt/partrt/run-ptest b/recipes-enea/partrt/partrt/run-ptest new file mode 100644 index 0000000..b84af18 --- /dev/null +++ b/recipes-enea/partrt/partrt/run-ptest | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | ./test_partition.py target -v | ||
| 4 | |||
| 5 | if [ $? -eq 0 ]; then | ||
| 6 | echo "PASS: test_partition" | ||
| 7 | else | ||
| 8 | echo "FAIL: test_partition" | ||
| 9 | fi | ||
diff --git a/recipes-enea/partrt/partrt_1.1.bb b/recipes-enea/partrt/partrt_1.1.bb new file mode 100644 index 0000000..8113805 --- /dev/null +++ b/recipes-enea/partrt/partrt_1.1.bb | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | SUMMARY = "CPU partitioning tool" | ||
| 2 | DESCRIPTION = "partrt is a tool for dividing a SMP Linux system into a real time domain and a non-real time domain." | ||
| 3 | SECTION = "utils" | ||
| 4 | LICENSE = "BSD" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" | ||
| 6 | |||
| 7 | RDEPENDS_${PN} = "bash" | ||
| 8 | RDEPENDS_${PN}-ptest += "python" | ||
| 9 | |||
| 10 | SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ | ||
| 11 | file://run-ptest \ | ||
| 12 | " | ||
| 13 | |||
| 14 | SRCREV = "cbe36a4946a2b3bb4927ca3b8ac800111ae9ce49" | ||
| 15 | |||
| 16 | inherit ptest | ||
| 17 | |||
| 18 | S = "${WORKDIR}/git" | ||
| 19 | |||
| 20 | FILES_${PN} += "/bin/*" | ||
| 21 | |||
| 22 | do_install() { | ||
| 23 | install -d ${D}/usr/bin | ||
| 24 | install ${S}/install/bin/partrt ${D}/usr/bin | ||
| 25 | } | ||
| 26 | |||
| 27 | do_install_ptest() { | ||
| 28 | install ${S}/test/test_partition.py ${D}${PTEST_PATH} | ||
| 29 | sed -i s/target/${MACHINE}/ ${D}${PTEST_PATH}/run-ptest | ||
| 30 | } | ||
diff --git a/recipes-extended/libuio/libuio/run-ptest b/recipes-extended/libuio/libuio/run-ptest new file mode 100644 index 0000000..46c80b5 --- /dev/null +++ b/recipes-extended/libuio/libuio/run-ptest | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | echo "SKIP: no upstream test" | ||
| 3 | |||
diff --git a/recipes-extended/libuio/libuio_git.bb b/recipes-extended/libuio/libuio_git.bb new file mode 100644 index 0000000..216c678 --- /dev/null +++ b/recipes-extended/libuio/libuio_git.bb | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | SUMMARY = "libUIO" | ||
| 2 | DESCRIPTION = "Provide a generic framework for handling devices in userspace." | ||
| 3 | HOMEPAGE = "https://www.osadl.org/UIO.uio.0.html" | ||
| 4 | SECTION = "libs" | ||
| 5 | LICENSE = "GPLv2" | ||
| 6 | |||
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
| 8 | |||
| 9 | SRCREV = "cc233857ba1613801e7218d07127d19608a99702" | ||
| 10 | PR = "r0" | ||
| 11 | PV = "1.0+git${SRCPV}" | ||
| 12 | |||
| 13 | SRC_URI = "git://git.linutronix.de/projects/libUIO;protocol=git \ | ||
| 14 | file://run-ptest" | ||
| 15 | |||
| 16 | DEPENDS = "virtual/libc" | ||
| 17 | |||
| 18 | S = "${WORKDIR}/git" | ||
| 19 | |||
| 20 | inherit autotools | ||
| 21 | |||
| 22 | do_configure_prepend () { | ||
| 23 | touch ${S}/ChangeLog | ||
| 24 | } | ||
| 25 | |||
| 26 | do_install_append () { | ||
| 27 | if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ]; then | ||
| 28 | mkdir -p ${D}${PTEST_PATH} | ||
| 29 | install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH} | ||
| 30 | fi | ||
| 31 | } | ||
diff --git a/recipes-extended/ltp/ltp_20140422.bbappend b/recipes-extended/ltp/ltp_20140422.bbappend new file mode 100644 index 0000000..59a4341 --- /dev/null +++ b/recipes-extended/ltp/ltp_20140422.bbappend | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | do_compile_prepend () { | ||
| 2 | ( make -C ${B}/testcases/open_posix_testsuite generate-makefiles conformance-all tools-all functional-all stress-all ) | ||
| 3 | } | ||
diff --git a/recipes-kernel/linux/enea-common.inc b/recipes-kernel/linux/enea-common.inc new file mode 100644 index 0000000..5de0749 --- /dev/null +++ b/recipes-kernel/linux/enea-common.inc | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
| 2 | |||
| 3 | def format_file_uri(d): | ||
| 4 | substrlist = d.getVar("ENEA_KERN_FRAGMENTS").split() | ||
| 5 | ostr = '' | ||
| 6 | for substr in substrlist: | ||
| 7 | ostr = ostr + " file://" + substr | ||
| 8 | return ostr.lstrip() | ||
| 9 | |||
| 10 | ENEA_KERN_FRAGMENTS ??= "" | ||
| 11 | |||
| 12 | SRC_URI += "${@format_file_uri(d)}" | ||
diff --git a/recipes-kernel/linux/files/cfg/00001-embedded.cfg b/recipes-kernel/linux/files/cfg/00001-embedded.cfg new file mode 100644 index 0000000..2f0e6bf --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00001-embedded.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_EMBEDDED=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg b/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg new file mode 100644 index 0000000..f8d8748 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 2 | CONFIG_NFS_USE_KERNEL_DNS=y | ||
| 3 | CONFIG_ROOT_NFS=y | ||
| 4 | CONFIG_NFS_FS=y | ||
| 5 | CONFIG_NFS_V3=y | ||
| 6 | CONFIG_NFS_V4=y | ||
| 7 | CONFIG_NFSD=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00003-fuse.cfg b/recipes-kernel/linux/files/cfg/00003-fuse.cfg new file mode 100644 index 0000000..43e95f2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00003-fuse.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_FUSE_FS=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00004-systemtap.cfg b/recipes-kernel/linux/files/cfg/00004-systemtap.cfg new file mode 100644 index 0000000..88c278c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00004-systemtap.cfg | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | CONFIG_DEBUG_INFO=y | ||
| 2 | CONFIG_KPROBES=y | ||
| 3 | CONFIG_RELAY=y | ||
| 4 | CONFIG_DEBUG_FS=y | ||
| 5 | CONFIG_MODULES=y | ||
| 6 | CONFIG_MODULE_UNLOAD=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00005-pramfs.cfg b/recipes-kernel/linux/files/cfg/00005-pramfs.cfg new file mode 100644 index 0000000..21aabc1 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00005-pramfs.cfg | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | CONFIG_MISC_FILESYSTEMS=y | ||
| 2 | CONFIG_PRAMFS=y | ||
| 3 | CONFIG_PRAMFS_XATTR=y | ||
| 4 | CONFIG_PRAMFS_TEST_MODULE=m | ||
diff --git a/recipes-kernel/linux/files/cfg/00006-with_modules.cfg b/recipes-kernel/linux/files/cfg/00006-with_modules.cfg new file mode 100644 index 0000000..f4b3ae2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00006-with_modules.cfg | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | CONFIG_MODULES=y | ||
| 2 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 3 | CONFIG_MODULE_UNLOAD=y | ||
| 4 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
| 5 | CONFIG_MODVERSIONS=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00007-oprofile.cfg b/recipes-kernel/linux/files/cfg/00007-oprofile.cfg new file mode 100644 index 0000000..959e94b --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00007-oprofile.cfg | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | CONFIG_PROFILING=y | ||
| 2 | CONFIG_OPROFILE=m | ||
| 3 | CONFIG_PROFILE_ALL_BRANCHES=y | ||
| 4 | CONFIG_OPROFILE_NMI_TIMER=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00008-uio_m.cfg b/recipes-kernel/linux/files/cfg/00008-uio_m.cfg new file mode 100644 index 0000000..d82eee4 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00008-uio_m.cfg | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | CONFIG_UIO=m | ||
| 2 | CONFIG_UIO_PDRV=m | ||
| 3 | CONFIG_UIO_PDRV_GENIRQ=m | ||
diff --git a/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg b/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg new file mode 100644 index 0000000..eaddbaf --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | CONFIG_FSL_EMB_PERFMON=y | ||
| 2 | CONFIG_FSL_EMB_PERF_EVENT=y | ||
| 3 | CONFIG_FSL_EMB_PERF_EVENT_E500=y | ||
| 4 | |||
| 5 | CONFIG_PPC_OF=y | ||
| 6 | CONFIG_PPC_UDBG_16550=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg b/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg new file mode 100644 index 0000000..1476224 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | CONFIG_MISC_FILESYSTEMS=y | ||
| 2 | CONFIG_PRAMFS=y | ||
| 3 | CONFIG_PRAMFS_TEST=y | ||
| 4 | CONFIG_TEST_MODULE=m | ||
| 5 | |||
diff --git a/recipes-kernel/linux/files/cfg/00012-preempt.cfg b/recipes-kernel/linux/files/cfg/00012-preempt.cfg new file mode 100644 index 0000000..43fd0bd --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00012-preempt.cfg | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | CONFIG_GENERIC_LOCKBREAK=y | ||
| 2 | CONFIG_TREE_PREEMPT_RCU=y | ||
| 3 | CONFIG_PREEMPT_RCU=y | ||
| 4 | CONFIG_UNINLINE_SPIN_UNLOCK=y | ||
| 5 | CONFIG_PREEMPT=y | ||
| 6 | CONFIG_PREEMPT__LL=y | ||
| 7 | CONFIG_PREEMPT_COUNT=y | ||
| 8 | CONFIG_DEBUG_PREEMPT=y | ||
| 9 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00013-localversion.cfg b/recipes-kernel/linux/files/cfg/00013-localversion.cfg new file mode 100644 index 0000000..71481b4 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00013-localversion.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_LOCALVERSION_AUTO=n | ||
| 2 | CONFIG_DEFAULT_HOSTNAME="(none)" | ||
diff --git a/recipes-kernel/linux/files/cfg/00014-kgdb.cfg b/recipes-kernel/linux/files/cfg/00014-kgdb.cfg new file mode 100644 index 0000000..f23cfe3 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00014-kgdb.cfg | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #depends | ||
| 2 | CONFIG_DEBUG_KERNEL=y | ||
| 3 | CONFIG_EXPERIMENTAL=y | ||
| 4 | |||
| 5 | #configs | ||
| 6 | CONFIG_KGDB=y | ||
| 7 | CONFIG_KGDB_SERIAL_CONSOLE=y | ||
| 8 | CONFIG_KGDB_KDB=y | ||
| 9 | CONFIG_MAGIC_SYSRQ=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00015-uio.cfg b/recipes-kernel/linux/files/cfg/00015-uio.cfg new file mode 100644 index 0000000..b26593e --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00015-uio.cfg | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | CONFIG_UIO=y | ||
| 2 | CONFIG_UIO_PDRV=y | ||
| 3 | CONFIG_UIO_PDRV_GENIRQ=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg b/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg new file mode 100644 index 0000000..b3fae70 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_LBDAF=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg b/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg new file mode 100644 index 0000000..89aea43 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | CONFIG_TREE_PREEMPT_RCU=y | ||
| 2 | CONFIG_PREEMPT_RCU=y | ||
| 3 | CONFIG_UNINLINE_SPIN_UNLOCK=y | ||
| 4 | CONFIG_PREEMPT=y | ||
| 5 | CONFIG_PREEMPT_COUNT=y | ||
| 6 | CONFIG_DEBUG_PREEMPT=y | ||
| 7 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00018-rt.cfg b/recipes-kernel/linux/files/cfg/00018-rt.cfg new file mode 100644 index 0000000..a15c930 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00018-rt.cfg | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | CONFIG_PREEMPT_RT_FULL=y | ||
| 2 | CONFIG_HZ_1000=y | ||
| 3 | CONFIG_HZ=1000 | ||
diff --git a/recipes-kernel/linux/files/cfg/00019-i2c.cfg b/recipes-kernel/linux/files/cfg/00019-i2c.cfg new file mode 100644 index 0000000..8dbcc3c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00019-i2c.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_I2C_CHARDEV=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg b/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg new file mode 100644 index 0000000..0d83d11 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_LEGACY_PTYS=y | ||
| 2 | CONFIG_LEGACY_PTY_COUNT=256 | ||
diff --git a/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg b/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg new file mode 100644 index 0000000..1477bd7 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_MTD_TESTS=m | |||
diff --git a/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg b/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg new file mode 100644 index 0000000..9e7666c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_IKCONFIG=y | ||
| 2 | CONFIG_IKCONFIG_PROC=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg b/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg new file mode 100644 index 0000000..c9b47ac --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | CONFIG_TREE_PREEMPT_RCU=y | ||
| 2 | CONFIG_PREEMPT_RCU=y | ||
| 3 | CONFIG_RCU_STALL_COMMON=y | ||
| 4 | CONFIG_UNINLINE_SPIN_UNLOCK=y | ||
| 5 | CONFIG_PREEMPT=y | ||
| 6 | CONFIG_PREEMPT_COUNT=y | ||
| 7 | CONFIG_DEBUG_PREEMPT=y | ||
| 8 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00025-powertop.cfg b/recipes-kernel/linux/files/cfg/00025-powertop.cfg new file mode 100644 index 0000000..655c101 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00025-powertop.cfg | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | CONFIG_EXPERT=y | ||
| 2 | CONFIG_PROC_FS=y | ||
| 3 | CONFIG_DEBUG_FS=y | ||
| 4 | CONFIG_NO_HZ=y | ||
| 5 | CONFIG_HIGH_RES_TIMERS=y | ||
| 6 | CONFIG_HPET_TIMER=y | ||
| 7 | CONFIG_CPU_FREQ=y | ||
| 8 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
| 9 | CONFIG_TIMER_STATS=y | ||
| 10 | CONFIG_PERF_EVENTS=y | ||
| 11 | CONFIG_TRACEPOINTS=y | ||
| 12 | CONFIG_TRACING=y | ||
| 13 | CONFIG_X86_MSR=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00026-ltp.cfg b/recipes-kernel/linux/files/cfg/00026-ltp.cfg new file mode 100644 index 0000000..e36a9c2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00026-ltp.cfg | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | CONFIG_TUN=y | ||
| 2 | CONFIG_KSM=y | ||
| 3 | CONFIG_NUMA=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00027-lttng.cfg b/recipes-kernel/linux/files/cfg/00027-lttng.cfg new file mode 100644 index 0000000..1334194 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00027-lttng.cfg | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | CONFIG_MODULES=y | ||
| 2 | CONFIG_KALLSYMS=y | ||
| 3 | CONFIG_HIGH_RES_TIMERS=y | ||
| 4 | CONFIG_TRACEPOINTS=y | ||
| 5 | CONFIG_FTRACE=y | ||
| 6 | CONFIG_PERF_EVENTS=y | ||
| 7 | CONFIG_EVENT_TRACING=y | ||
| 8 | CONFIG_KPROBES=y | ||
| 9 | CONFIG_KRETPROBES=y | ||
| 10 | CONFIG_FUNCTION_TRACER=y | ||
| 11 | CONFIG_FUNCTION_GRAPH_TRACER=y | ||
| 12 | CONFIG_IRQSOFF_TRACER=y | ||
| 13 | CONFIG_PREEMPT_TRACER=y | ||
| 14 | CONFIG_SCHED_TRACER=y | ||
| 15 | CONFIG_NOP_TRACER=y | ||
| 16 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
| 17 | CONFIG_GENERIC_TRACER=y | ||
| 18 | CONFIG_TRACER_MAX_TRACE=y | ||
| 19 | CONFIG_TRACER_SNAPSHOT=y | ||
| 20 | CONFIG_STACK_TRACER=n | ||
diff --git a/recipes-kernel/linux/files/cfg/00028-perf.cfg b/recipes-kernel/linux/files/cfg/00028-perf.cfg new file mode 100644 index 0000000..5fddec0 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00028-perf.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_CGROUP_PERF=y | ||
| 2 | CONFIG_PERF_EVENTS=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg b/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg new file mode 100644 index 0000000..5e9cf98 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_DEVTMPFS=y | ||
| 2 | CONFIG_DEVTMPFS_MOUNT=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00030-latencytop.cfg b/recipes-kernel/linux/files/cfg/00030-latencytop.cfg new file mode 100644 index 0000000..0a42694 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00030-latencytop.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_LATENCYTOP=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg b/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg new file mode 100644 index 0000000..3498fd0 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | CONFIG_IGB=y | ||
| 2 | CONFIG_IGB_DCA=y | ||
| 3 | CONFIG_IGBVF=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00032-dpa.cfg b/recipes-kernel/linux/files/cfg/00032-dpa.cfg new file mode 100644 index 0000000..c873cd5 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00032-dpa.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_FSL_FM_MAX_FRAME_SIZE=9600 | |||
diff --git a/recipes-kernel/linux/files/cfg/00033-kprobes.cfg b/recipes-kernel/linux/files/cfg/00033-kprobes.cfg new file mode 100644 index 0000000..e24be27 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00033-kprobes.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_KPROBES=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00034-cpusets.cfg b/recipes-kernel/linux/files/cfg/00034-cpusets.cfg new file mode 100644 index 0000000..ec8fad4 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00034-cpusets.cfg | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | CONFIG_CGROUPS=y | ||
| 2 | CONFIG_CPUSETS=y | ||
| 3 | CONFIG_CGROUP_PERF=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00035-netfilter.cfg b/recipes-kernel/linux/files/cfg/00035-netfilter.cfg new file mode 100644 index 0000000..2dfdba9 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00035-netfilter.cfg | |||
| @@ -0,0 +1,113 @@ | |||
| 1 | CONFIG_NETFILTER=y | ||
| 2 | CONFIG_IP_NF_IPTABLES=y | ||
| 3 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y | ||
| 4 | CONFIG_BRIDGE_NF_EBTABLES=y | ||
| 5 | CONFIG_IP_VS=y | ||
| 6 | CONFIG_IP_NF_FILTER=y | ||
| 7 | CONFIG_IP_NF_TARGET_ULOG=y | ||
| 8 | CONFIG_IP_NF_IPTABLES=y | ||
| 9 | # | ||
| 10 | # Not directly sourced via a kernel type but via an external bb | ||
| 11 | # | ||
| 12 | CONFIG_NETFILTER=y | ||
| 13 | CONFIG_NETFILTER_ADVANCED=y | ||
| 14 | |||
| 15 | # | ||
| 16 | # Core Netfilter Configuration | ||
| 17 | # | ||
| 18 | CONFIG_NETFILTER_NETLINK=m | ||
| 19 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
| 20 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
| 21 | CONFIG_NF_CONNTRACK=m | ||
| 22 | CONFIG_NF_CONNTRACK_MARK=y | ||
| 23 | CONFIG_NF_CT_PROTO_GRE=m | ||
| 24 | CONFIG_NF_CT_PROTO_SCTP=m | ||
| 25 | CONFIG_NF_CT_PROTO_UDPLITE=m | ||
| 26 | CONFIG_NF_CONNTRACK_AMANDA=m | ||
| 27 | CONFIG_NF_CONNTRACK_FTP=m | ||
| 28 | CONFIG_NF_CONNTRACK_H323=m | ||
| 29 | CONFIG_NF_CONNTRACK_IRC=m | ||
| 30 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m | ||
| 31 | CONFIG_NF_CONNTRACK_PPTP=m | ||
| 32 | CONFIG_NF_CONNTRACK_SANE=m | ||
| 33 | CONFIG_NF_CONNTRACK_SIP=m | ||
| 34 | CONFIG_NF_CONNTRACK_TFTP=m | ||
| 35 | CONFIG_NF_CT_NETLINK=m | ||
| 36 | CONFIG_NETFILTER_XTABLES=m | ||
| 37 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | ||
| 38 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | ||
| 39 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | ||
| 40 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
| 41 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
| 42 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
| 43 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | ||
| 44 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | ||
| 45 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | ||
| 46 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
| 47 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | ||
| 48 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | ||
| 49 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | ||
| 50 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | ||
| 51 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
| 52 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
| 53 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
| 54 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 55 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | ||
| 56 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
| 57 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
| 58 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
| 59 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
| 60 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
| 61 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
| 62 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 63 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 64 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
| 65 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
| 66 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
| 67 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
| 68 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
| 69 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
| 70 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
| 71 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
| 72 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
| 73 | |||
| 74 | # | ||
| 75 | # IP: Netfilter Configuration | ||
| 76 | # | ||
| 77 | CONFIG_NF_DEFRAG_IPV4=m | ||
| 78 | CONFIG_NF_CONNTRACK_IPV4=m | ||
| 79 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
| 80 | CONFIG_IP_NF_IPTABLES=m | ||
| 81 | CONFIG_IP_NF_MATCH_AH=m | ||
| 82 | CONFIG_IP_NF_MATCH_ECN=m | ||
| 83 | CONFIG_IP_NF_MATCH_TTL=m | ||
| 84 | CONFIG_IP_NF_FILTER=m | ||
| 85 | CONFIG_IP_NF_TARGET_REJECT=m | ||
| 86 | CONFIG_IP_NF_TARGET_ULOG=m | ||
| 87 | CONFIG_NF_NAT=m | ||
| 88 | CONFIG_NF_NAT_NEEDED=y | ||
| 89 | CONFIG_NF_NAT_IPV4=m | ||
| 90 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
| 91 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
| 92 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
| 93 | CONFIG_NF_NAT_SNMP_BASIC=m | ||
| 94 | CONFIG_NF_NAT_PROTO_GRE=m | ||
| 95 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
| 96 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
| 97 | CONFIG_NF_NAT_FTP=m | ||
| 98 | CONFIG_NF_NAT_IRC=m | ||
| 99 | CONFIG_NF_NAT_TFTP=m | ||
| 100 | CONFIG_NF_NAT_AMANDA=m | ||
| 101 | CONFIG_NF_NAT_PPTP=m | ||
| 102 | CONFIG_NF_NAT_H323=m | ||
| 103 | CONFIG_NF_NAT_SIP=m | ||
| 104 | CONFIG_IP_NF_MANGLE=m | ||
| 105 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
| 106 | CONFIG_IP_NF_TARGET_ECN=m | ||
| 107 | CONFIG_IP_NF_TARGET_TTL=m | ||
| 108 | CONFIG_IP_NF_RAW=m | ||
| 109 | CONFIG_IP_NF_ARPTABLES=m | ||
| 110 | CONFIG_IP_NF_ARPFILTER=m | ||
| 111 | CONFIG_IP_NF_ARP_MANGLE=m | ||
| 112 | |||
| 113 | CONFIG_NET_SCHED=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg b/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg new file mode 100644 index 0000000..e41d2e9 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | CONFIG_VIRTUALIZATION=y | ||
| 2 | CONFIG_KVM_E500MC=y | ||
| 3 | CONFIG_BRIDGE=y | ||
| 4 | CONFIG_TUN=y | ||
| 5 | CONFIG_PCI_STUB=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg b/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg new file mode 100644 index 0000000..d4e5f8f --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | CONFIG_MEMCG=y | ||
| 2 | CONFIG_MEMCG_KMEM=y | ||
| 3 | CONFIG_CGROUP_DEVICE=y | ||
| 4 | CONFIG_CPUSETS=y | ||
| 5 | CONFIG_PROC_PID_CPUSET=y | ||
| 6 | CONFIG_RESOURCE_COUNTERS=y | ||
| 7 | CONFIG_CGROUP_MEM_RES_CTLR=y | ||
| 8 | CONFIG_CGROUP_SCHED=y | ||
| 9 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 10 | CONFIG_RT_GROUP_SCHED=y | ||
| 11 | CONFIG_CHECKPOINT_RESTORE=y | ||
| 12 | CONFIG_NAMESPACES=y | ||
| 13 | CONFIG_UTS_NS=y | ||
| 14 | CONFIG_IPC_NS=y | ||
| 15 | CONFIG_USER_NS=n | ||
| 16 | CONFIG_PID_NS=y | ||
| 17 | CONFIG_NET_NS=y | ||
| 18 | CONFIG_SECCOMP=y | ||
| 19 | CONFIG_SECURITY_APPARMOR=y | ||
| 20 | CONFIG_CGROUPS=y | ||
| 21 | |||
| 22 | CONFIG_CLS_CGROUP=m | ||
| 23 | CONFIG_BLK_CGROUP=m | ||
| 24 | CONFIG_NETPRIO_CGROUP=m | ||
| 25 | |||
| 26 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
| 27 | CONFIG_VETH=y | ||
| 28 | CONFIG_MACVLAN=y | ||
| 29 | CONFIG_CGROUP_CPUACCT=y | ||
| 30 | |||
diff --git a/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg b/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg new file mode 100644 index 0000000..3704a7a --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_HOTPLUG_CPU=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00039-nohz.cfg b/recipes-kernel/linux/files/cfg/00039-nohz.cfg new file mode 100644 index 0000000..4cf684f --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00039-nohz.cfg | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | CONFIG_NO_HZ_COMMON=y | ||
| 2 | CONFIG_NO_HZ_FULL=y | ||
| 3 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
| 4 | CONFIG_VIRT_CPU_ACCOUNTING_GEN=y | ||
| 5 | CONFIG_CONTEXT_TRACKING=y | ||
| 6 | CONFIG_RCU_USER_QS=y | ||
| 7 | CONFIG_RCU_NOCB_CPU=y | ||
| 8 | CONFIG_RCU_NOCB_CPU_ALL=y | ||
| 9 | CONFIG_LOCKUP_DETECTOR=n | ||
diff --git a/recipes-kernel/linux/files/cfg/00040-9p.cfg b/recipes-kernel/linux/files/cfg/00040-9p.cfg new file mode 100644 index 0000000..4b9b161 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00040-9p.cfg | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | CONFIG_NET_9P=y | ||
| 2 | CONFIG_NET_9P_VIRTIO=y | ||
| 3 | CONFIG_NET_9P_DEBUG=y | ||
| 4 | CONFIG_9P_FS=y | ||
| 5 | CONFIG_9P_FS_POSIX_ACL=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00041-virtio.cfg b/recipes-kernel/linux/files/cfg/00041-virtio.cfg new file mode 100644 index 0000000..41f0dcd --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00041-virtio.cfg | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | CONFIG_VIRTIO_PCI=y | ||
| 2 | CONFIG_VIRTIO_BALLOON=y | ||
| 3 | CONFIG_VIRTIO_BLK=y | ||
| 4 | CONFIG_VIRTIO_NET=y | ||
| 5 | CONFIG_VIRTIO=y | ||
| 6 | CONFIG_VIRTIO_RING=y | ||
| 7 | CONFIG_VIRTIO_MMIO=y | ||
| 8 | CONFIG_VIRTIO_CONSOLE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00042-vhost.cfg b/recipes-kernel/linux/files/cfg/00042-vhost.cfg new file mode 100644 index 0000000..87a6004 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00042-vhost.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_VHOST_NET=y | ||
| 2 | CONFIG_PCI_MSI=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00043-containers.cfg b/recipes-kernel/linux/files/cfg/00043-containers.cfg new file mode 100644 index 0000000..aac7304 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00043-containers.cfg | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | CONFIG_NAMESPACES=y | ||
| 2 | CONFIG_UTS_NS=y | ||
| 3 | CONFIG_IPC_NS=y | ||
| 4 | CONFIG_USER_NS=y | ||
| 5 | CONFIG_PID_NS=y | ||
| 6 | CONFIG_NET_NS=y | ||
| 7 | CONFIG_CGROUP_FREEZER=y | ||
| 8 | CONFIG_CGROUP_DEVICE=y | ||
| 9 | CONFIG_CGROUP_CPUACCT=y | ||
| 10 | CONFIG_RESOURCE_COUNTERS=y | ||
| 11 | CONFIG_CGROUP_SCHED=y | ||
| 12 | CONFIG_BLK_CGROUP=y | ||
| 13 | CONFIG_CPUSETS=y | ||
| 14 | CONFIG_MEMCG=y | ||
| 15 | CONFIG_MEMCG_KMEM=y | ||
| 16 | CONFIG_VETH=y | ||
| 17 | CONFIG_MACVLAN=y | ||
| 18 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00044-numa.cfg b/recipes-kernel/linux/files/cfg/00044-numa.cfg new file mode 100644 index 0000000..e480f0c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00044-numa.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_NUMA=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg b/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg new file mode 100644 index 0000000..04aec57 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_PCI_STUB=m | |||
diff --git a/recipes-kernel/linux/files/cfg/00046-sata.cfg b/recipes-kernel/linux/files/cfg/00046-sata.cfg new file mode 100644 index 0000000..0a30897 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00046-sata.cfg | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | #enable SATA support | ||
| 2 | CONFIG_ATA=y | ||
| 3 | CONFIG_SATA_AHCI=y | ||
| 4 | CONFIG_SATA_AHCI_PLATFORM=y | ||
| 5 | CONFIG_SATA_PMP=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00047-bridge.cfg b/recipes-kernel/linux/files/cfg/00047-bridge.cfg new file mode 100644 index 0000000..873cbf3 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00047-bridge.cfg | |||
| @@ -0,0 +1 @@ | |||
| CONFIG_BRIDGE=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg b/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg new file mode 100644 index 0000000..7b0b6f6 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | CONFIG_NAMESPACES=y | ||
| 2 | CONFIG_UTS_NS=y | ||
| 3 | CONFIG_IPC_NS=y | ||
| 4 | CONFIG_USER_NS=n | ||
| 5 | CONFIG_PID_NS=y | ||
| 6 | CONFIG_NET_NS=y | ||
| 7 | CONFIG_CGROUP_FREEZER=y | ||
| 8 | CONFIG_CGROUP_DEVICE=y | ||
| 9 | CONFIG_CGROUP_CPUACCT=y | ||
| 10 | CONFIG_RESOURCE_COUNTERS=y | ||
| 11 | CONFIG_CGROUP_SCHED=y | ||
| 12 | CONFIG_BLK_CGROUP=y | ||
| 13 | CONFIG_CPUSETS=y | ||
| 14 | CONFIG_MEMCG=y | ||
| 15 | CONFIG_MEMCG_KMEM=y | ||
| 16 | CONFIG_VETH=y | ||
| 17 | CONFIG_MACVLAN=y | ||
| 18 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00049-gpio.cfg b/recipes-kernel/linux/files/cfg/00049-gpio.cfg new file mode 100644 index 0000000..9ea98eb --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00049-gpio.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_GPIO_SYSFS=y | ||
| 2 | CONFIG_GPIO_GENERIC=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg b/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg new file mode 100644 index 0000000..fb0d0b2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | CONFIG_NFSD_V4=y | ||
| 2 | CONFIG_NFSD=y | ||
| 3 | CONFIG_INET=y | ||
| 4 | CONFIG_NET=y | ||
| 5 | CONFIG_NETWORK_FILESYSTEMS =y | ||
| 6 | CONFIG_FILE_LOCKING=y | ||
| 7 | CONFIG_PROC_FS=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00051-sctp.cfg b/recipes-kernel/linux/files/cfg/00051-sctp.cfg new file mode 100644 index 0000000..6182ef2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00051-sctp.cfg | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | CONFIG_NET=y | ||
| 2 | CONFIG_INET=y | ||
| 3 | CONFIG_IPV6=y | ||
| 4 | CONFIG_IP_SCTP=y | ||
diff --git a/recipes-kernel/linux/files/cfg/README b/recipes-kernel/linux/files/cfg/README new file mode 100644 index 0000000..abfff1e --- /dev/null +++ b/recipes-kernel/linux/files/cfg/README | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | In ordert to add a configuration fragment contained in a .cfg file, | ||
| 2 | please follow these steps: | ||
| 3 | |||
| 4 | 1. change to the directory that contains this README file. | ||
| 5 | 2. copy your fragment file here and make sure your file has a .cfg extension | ||
| 6 | 4. run the indexcfgs.pl utility from this directory to | ||
| 7 | index your file. | ||
| 8 | 5. check for the new name and use it to further reference your renamed | ||
| 9 | cfg file. | ||
diff --git a/recipes-kernel/linux/files/cfg/indexcfgs.pl b/recipes-kernel/linux/files/cfg/indexcfgs.pl new file mode 100755 index 0000000..96cd78a --- /dev/null +++ b/recipes-kernel/linux/files/cfg/indexcfgs.pl | |||
| @@ -0,0 +1,167 @@ | |||
| 1 | #!/usr/bin/perl -w | ||
| 2 | #---------------------------------------------------------------------- | ||
| 3 | # indexcfgs.pl - utility to rename files in the current directory to an | ||
| 4 | # indexed format so that a unique index number is | ||
| 5 | # prepended to the current file name. The naming | ||
| 6 | # template is: | ||
| 7 | # | ||
| 8 | # DDDDD-<name-or-short-description.cfg> | ||
| 9 | # | ||
| 10 | # Usage: create the *.cfg file you need, with any name and .cfg | ||
| 11 | # extension. Run this script and it will automatically | ||
| 12 | # rename your file to the indexed format above. | ||
| 13 | # | ||
| 14 | # Author: Daniel BORNAZ <daniel.bornaz@enea.com | ||
| 15 | # Date: 2014/04/09 | ||
| 16 | # Version: 1.0 | ||
| 17 | # | ||
| 18 | #---------------------------------------------------------------------- | ||
| 19 | |||
| 20 | use strict; | ||
| 21 | use warnings; | ||
| 22 | use Getopt::Long; | ||
| 23 | |||
| 24 | my %args; | ||
| 25 | my $counter_indexed=0; | ||
| 26 | my $filetype="*.cfg"; | ||
| 27 | my $counter_queue=0; | ||
| 28 | my $max_index=0; | ||
| 29 | my $dir="./"; | ||
| 30 | my @files; | ||
| 31 | my @queue; | ||
| 32 | my $opt_strip; | ||
| 33 | my $opt_help; | ||
| 34 | |||
| 35 | |||
| 36 | #-------------------------------------------------------------------- | ||
| 37 | # strip the index from the file name | ||
| 38 | # | ||
| 39 | sub removeindex($){ | ||
| 40 | my $tmpname=shift; | ||
| 41 | my $newname; | ||
| 42 | |||
| 43 | if($tmpname=~/^\d{5}\-.*cfg/ig){ | ||
| 44 | $newname=substr($tmpname,6); | ||
| 45 | system("mv",$tmpname,$newname) == 0 | ||
| 46 | or die "Cannot rename $tmpname to $newname: $?"; | ||
| 47 | }else{ | ||
| 48 | return 0; | ||
| 49 | } | ||
| 50 | } | ||
| 51 | |||
| 52 | #-------------------------------------------------------------------- | ||
| 53 | # get the indexed file name, return the index | ||
| 54 | # | ||
| 55 | sub decodeindex($){ | ||
| 56 | my $tmpname=shift; | ||
| 57 | |||
| 58 | if($tmpname=~/^\d{5}\-.*cfg/ig){ | ||
| 59 | return substr($tmpname,0,5); | ||
| 60 | }else{ | ||
| 61 | return 0; | ||
| 62 | } | ||
| 63 | } | ||
| 64 | |||
| 65 | #-------------------------------------------------------------------- | ||
| 66 | # remove index from cfg files in current directory | ||
| 67 | # | ||
| 68 | sub strip_file_names { | ||
| 69 | print "Start removing index from $filetype files in $dir\n"; | ||
| 70 | |||
| 71 | opendir(DIR,$dir) or die $!; | ||
| 72 | |||
| 73 | while( my $file=readdir(DIR)){ | ||
| 74 | # retrieve cfg files (*.cfg) | ||
| 75 | if($file=~/cfg$/gi){ | ||
| 76 | removeindex($file); | ||
| 77 | } | ||
| 78 | } | ||
| 79 | |||
| 80 | closedir(DIR); | ||
| 81 | } | ||
| 82 | |||
| 83 | #-------------------------------------------------------------------- | ||
| 84 | # index current directory cfg files | ||
| 85 | # | ||
| 86 | sub index_file_names { | ||
| 87 | print "Start indexing $filetype files in $dir\n"; | ||
| 88 | |||
| 89 | opendir(DIR,$dir) or die $!; | ||
| 90 | |||
| 91 | while( my $file=readdir(DIR)){ | ||
| 92 | # retrieve cfg files (*.cfg) | ||
| 93 | if($file=~/cfg$/gi){ | ||
| 94 | @files=(@files,$file); | ||
| 95 | } | ||
| 96 | } | ||
| 97 | |||
| 98 | closedir(DIR); | ||
| 99 | |||
| 100 | |||
| 101 | # separate indexed file names from the ones to be processed | ||
| 102 | foreach my $file (@files){ | ||
| 103 | if($file=~/^\d{5}\-.*cfg/){ | ||
| 104 | my $crt_index=0; | ||
| 105 | |||
| 106 | $crt_index=decodeindex($file); | ||
| 107 | |||
| 108 | if($crt_index > $max_index){ | ||
| 109 | $max_index=$crt_index; | ||
| 110 | } | ||
| 111 | |||
| 112 | $counter_indexed++; | ||
| 113 | }else{ | ||
| 114 | @queue=($file,@queue); | ||
| 115 | $counter_queue++; | ||
| 116 | } | ||
| 117 | } | ||
| 118 | |||
| 119 | # set the next index number | ||
| 120 | $max_index++; | ||
| 121 | |||
| 122 | # index the enqueued file names | ||
| 123 | foreach my $file (@queue){ | ||
| 124 | my $newname; | ||
| 125 | |||
| 126 | $newname=sprintf("%05d-%s",$max_index++,$file); | ||
| 127 | system("mv",$file,$newname) == 0 | ||
| 128 | or die "Cannot rename $file to $newname: $?"; | ||
| 129 | } | ||
| 130 | |||
| 131 | printf("$counter_queue files indexed, ". | ||
| 132 | "$counter_indexed files already indexed. Done.\n"); | ||
| 133 | } | ||
| 134 | |||
| 135 | #-------------------------------------------------------------------- | ||
| 136 | # display usage help | ||
| 137 | # | ||
| 138 | sub print_usage { | ||
| 139 | print "\n"; | ||
| 140 | print " ./indexcfgs.pl [--strip]\n"; | ||
| 141 | print " no params: Index the *.cfg file names in current dir\n"; | ||
| 142 | print " to DDDDD-<original_file_name.cfg>\n"; | ||
| 143 | print " --strip: Strips the index from the *.cfg file names ". | ||
| 144 | "in current dir\n"; | ||
| 145 | print "\n"; | ||
| 146 | |||
| 147 | exit 0; | ||
| 148 | } | ||
| 149 | |||
| 150 | |||
| 151 | #--- Program starts here -------------------------------------------- | ||
| 152 | GetOptions(\%args, | ||
| 153 | "strip" => \$opt_strip, | ||
| 154 | "help" => \$opt_help, | ||
| 155 | ); | ||
| 156 | |||
| 157 | if(defined($opt_help)){ | ||
| 158 | print_usage(); | ||
| 159 | } | ||
| 160 | |||
| 161 | if(defined($opt_strip)){ | ||
| 162 | strip_file_names(); | ||
| 163 | }else{ | ||
| 164 | index_file_names(); | ||
| 165 | } | ||
| 166 | |||
| 167 | |||
diff --git a/recipes-kernel/perf/perf.bbappend b/recipes-kernel/perf/perf.bbappend new file mode 100644 index 0000000..864f938 --- /dev/null +++ b/recipes-kernel/perf/perf.bbappend | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | # | ||
| 2 | # added the python-math and python-sqlite3 modules, required by perf | ||
| 3 | # | ||
| 4 | SCRIPTING_RDEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl perl-modules python python-math python-sqlite3', '',d)}" | ||
diff --git a/recipes-kernel/pramfs-init/files/pramfs_init b/recipes-kernel/pramfs-init/files/pramfs_init new file mode 100644 index 0000000..64c7bc2 --- /dev/null +++ b/recipes-kernel/pramfs-init/files/pramfs_init | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | #set -e | ||
| 3 | |||
| 4 | echo "Setting up pramfs" | ||
| 5 | |||
| 6 | # ensure the required binaries are present | ||
| 7 | #[ -x /sbin/modprobe ] || exit 1 | ||
| 8 | [ -x /bin/mount ] || exit 1 | ||
| 9 | [ -x /bin/grep ] || exit 1 | ||
| 10 | [ -x /bin/cat ] || exit 1 | ||
| 11 | [ -x /bin/sed ] || exit 1 | ||
| 12 | |||
| 13 | #modprobe pramfs | ||
| 14 | mkdir -p /mnt/pram | ||
| 15 | |||
| 16 | case "$1" in | ||
| 17 | start) | ||
| 18 | # Figure out RAM for pramfs | ||
| 19 | # This requires a kernel cmdline resevation of PRAMFS physmem | ||
| 20 | # in format memmap=16M$0x7000000 | ||
| 21 | grep memmap /proc/cmdline > /dev/null | ||
| 22 | if [ $? -eq 0 ]; then | ||
| 23 | addr=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\2/' < /proc/cmdline) | ||
| 24 | size=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\1/' < /proc/cmdline) | ||
| 25 | |||
| 26 | if [ -d /seed ]; then | ||
| 27 | echo "Init new pramfs" | ||
| 28 | mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1 | ||
| 29 | cp /seed/* /mnt/pram | ||
| 30 | echo "0" > /mnt/pram/kcount | ||
| 31 | else | ||
| 32 | echo "Mounting old pramfs" | ||
| 33 | mount -t pramfs -o physaddr=$addr,bs=1k none /mnt/pram > /dev/null 2>&1 | ||
| 34 | if [ $? -ne 0 ]; then | ||
| 35 | echo "Mounting old pramfs failed, zeroing" | ||
| 36 | mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1 | ||
| 37 | if [ $? -ne 0 ]; then | ||
| 38 | echo "All attempts to mount pramfs has failed, exiting" | ||
| 39 | rm -fr /mnt/pram | ||
| 40 | exit 1 | ||
| 41 | fi | ||
| 42 | echo "0" > /mnt/pram/kcount | ||
| 43 | fi | ||
| 44 | fi | ||
| 45 | |||
| 46 | # echo "* Setting up kexec" | ||
| 47 | # kexec -l --reuse-cmdline --initrd=/mnt/pram/initramfs.cpio.gz /mnt/pram/vmlinuz | ||
| 48 | |||
| 49 | # Calculate number of boots | ||
| 50 | export KCOUNT=$(expr $(cat /mnt/pram/kcount) + 1) | ||
| 51 | echo $KCOUNT > /mnt/pram/kcount | ||
| 52 | else | ||
| 53 | KCOUNT="no-mem" | ||
| 54 | echo "Can't find memory area for pram fs" | ||
| 55 | rm -fr /mnt/pram | ||
| 56 | fi | ||
| 57 | |||
| 58 | echo "PRAMFS boot count: $KCOUNT" | ||
| 59 | # echo "kexec -e to kexec and keep persistent files in /mnt/pram" | ||
| 60 | ;; | ||
| 61 | stop) | ||
| 62 | echo | ||
| 63 | ;; | ||
| 64 | restart) | ||
| 65 | $0 stop | ||
| 66 | $0 start | ||
| 67 | ;; | ||
| 68 | *) | ||
| 69 | echo "usage: $0 { start | stop | restart }" >&2 | ||
| 70 | exit 1 | ||
| 71 | ;; | ||
| 72 | esac | ||
| 73 | |||
| 74 | exit 0 | ||
| 75 | |||
| 76 | |||
| 77 | |||
| 78 | |||
| 79 | |||
| 80 | |||
diff --git a/recipes-kernel/pramfs-init/pramfs-init_1.0.bb b/recipes-kernel/pramfs-init/pramfs-init_1.0.bb new file mode 100644 index 0000000..d9b36a7 --- /dev/null +++ b/recipes-kernel/pramfs-init/pramfs-init_1.0.bb | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | DESCRIPTION = "Pramfs init scripts" | ||
| 2 | SECTION = "init" | ||
| 3 | LICENSE = "BSD" | ||
| 4 | SRC_URI = "file://pramfs_init" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
| 8 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 9 | |||
| 10 | PACKAGE_ARCH = "all" | ||
| 11 | |||
| 12 | do_install() { | ||
| 13 | install -d ${D}${sysconfdir}/init.d/ | ||
| 14 | install -m 0755 ${WORKDIR}/pramfs_init ${D}${sysconfdir}/init.d/pramfs_init | ||
| 15 | } | ||
| 16 | |||
| 17 | inherit update-rc.d | ||
| 18 | |||
| 19 | INITSCRIPT_NAME = "pramfs_init" | ||
| 20 | INITSCRIPT_PARAMS = "start 99 5 2 . stop 19 0 1 6 ." | ||
