Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • eclipse/oniro-core/oniro
  • landgraf/oniro
  • zyga/oniro
  • mrybczyn/oniro
  • agherzan/oniro
  • pcoval/oniro
  • tony3oo3/oniro
  • stefanschmidt/oniro
  • waykovalenko/oniro
  • bero/oniro
  • esben/oniro
  • robertd/oniro
  • pidge/oniro
  • shettygururaj/oniro
  • thierrye/oniro
  • sradakovi/oniro
  • dricci783/oniro
  • ektor5/oniro
  • fldn/oniro
  • lucafavaretto/oniro
  • lucazizolfi/oniro
  • artemkondratiuk/oniro
  • lucaseri/oniro
  • gwozdzcfs/oniro
  • kristis/oniro
  • brgl/oniro
  • heurtemattes/oniro
  • idlethread/oniro
  • lquach/oniro
  • ghassaneben/oniro
  • heurtemattes/oniro-bitbake
  • kzarka/oniro
  • heurtemattes/oniro-migration
  • pastanki/oniro
  • malowe/oniro
  • chaseqi/oniro
  • mrfrank/oniro
37 results
Show changes
Commits on Source (19)
Showing
with 316 additions and 492 deletions
## The module affected
## What is the action to reproduce the bug?
(Steps to reproduce)
## What is the result you see?
(Actual result)
## What is the result you expect?
(Expected behaviour)
## Frequency?
(always, sometimes, one-time issue)
## Tested version
(image name and version, platform)
## Do you know any workaround of this issue?
(link to workaround/mitigation steps etc)
## Do you have a fix for this issue?
(link to upstream patch, merge/pull request)
/label ~bug ~needs-investigation
......@@ -9,8 +9,8 @@
tags: [large-disk, $CI_ONIRO_RUNNER_TAG, $CI_ONIRO_INSTANCE_SIZE]
variables:
CI_ONIRO_RUNNER_TAG : ""
CI_ONIRO_MANIFEST_URL: https://booting.oniroproject.org/distro/oniro
CI_ONIRO_MANIFEST_BRANCH: dunfell
CI_ONIRO_MANIFEST_URL: https://gitlab.eclipse.org/eclipse/oniro-core/oniro
CI_ONIRO_MANIFEST_BRANCH: kirkstone
CI_ONIRO_MANIFEST_NAME: default.xml
CI_ONIRO_MANIFEST_MIRROR: oniro-develop
CI_ONIRO_GIT_REPO_PATH: ""
......@@ -36,7 +36,7 @@
echo "CI_ONIRO_MANIFEST_NAME: $CI_ONIRO_MANIFEST_NAME"
echo "CI_ONIRO_MANIFEST_BRANCH: $CI_ONIRO_MANIFEST_BRANCH"
repo init --reference \
/var/shared/pub/git-repo-mirrors/"$CI_ONIRO_MANIFEST_MIRROR" \
"$CI_ONIRO_RUNNER_PERSISTENT_STORAGE"/pub/git-repo-mirrors/"$CI_ONIRO_MANIFEST_MIRROR" \
--manifest-url "$CI_ONIRO_MANIFEST_URL" \
--manifest-name "$CI_ONIRO_MANIFEST_NAME" \
--manifest-branch "$CI_ONIRO_MANIFEST_BRANCH"
......@@ -83,8 +83,8 @@
CI_ONIRO_BUILD_FLAVOUR: ""
CI_ONIRO_BUILD_CACHE: "private"
CI_ONIRO_BB_LOCAL_CONF_CONNECTIVITY_CHECK_URIS: "https://example.net/"
CI_ONIRO_BB_LOCAL_CONF_DL_DIR: /var/shared/$CI_ONIRO_BUILD_CACHE/bitbake/downloads
CI_ONIRO_BB_LOCAL_CONF_SSTATE_DIR: /var/shared/$CI_ONIRO_BUILD_CACHE/bitbake/sstate-cache
CI_ONIRO_BB_LOCAL_CONF_DL_DIR: $CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake/downloads
CI_ONIRO_BB_LOCAL_CONF_SSTATE_DIR: $CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake/sstate-cache
CI_ONIRO_BB_LOCAL_CONF_IMAGE_VERSION_SUFFIX: ""
CI_ONIRO_BB_LOCAL_CONF_CVE_CHECK_DB_DIR: "$${TMPDIR}/CVE_CHECK/"
CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: cve-check
......@@ -108,13 +108,16 @@
echo "precondition failed - cannot define just one of CI_ONIRO_DEVTOOL_RECIPE_NAME and CI_ONIRO_DEVTOOL_LAYER_PATH"
exit 1
fi
# Bitbake is configured to use /var/shared/$CI_ONIRO_BUILD_CACHE/bitbake
# Bitbake is configured to use $CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake
# directory for both the download directory and the sstate-cache.
- test -w /var/shared/$CI_ONIRO_BUILD_CACHE/bitbake || (
echo "precondition failed - expected /var/shared/$CI_ONIRO_BUILD_CACHE/bitbake to be writable"
- test -n "$CI_ONIRO_RUNNER_PERSISTENT_STORAGE" || (
echo "precondition failed - CI_ONIRO_RUNNER_PERSISTENT_STORAGE is not set"
&& exit 1 )
- test -w "$CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake" || (
echo "precondition failed - expected $CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake to be writable"
&& exit 1 )
# Log available disk space on the persistent shared disk.
- df -h /var/shared/$CI_ONIRO_BUILD_CACHE/bitbake
- df -h "$CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake"
- !reference [.workspace, before_script]
script:
......
......@@ -47,7 +47,6 @@
.dco:
stage: compliance
interruptible: true
tags: [compliance]
# This pipeline relies on a container with the dco-check package pre-installed.
# Precise, machine readable description of this container can be found in
# https://booting.oniroproject.org/distro/oniro/-/blob/master/.oniro-ci/containers/dco-check/Dockerfile
......
......@@ -42,7 +42,6 @@
# # allow_failure: true
# -- 8< ------------[ cut here ]---
.reuse:
stage: compliance
interruptible: true
tags: [compliance]
# This pipeline relies on a container with the reuse package pre-installed.
......
......@@ -25,7 +25,8 @@ Supported machines (default in **bold**):
* qemuarm
* qemuarm64
* seco-intel-b68 (SECO SBC-B68)
* seco-imx8mm-c61 (SECO SBC-C61)
* seco-imx8mm-c61-2gb (SECO SBC-C61 2GB DRAM)
* seco-imx8mm-c61-4gb (SECO SBC-C61 4GB DRAM)
Build steps example:
......
......@@ -125,10 +125,10 @@ than the artifact system, that copies all the data regardless of the need to
actually use that data in practice.
The default location is changed to
``/var/shared/$CI_ONIRO_BUILD_CACHE/bitbake/downloads``, but this should
be treated as an implementation detail. The location may change in the future.
The download cache is not automatically purged yet. In the future it may be
purged periodically, if space becomes an issue.
``$CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake/downloads``,
but this should be treated as an implementation detail. The location may change
in the future. The download cache is not automatically purged yet. In the
future it may be purged periodically, if space becomes an issue.
Note that the location relies on the value of ``$CI_ONIRO_BUILD_CACHE``
discussed above.
......@@ -147,10 +147,11 @@ tasks and simply assemble the desired system image out of intermediate files
present in the cache.
The default location is changed to
``/var/shared/$CI_ONIRO_BUILD_CACHE/bitbake/sstate-cache``, but this
should be treated as an implementation detail. The location may change in the
future. The sstate cache is not automatically purged yet. It can be purged
periodically with the only caveat, that initial builds will be much slower.
``$CI_ONIRO_RUNNER_PERSISTENT_STORAGE/$CI_ONIRO_BUILD_CACHE/bitbake/sstate-cache``,
but this should be treated as an implementation detail. The location may change
in the future. The sstate cache is not automatically purged yet. It can be
purged periodically with the only caveat, that initial builds will be much
slower.
Cache Considerations
====================
......
......@@ -15,7 +15,8 @@ Supported machines (first is the default):
- qemux86-64
- qemux86
- seco-intel-b68 (SECO SBC-B68)
- seco-imx8mm-c61 (SECO SBC-C61)
- seco-imx8mm-c61-2gb (SECO SBC-C61 2GB DRAM)
- seco-imx8mm-c61-4gb (SECO SBC-C61 4GB DRAM)
- raspberrypi4-64
MACHINE variable can be set up in conf/local.conf file under build directory
......
......@@ -23,7 +23,8 @@
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"
#MACHINE ?= "seco-intel-b68"
#MACHINE ?= "seco-imx8mm-c61"
#MACHINE ?= "seco-imx8mm-c61-2gb"
#MACHINE ?= "seco-imx8mm-c61-4gb"
#MACHINE ?= "raspberrypi4-64"
#
# This sets the default machine to be qemux86 if no other machine is selected:
......
......@@ -16,6 +16,7 @@ SPDX-FileCopyrightText: Huawei Inc.
</notice>
<remote name="eclipse" fetch="https://gitlab.eclipse.org/eclipse" />
<remote name="github" fetch="https://github.com" />
<remote name="oniro-booting" fetch="https://booting.oniroproject.org" />
<remote name="yocto" fetch="git://git.yoctoproject.org" />
......@@ -30,7 +31,7 @@ SPDX-FileCopyrightText: Huawei Inc.
<project name="pub/intel/yocto/meta-seco-intel" remote="seco" revision="65a673560211b11986db5785c70254fad190785f" path="meta-seco-intel" />
<project name="meta-freescale" remote="yocto" revision="04a7bbdddfe9cfd41e93f127fed41293cde79741" path="meta-freescale" />
<project name="pub/i.mx/yocto/5.x/meta-seco-imx" remote="seco" revision="ef8748bbe79817f53153e813acae6ea006775b59" path="meta-seco-imx" />
<project name="meta-raspberrypi" remote="yocto" revision="7a9b2751f0c0822af1e18536a33358002b99cb05" path="meta-raspberrypi" />
<project name="meta-raspberrypi" remote="yocto" revision="bc10842957212450023adfcbad5a73c21b28fce7" path="meta-raspberrypi" />
<project name="meta-security" remote="yocto" revision="6cc8dde794bd56077e0e2eb5d303e958cc553b68" path="meta-security" />
<project name="rauc/meta-rauc" remote="github" revision="9e206d6998b363315791be144815a4eabc3fe5a8" path="meta-rauc" />
<project name="riscv/meta-riscv" remote="github" revision="b3550462b3e827259efbc8872ead6ecc0e30c7fb" path="meta-riscv" />
......@@ -40,19 +41,17 @@ SPDX-FileCopyrightText: Huawei Inc.
For the entries below this comment it depends on the phase of development
the project is in at the given time. In normal development mode it would be
"floating" entries, that follow branches and not precise revisions (this
can be identified by the missing revision="" tag).
"floating" entries, that follow branches and not precise revisions.
When the release process is entered these would be pinned as well. Most
likely to a git tag in the repository. If a revision="" tag is present
this is the case.
likely to a git tag in the repository.
-->
<project name="distro/oniro" remote="oniro-booting" revision="kirkstone" path="oniro">
<project name="oniro-core/oniro.git" remote="eclipse" revision="kirkstone" path="oniro">
<linkfile src="README.md" dest="README.md"/>
</project>
<project name="distro/meta-clang" remote="oniro-booting" revision="oniro/kirkstone" path="meta-clang" />
<project name="distro/meta-zephyr" remote="oniro-booting" revision="oniro/kirkstone" path="meta-zephyr" />
<project name="distro/docs" remote="oniro-booting" revision="main" path="docs" />
<project name="oniro-core/meta-clang.git" remote="eclipse" revision="oniro/kirkstone" path="meta-clang" />
<project name="oniro-core/meta-zephyr.git" remote="eclipse" revision="oniro/kirkstone" path="meta-zephyr" />
<project name="oniro-core/docs.git" remote="eclipse" revision="main" path="docs" />
<project name="distro/governance/ip-policy" remote="oniro-booting" revision="main" path="ip-policy" />
</manifest>
......@@ -48,7 +48,8 @@ WKS_FILE_DEPENDS:qemux86 += "ovmf"
WKS_FILE:qemu-generic-arm64 = "x-qemu-efi-disk.wks.in"
IMAGE_FSTYPES:qemu-generic-arm64 += "wic wic.qcow2"
WKS_FILE:seco-imx8mm-c61 ?= "x-imx-uboot-bootpart.wks.in"
WKS_FILE:seco-imx8mm-c61-2gb ?= "x-imx-uboot-bootpart.wks.in"
WKS_FILE:seco-imx8mm-c61-4gb ?= "x-imx-uboot-bootpart.wks.in"
#
# Deploy boot partition artifacts to the root partition. This is part of the
......
......@@ -48,7 +48,7 @@ WIC_ROOTA_PARTITION ?= "part / --source rootfs --use-uuid --fstype=${ROOT_FSTYPE
${@bb.utils.contains('ROOT_FSTYPE', 'ext4', '--mkfs-extraopts \'-T default\'', '', d)} \
--align 4096 --fixed-size ${ROOTA_PARTITION_SIZE} \
${WIC_ROOTA_PARTITION_EXTRA_ARGS}"
WIC_ROOTB_PARTITION ?= "part / --source rootfs --use-uuid --fstype=${ROOT_FSTYPE} \
WIC_ROOTB_PARTITION ?= "part / --source empty --use-uuid --fstype=${ROOT_FSTYPE} \
${@bb.utils.contains('ROOT_FSTYPE', 'ext4', '--mkfs-extraopts \'-T default\'', '', d)} \
--align 4096 --fixed-size ${ROOTB_PARTITION_SIZE} \
${WIC_ROOTB_PARTITION_EXTRA_ARGS}"
......
From e128bab01d6066547efed551e9d4944d5b2a5701 Mon Sep 17 00:00:00 2001
From: William Woodruff <william@trailofbits.com>
Date: Fri, 21 May 2021 07:20:12 -0600
Subject: [PATCH] dwarf/constants: add DW_LNCT_* constants (#362)
These were introduced with DWARFv5 and are documented in S. 6.2.4.1.
---
elftools/dwarf/constants.py | 9 +++++++++
1 file changed, 9 insertions(+)
Upstream commit e128bab01d6066547efed551e9d4944d5b2a5701
Signed-off-by: Bernhard Rosenkränzer <bernhard.rosenkraenzer.ext@huawei.com>
Upstream-status: Backport
diff --git a/elftools/dwarf/constants.py b/elftools/dwarf/constants.py
index 558e8c6..d1a86fc 100644
--- a/elftools/dwarf/constants.py
+++ b/elftools/dwarf/constants.py
@@ -160,6 +160,15 @@
DW_LNE_lo_user = 0x80
DW_LNE_hi_user = 0xff
+# Line program header content types
+#
+DW_LNCT_path = 0x01
+DW_LNCT_directory_index = 0x02
+DW_LNCT_timestamp = 0x03
+DW_LNCT_size = 0x04
+DW_LNCT_MD5 = 0x05
+DW_LNCT_lo_user = 0x2000
+DW_LNCT_hi_user = 0x3fff
# Call frame instructions
#
From 4384ad8928ad0167f8cc543056433080decef9cb Mon Sep 17 00:00:00 2001
From: William Woodruff <william@trailofbits.com>
Date: Thu, 27 May 2021 09:38:35 -0400
Subject: [PATCH] dwarf: initial DWARFv5 support (#363)
* dwarf: initial DWARFv5 support
* dwarf/structs: use Embed to select header layout
* dwarf/structs: DW_FORM_strx family
Not sure how best to handle 24-bit values yet.
* dwarf/structs: use IfThenElse
`If` alone wraps the else in a `Value`.
* dwarf/structs: DW_FORM_addrx family handling
* dwarf_expr: support DW_OP_addrx
Not complete, but gets readelf.py to the end of a single
binary.
* dwarf/constants: DW_UT_* constants
* dwarf/structs: fix some DW_FORMs
* elftools, test: plumbing for DWARFv5 sections
* dwarf/constants: fix typo
* dwarf/structs: re-add a comment that got squashed
* dwarf/structs: DWARFv5 table header scaffolding
* dwarf/constants: typo
* test: add a basic DWARFv5 test
---
elftools/dwarf/constants.py | 15 ++++++
elftools/dwarf/dwarf_expr.py | 1 +
elftools/dwarf/dwarfinfo.py | 6 ++-
elftools/dwarf/structs.py | 43 ++++++++++++++++--
elftools/elf/elffile.py | 11 +++--
test/test_refaddr_bitness.py | 4 +-
8 files changed, 90 insertions(+), 11 deletions(-)
Upstream commit 4384ad8928ad0167f8cc543056433080decef9cb with minor
modifications to fit on 0.27
Signed-off-by: Bernhard Rosenkränzer <bernhard.rosenkraenzer.ext@huawei.com>
Upstream-Status: Backport
diff --git a/elftools/dwarf/constants.py b/elftools/dwarf/constants.py
index d1a86fc..6542095 100644
--- a/elftools/dwarf/constants.py
+++ b/elftools/dwarf/constants.py
@@ -207,3 +207,18 @@
DW_CFA_val_offset_sf = 0x15
DW_CFA_val_expression = 0x16
DW_CFA_GNU_args_size = 0x2e
+
+
+# Compilation unit types
+#
+# DWARFv5 introduces the "unit_type" field to each CU header, allowing
+# individual CUs to indicate whether they're complete, partial, and so forth.
+# See DWARFv5 3.1 ("Unit Entries") and 7.5.1 ("Unit Headers").
+DW_UT_compile = 0x01
+DW_UT_type = 0x02
+DW_UT_partial = 0x03
+DW_UT_skeleton = 0x04
+DW_UT_split_compile = 0x05
+DW_UT_split_type = 0x06
+DW_UT_lo_user = 0x80
+DW_UT_hi_user = 0xff
diff --git a/elftools/dwarf/dwarf_expr.py b/elftools/dwarf/dwarf_expr.py
index bb85daa..07c6fa1 100644
--- a/elftools/dwarf/dwarf_expr.py
+++ b/elftools/dwarf/dwarf_expr.py
@@ -197,6 +197,7 @@ def parse_typedblob():
return lambda stream: [struct_parse(structs.Dwarf_uleb128(''), stream), read_blob(stream, struct_parse(structs.Dwarf_uint8(''), stream))]
add('DW_OP_addr', parse_op_addr())
+ add('DW_OP_addrx', parse_arg_struct(structs.Dwarf_uleb128('')))
add('DW_OP_const1u', parse_arg_struct(structs.Dwarf_uint8('')))
add('DW_OP_const1s', parse_arg_struct(structs.Dwarf_int8('')))
add('DW_OP_const2u', parse_arg_struct(structs.Dwarf_uint16('')))
diff --git a/elftools/dwarf/dwarfinfo.py b/elftools/dwarf/dwarfinfo.py
index 103fc49..48c4bb5 100644
--- a/elftools/dwarf/dwarfinfo.py
+++ b/elftools/dwarf/dwarfinfo.py
@@ -71,7 +71,9 @@ def __init__(self,
debug_ranges_sec,
debug_line_sec,
debug_pubtypes_sec,
- debug_pubnames_sec):
+ debug_pubnames_sec,
+ debug_addr_sec,
+ debug_str_offsets_sec):
""" config:
A DwarfConfig object
@@ -434,7 +436,7 @@ def _parse_CU_at_offset(self, offset):
def _is_supported_version(self, version):
""" DWARF version supported by this parser
"""
- return 2 <= version <= 4
+ return 2 <= version <= 5
def _parse_line_program_at_offset(self, debug_line_offset, structs):
""" Given an offset to the .debug_line section, parse the line program
diff --git a/elftools/dwarf/structs.py b/elftools/dwarf/structs.py
index 9513053..16f29f6 100644
--- a/elftools/dwarf/structs.py
+++ b/elftools/dwarf/structs.py
@@ -11,7 +11,7 @@
UBInt8, UBInt16, UBInt32, UBInt64, ULInt8, ULInt16, ULInt32, ULInt64,
SBInt8, SBInt16, SBInt32, SBInt64, SLInt8, SLInt16, SLInt32, SLInt64,
Adapter, Struct, ConstructError, If, Enum, Array, PrefixedArray,
- CString, Embed, StaticField
+ CString, Embed, StaticField, IfThenElse
)
from ..common.construct_utils import RepeatUntilExcluding, ULEB128, SLEB128
from .enums import *
@@ -89,7 +89,7 @@ def __init__(self,
section 7.5.1)
"""
assert dwarf_format == 32 or dwarf_format == 64
- assert address_size == 8 or address_size == 4
+ assert address_size == 8 or address_size == 4, str(address_size)
self.little_endian = little_endian
self.dwarf_format = dwarf_format
self.address_size = address_size
@@ -138,6 +138,8 @@ def _create_structs(self):
self._create_callframe_entry_headers()
self._create_aranges_header()
self._create_nameLUT_header()
+ self._create_string_offsets_table_header()
+ self._create_address_table_header()
def _create_initial_length(self):
def _InitialLength(name):
@@ -160,8 +162,16 @@ def _create_cu_header(self):
self.Dwarf_CU_header = Struct('Dwarf_CU_header',
self.Dwarf_initial_length('unit_length'),
self.Dwarf_uint16('version'),
- self.Dwarf_offset('debug_abbrev_offset'),
- self.Dwarf_uint8('address_size'))
+ # DWARFv5 reverses the order of address_size and debug_abbrev_offset.
+ IfThenElse('', lambda ctx: ctx['version'] >= 5,
+ Embed(Struct('',
+ self.Dwarf_uint8('unit_type'),
+ self.Dwarf_uint8('address_size'),
+ self.Dwarf_offset('debug_abbrev_offset'))),
+ Embed(Struct('',
+ self.Dwarf_offset('debug_abbrev_offset'),
+ self.Dwarf_uint8('address_size'))),
+ ))
def _create_abbrev_declaration(self):
self.Dwarf_abbrev_declaration = Struct('Dwarf_abbrev_entry',
@@ -177,6 +187,11 @@ def _create_abbrev_declaration(self):
def _create_dw_form(self):
self.Dwarf_dw_form = dict(
DW_FORM_addr=self.Dwarf_target_addr(''),
+ DW_FORM_addrx=self.Dwarf_uleb128(''),
+ DW_FORM_addrx1=self.Dwarf_uint8(''),
+ DW_FORM_addrx2=self.Dwarf_uint16(''),
+ # DW_FORM_addrx3=self.Dwarf_uint24(''), # TODO
+ DW_FORM_addrx4=self.Dwarf_uint32(''),
DW_FORM_block1=self._make_block_struct(self.Dwarf_uint8),
DW_FORM_block2=self._make_block_struct(self.Dwarf_uint16),
@@ -193,6 +208,10 @@ def _create_dw_form(self):
DW_FORM_string=CString(''),
DW_FORM_strp=self.Dwarf_offset(''),
+ DW_FORM_strx1=self.Dwarf_uint8(''),
+ DW_FORM_strx2=self.Dwarf_uint16(''),
+ # DW_FORM_strx3=self.Dwarf_uint24(''), # TODO
+ DW_FORM_strx4=self.Dwarf_uint64(''),
DW_FORM_flag=self.Dwarf_uint8(''),
DW_FORM_ref=self.Dwarf_uint32(''),
@@ -233,6 +252,22 @@ def _create_nameLUT_header(self):
self.Dwarf_length('debug_info_length')
)
+ def _create_string_offsets_table_header(self):
+ self.Dwarf_string_offsets_table_header = Struct(
+ "Dwarf_string_offets_table_header",
+ self.Dwarf_initial_length('unit_length'),
+ self.Dwarf_uint16('version'),
+ self.Dwarf_uint16('padding'),
+ )
+
+ def _create_address_table_header(self):
+ self.Dwarf_address_table_header = Struct("Dwarf_address_table_header",
+ self.Dwarf_initial_length('unit_length'),
+ self.Dwarf_uint16('version'),
+ self.Dwarf_uint8('address_size'),
+ self.Dwarf_uint8('segment_selector_size'),
+ )
+
def _create_lineprog_header(self):
# A file entry is terminated by a NULL byte, so we don't want to parse
# past it. Therefore an If is used.
diff --git a/elftools/elf/elffile.py b/elftools/elf/elffile.py
index 779ae3b..acddc89 100644
--- a/elftools/elf/elffile.py
+++ b/elftools/elf/elffile.py
@@ -212,7 +212,7 @@ def get_dwarf_info(self, relocate_dwarf_sections=True):
section_names = ('.debug_info', '.debug_aranges', '.debug_abbrev',
'.debug_str', '.debug_line', '.debug_frame',
'.debug_loc', '.debug_ranges', '.debug_pubtypes',
- '.debug_pubnames')
+ '.debug_pubnames', '.debug_addr', '.debug_str_offsets')
compressed = bool(self.get_section_by_name('.zdebug_info'))
if compressed:
@@ -224,7 +224,8 @@ def get_dwarf_info(self, relocate_dwarf_sections=True):
(debug_info_sec_name, debug_aranges_sec_name, debug_abbrev_sec_name,
debug_str_sec_name, debug_line_sec_name, debug_frame_sec_name,
debug_loc_sec_name, debug_ranges_sec_name, debug_pubtypes_name,
- debug_pubnames_name, eh_frame_sec_name) = section_names
+ debug_pubnames_name, debug_addr_name, debug_str_offsets_name,
+ eh_frame_sec_name) = section_names
debug_sections = {}
for secname in section_names:
@@ -253,8 +254,10 @@ def get_dwarf_info(self, relocate_dwarf_sections=True):
debug_loc_sec=debug_sections[debug_loc_sec_name],
debug_ranges_sec=debug_sections[debug_ranges_sec_name],
debug_line_sec=debug_sections[debug_line_sec_name],
- debug_pubtypes_sec = debug_sections[debug_pubtypes_name],
- debug_pubnames_sec = debug_sections[debug_pubnames_name]
+ debug_pubtypes_sec=debug_sections[debug_pubtypes_name],
+ debug_pubnames_sec=debug_sections[debug_pubnames_name],
+ debug_addr_sec=debug_sections[debug_addr_name],
+ debug_str_offsets_sec=debug_sections[debug_str_offsets_name],
)
def has_ehabi_info(self):
diff --git a/test/test_refaddr_bitness.py b/test/test_refaddr_bitness.py
index 85fc56d..b9e8874 100644
--- a/test/test_refaddr_bitness.py
+++ b/test/test_refaddr_bitness.py
@@ -43,7 +43,9 @@ def test_main(self):
debug_ranges_sec = None,
debug_line_sec = None,
debug_pubtypes_sec = None,
- debug_pubnames_sec = None
+ debug_pubnames_sec = None,
+ debug_addr_sec=None,
+ debug_str_offsets_sec=None,
)
CUs = [cu for cu in di.iter_CUs()]
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
# Add DWARF-5 support, based on upstream
SRC_URI:append = " \
file://dwarf5-constants.patch \
file://dwarf5.patch \
"
From 0c592f854ac44c8388f55e8e78b553d5a0976272 Mon Sep 17 00:00:00 2001
From: Stefan Schmidt <stefan.schmidt@huawei.com>
Date: Thu, 10 Mar 2022 18:07:05 +0100
Subject: [PATCH] BUILD.gn: enbale all Linux examples in the default build
Instead of doing extra builds for each example we enable the ones we are
interested in by default.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com>
---
BUILD.gn | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/BUILD.gn b/BUILD.gn
index 09b8f2956..1334a45c8 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -107,6 +107,13 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
deps += [
":certification",
"${chip_root}/examples/shell/standalone:chip-shell",
+ "${chip_root}/examples/all-clusters-app/linux:chip-all-clusters-app",
+ "${chip_root}/examples/thermostat/linux:thermostat-app",
+ "${chip_root}/examples/tv-app/linux:chip-tv-app",
+ "${chip_root}/examples/tv-casting-app/linux:chip-tv-casting-app",
+ "${chip_root}/examples/bridge-app/linux:chip-bridge-app",
+ "${chip_root}/examples/lighting-app/linux:chip-lighting-app",
+ "${chip_root}/examples/door-lock-app/linux:chip-door-lock-app",
"${chip_root}/src/app/tests/integration:chip-im-initiator",
"${chip_root}/src/app/tests/integration:chip-im-responder",
"${chip_root}/src/lib/address_resolve:address-resolve-tool",
--
2.35.1
......@@ -41,6 +41,7 @@ SRC_URI = "git://github.com/project-chip/connectedhomeip.git;protocol=https;name
git://github.com/nestlabs/nlio.git;protocol=https;destsuffix=git/third_party/nlio/repo;name=nlio;branch=master \
file://0001-projectmatter-use-Yocto-toolchain-and-flags.patch \
file://0002-mbedtls-disable-building-integrated-library-in-Yocto.patch \
file://0001-BUILD.gn-enbale-all-Linux-examples-in-the-default-bu.patch \
"
PV = "0.0+git${SRCPV}"
......@@ -60,7 +61,7 @@ GN_ARGS += "chip_enable_python_modules=false"
# GCC v11 reports multiple problems that span across project's source code and
# submodules. Temporarily disabling those warnings for the whole project
TARGET_CFLAGS:append = " -Wno-format-truncation -Wno-stringop-truncation -Wno-format-security"
TARGET_CFLAGS:append = " -Wno-format-truncation -Wno-stringop-truncation -Wno-format-security -Wno-unused-result"
do_install() {
install -d ${D}${bindir}
......@@ -73,4 +74,11 @@ do_install() {
install ${B}/chip-shell ${D}${bindir}
install ${B}/chip-tool ${D}${bindir}
install ${B}/spake2p ${D}${bindir}
install ${B}/chip-all-clusters-app ${D}${bindir}
install ${B}/chip-bridge-app ${D}${bindir}
install ${B}/chip-door-lock-app ${D}${bindir}
install ${B}/chip-lighting-app ${D}${bindir}
install ${B}/chip-tv-app ${D}${bindir}
install ${B}/chip-tv-casting-app ${D}${bindir}
install ${B}/thermostat-app ${D}${bindir}
}