Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tcf-dev] Disassembly Service logic with Symbols
  • From: "Wilson, David" <david.wilson@xxxxxxxxx>
  • Date: Mon, 31 Aug 2020 08:03:30 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fs+LwUfE1g3VrfQX9/LDpm882dcfrfIxlcenAt/BjZg=; b=VND0pz4RpVq3QZKrDQJ1nXBiEBoTZPrWykKeo8vKeYCp6LiX9B/R3GJWzg2c1YikyL2RNTyTW1LhyFNSyOMtNTRV0sr/jYxl+/eePImzUjt79CzNprGMZteqgPG+ybXpjT/0Zk1G9fHwsNB5pCHEhq9a3p2E72HviCnwVzjwPk5HsDZMehznVtxYjDW7mRrTjaVbDRTI2785y7gJhU2u5yUI8N4G5G31XxeVDRANo8nPh5ExXd5Qp7JMtMeP2PZoQj8JwZjp80i8UGFgvEjR4U6HT9v+jQJAmCUIxQsAAby4vlAfpQdHbqMlR//JM5MNl0708Qr+u6ETka2VoU4flw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EVDgvc1efDzAT22IT+11IdqNpwwCKgpa6Id+9LaNWGA5Ys1VdBShsbGu84ektoqeAa7dDY71AROM5aS30kyPzIrbYK03GN4Aa6NhuKu9274uX9sJzEdErSWbKB5HVjhDCKeXca3szhP6W4sauOQaINpU+mtTYXZ6Oh9jLuWsSxSu8vTMXAQjkwU0cX/vv+j/CRyRujpwfMaaeMjDf5SCtlDd77vuzy7NHFZtabJg9wnYLYRscX1XKHaxpjNE2tZZhOcpsqL2FOMIDWGwd3a0ZGDAG7Dp79eQg+6tUl5wssKBe857A3zVY1fCCrGglJQs+iWKv4FGGWDEvO2YuNybNg==
  • Delivered-to: tcf-dev@xxxxxxxxxxx
  • Ironport-sdr: qbmauyPn9uS6V8jBUjtjmjTm/0YVrYAkLqjbJyqTDXnHKE8MIpdLcllC9CJSsmxhQ+taPwjIhj +WKdj2Lcs92w==
  • Ironport-sdr: 6CoqYfrAEPSgqHWOQurU+t9839OVJgIhFG9+olueQPO/aJq1yAZU0eOKjAG1kUjscICGt6YPq4 ZeBRGD4mgdJQ==
  • List-archive: <https://www.eclipse.org/mailman/private/tcf-dev>
  • List-help: <mailto:tcf-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AQHWf2q08DifUncuSEysAOeCR3Wo7Q==
  • Thread-topic: Disassembly Service logic with Symbols

Hi All,

 

I am wondering if I could get some clarification on how the disassembly command (in the disassembly service, disassembly.c) is meant to deal with cases when symbols are loaded.


The behavior I have noticed:

 

Command: Disassembly disassemble “ContextID” Addr 1 {}

 

This will return us at least 1 instruction (even though we’ve only specified one byte).

 

Then, we continue to ask for more instructions e.g.:

 

Command: Disassembly disassemble “ContextID” Addr 500 {}

 

And this will return us instructions up to the given size.

 

 

However – we have noticed, with symbols loaded, that this will reach a “limit” on the size of instructions we can ask for (i.e. we reach a point where we cannot ask for more.

 

This means even if we ask for: Command: Disassembly disassemble “ContextID” Addr 1000 {}

 

We still get the same number of instructions returned.

 

 

This happens because of the following block:

 

if (sym_addr_ok && sym_size_ok &&

                    sym_addr <= buf_addr && sym_addr + sym_size > buf_addr &&

                    sym_addr + sym_size <= buf_addr + buf_size) {

                buf_size = sym_addr + sym_size - buf_addr;

                mem_size = (size_t)buf_size;

            }

 

I am wondering if this behavior is expected, and if so – what the purpose of it is.

 


Kind Regards

 


David Wilson

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


Back to the top