public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: naresh kamboju <naresh.kernel@gmail.com>
To: systemtap@sources.redhat.com
Cc: "Frank Ch. Eigler" <fche@redhat.com>,
	Dave Brolley <brolley@redhat.com>,
	David Smith <dsmith@redhat.com>,
	 	Masami Hiramatsu <mhiramat@redhat.com>,
	eugen@debian.org
Subject: Re: Integer constant is too large for 'long' type
Date: Mon, 16 Nov 2009 15:45:00 -0000	[thread overview]
Message-ID: <f5a7b3810911160744v65634971va7479b491e5afc2d@mail.gmail.com> (raw)
In-Reply-To: <f5a7b3810911050809l7d2a359bk88096a477b2e7dc5@mail.gmail.com>

Hi,

On Thu, Nov 5, 2009 at 9:39 PM, naresh kamboju <naresh.kernel@gmail.com> wrote:
> Hi,
>
> On Thu, Nov 5, 2009 at 9:24 PM, Frank Ch. Eigler <fche@redhat.com> wrote:
>> Hi -
>>
>> On Thu, Nov 05, 2009 at 09:18:28PM +0530, naresh kamboju wrote:
>>
>>
>> OK, the above shows that the linker script that is creating your arm
>> kernel images is putting the build-id note in a weird place - at the
>> very beginning of RAM, far away from .text and friends.  My guess is
>> that this memory is actually not preserved at run time, so that even
>> if we got the systemtap-time offsets all compiled in, the run-time
>> value would not match.
> OK.
>>
>> On more typical desktop linux builds, the build-id section is placed
>> right after .text, so that relative to the _stext symbol, there is a
>> smallish positive offset.  And that way the buildid bits get
>> preserved.  Can you check whether this is fixable in the arm kernel
>> you are using?
>
>> I'll check at my end with arm Kernel.


After our discussion I have investigated this issue
Issue:
/tmp/stapkpgLTm/stap-symbols.h:60600: error: integer constant is too
large for 'long' type
/tmp/stapkpgLTm/stap-symbols.h:60600: error: large integer implicitly
truncated to unsigned type

Found the patch is applied to SystemTap-0.9.9 is causing the build
issues in test cases of SystemTap testsuite.
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg690166.html

translate.cxx:
c->output << ".build_id_offset = 0x" << hex << build_id_vaddr - (base
+ extra_offset)
            << dec << ",\n";

In the above line, extra_offset datatype is "long long int" but
".build_id_offset is "unsigned long" only. Due to that it is giving
"error: integer constant is too large for 'long' type" and the
structure static struct _stp_module where “.build_id_offset =
0xffffffff3fff8024” is filled with larger value in to “unsigned long
build_id_offset;”

From ".build_id_offset", this gives the offset value when relocations
are applied to build id address in systemtap. In this scenario,
build_id_vaddr itself supply the clear symbol relocation but I do not
know why " build_id_vaddr - (base + extra_offset)" is done for
relocations.

I expect, (base + extra_offset) is subtracted from build_id_vaddr
which assumes that offset between _stext and build is the same after
relocation.


However, I have back ported this patch and able to resolve the build
issue on ARM.

Please provide your comments.

Best regards,
Naresh Kamboju

>
> Thank you very much.
>
> Best regards
> Naresh Kamboju
>
>>
>> - FChE
>>

  reply	other threads:[~2009-11-16 15:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-05  8:40 naresh kamboju
2009-11-05  8:47 ` Mark Wielaard
2009-11-05 10:42   ` naresh kamboju
2009-11-05 14:56     ` naresh kamboju
2009-11-05 15:25       ` Frank Ch. Eigler
2009-11-05 15:34         ` naresh kamboju
     [not found]           ` <20091105153606.GC21665@redhat.com>
     [not found]             ` <f5a7b3810911050748h1d4e82ft4d5af4a5b14d6d49@mail.gmail.com>
2009-11-05 15:54               ` Frank Ch. Eigler
2009-11-05 16:09                 ` naresh kamboju
2009-11-16 15:45                   ` naresh kamboju [this message]
2009-11-16 18:16                     ` Eugeniy Meshcheryakov
2009-11-16 18:24                     ` Eugeniy Meshcheryakov
2009-11-26  7:04                       ` naresh kamboju
2009-11-17 20:02                     ` Frank Ch. Eigler
2009-11-18 14:51                       ` naresh kamboju
2009-11-06 12:13     ` Mark Wielaard
2009-11-06 14:36       ` naresh kamboju

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f5a7b3810911160744v65634971va7479b491e5afc2d@mail.gmail.com \
    --to=naresh.kernel@gmail.com \
    --cc=brolley@redhat.com \
    --cc=dsmith@redhat.com \
    --cc=eugen@debian.org \
    --cc=fche@redhat.com \
    --cc=mhiramat@redhat.com \
    --cc=systemtap@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).