public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Tamar Christina <Tamar.Christina@arm.com>
To: Dave Nadler <drn@nadler.com>,
	"newlib@sourceware.org"	<newlib@sourceware.org>
Cc: nd <nd@arm.com>
Subject: Re: [Newlib][libgloss]ARM - semihosting use of __end__symbol in crt0.S
Date: Wed, 05 Jul 2017 15:16:00 -0000	[thread overview]
Message-ID: <VI1PR0801MB20318E2F91DD54BDF838E0CDFFD40@VI1PR0801MB2031.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <3194afba-248d-a10e-1393-91bfbe744d43@nadler.com>

Hi Dave,

The use of __end__ relates to the semihosting call SYS_HEAPINFO.
Likely the link originally pointed to http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471f/Bacbefaa.html.

Basically at the startup r0 will contain the given 4 byte structure, where the first entry is the heap_base. If this is 0 it means
the system was unable to calculate it. __end__ is then used as a fall back for this. The reason __end__ is used instead of
__bss_end___ has to do with the alignment requirements.

The same question was asked on the bug-fix patch that introduced it http://newlib.sourceware.narkive.com/bcyUamAh/rfa-libgloss-arm-handle-zero-heap-base-from-semihosting

I am not completely certain, but this seems to indicate that not all of semihosting is supported on systems with multiple stacks.

Cheers,
Tamar
________________________________________
From: Dave Nadler <drn@nadler.com>
Sent: Wednesday, July 5, 2017 2:32:18 PM
To: Tamar Christina; newlib@sourceware.org
Cc: nd
Subject: [Newlib][libgloss]ARM - semihosting use of __end__symbol in crt0.S

Hi Tamar - Perhaps as you are working on ARM crt0 and semihosting, you
can help
with a question regarding crt0's use of the symbol __end__ for semihosting.
I read the code but I'm not expert at ARM assembly and do not understand
what __end__ is being used for, and the comments do not explain the
intent/purpose...

I am concerned that there is an assumption within semihosting about
available
memory or memory boundaries that may be incorrect in systems where heap
and stack are not contiguous, for example embedded systems with multiple
stacks.

I asked the question on stack exchange but (surprise) didn't get any
useful response:
https://stackoverflow.com/questions/44853442/meaning-of-gnu-symbol-end-especially-arm-embedded

Thanks in advance for any clarification,
Best Regards, Dave


On 7/5/2017 4:44 AM, Tamar Christina wrote:
> Hi Corinna,
>
> Ah sure, I will resend them today.
>
> Thanks,
> Tamar
> ________________________________________
> From:newlib-owner@sourceware.org  <newlib-owner@sourceware.org>  on behalf of Corinna Vinschen<vinschen@redhat.com>
> Sent: Wednesday, July 5, 2017 9:36:21 AM
> To:newlib@sourceware.org
> Subject: Re: [PATCH][Newlib][libgloss] - Semihosting v2 general build changes (1 / 5)
>
> Hi Tamar,
>
> On Jul  3 16:53, Tamar Christina wrote:
>> Hi All,
>>
>>
>> This patch adds the general build system changes needed
>> in order to compile and create the new libraries for Semihosting v2.
>>
>> This works by creating a similar recursive make target that is modeled
>> after the existing multilib makefile config-ml.in.
>>
>> OK for master?
>>
>> PS. I do not have commit rights so if OK can someone apply for me?
>>
>> Thanks,
>> Tamar
>>
>>
>> libgloss/
>> 2017-07-03  Tamar Christina<tamar.christina@arm.com>
>>
>>        * multi-build.in (multi-do): New.
> We don't use ChangeLog format anymore.  Rather we would prefer
> informative git commit messages and patches in `git format-patch'
> format.
>
> These 5 patches qualify as patch series, so it would be nice if
> you could resend them that way.
>
>
> Thanks,
> Corinna
>
> --
> Corinna Vinschen
> Cygwin Maintainer
> Red Hat


--
Dave Nadler, USA East Coast voice (978) 263-0097,drn@nadler.com, Skype
  Dave.Nadler1

  reply	other threads:[~2017-07-05 15:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-03 16:53 [PATCH][Newlib][libgloss] - Semihosting v2 general build changes (1 / 5) Tamar Christina
2017-07-05  8:36 ` Corinna Vinschen
2017-07-05  8:44   ` Tamar Christina
2017-07-05 12:13     ` Tamar Christina
2017-07-05 12:42       ` Corinna Vinschen
2017-07-05 13:32     ` [Newlib][libgloss]ARM - semihosting use of __end__symbol in crt0.S Dave Nadler
2017-07-05 15:16       ` Tamar Christina [this message]
2017-07-05 18:19         ` Dave Nadler
2017-07-06  4:42           ` Senthil Kumar Selvaraj
2017-07-06 14:22             ` Tamar Christina

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=VI1PR0801MB20318E2F91DD54BDF838E0CDFFD40@VI1PR0801MB2031.eurprd08.prod.outlook.com \
    --to=tamar.christina@arm.com \
    --cc=drn@nadler.com \
    --cc=nd@arm.com \
    --cc=newlib@sourceware.org \
    /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).