mailing list of musl libc
 help / color / mirror / code / Atom feed
* [GSoC2016] A proposal on porting musl to RISC-V
@ 2016-03-16  1:22 Masanori Ogino
  2016-03-16  8:37 ` Alexander Monakov
  2016-03-19  6:37 ` [musl] " Rich Felker
  0 siblings, 2 replies; 7+ messages in thread
From: Masanori Ogino @ 2016-03-16  1:22 UTC (permalink / raw)
  To: lowrisc-dev; +Cc: musl

Hello,

I published an early draft of my Google Summer of Code 2016 proposal.
You can get the draft from:
https://github.com/omasanori/gsoc2016-proposal .

Check https://github.com/omasanori/gsoc2016-proposal/releases/tag/rev1
if you want a PDF file of this revision.

Any comment would be appreciated. Feel free to send comments on MLs or GitHub.

-- 
Masanori Ogino


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GSoC2016] A proposal on porting musl to RISC-V
  2016-03-16  1:22 [GSoC2016] A proposal on porting musl to RISC-V Masanori Ogino
@ 2016-03-16  8:37 ` Alexander Monakov
  2016-03-17 11:10   ` Masanori Ogino
  2016-03-19  6:37 ` [musl] " Rich Felker
  1 sibling, 1 reply; 7+ messages in thread
From: Alexander Monakov @ 2016-03-16  8:37 UTC (permalink / raw)
  To: Masanori Ogino; +Cc: lowrisc-dev, musl

Hi,

On Wed, 16 Mar 2016, Masanori Ogino wrote:
> I published an early draft of my Google Summer of Code 2016 proposal.
> You can get the draft from:
> https://github.com/omasanori/gsoc2016-proposal .
> 
> Check https://github.com/omasanori/gsoc2016-proposal/releases/tag/rev1
> if you want a PDF file of this revision.

I think at the moment the source file (proposal.md) is a bit more informative
because it has references to source code, and, more importantly, some URLs to
relevant projects such as the simulator and libc-test.  The PDF still has the
URLs, but they are typeset the same as normal text.

> Any comment would be appreciated. Feel free to send comments on MLs or GitHub.

It looks nice.  I have two non-essential comments:

- in week 1 tasks, you point out "Implement the startup code, function
  prologue and epilogue"; the comment references musl's crt startup code, but
  I don't see what the prologue/epilogue refer to; normally the compiler emits
  them, unless I'm misunderstanding what you say;

- I think it would be nice if you could add URLs for other risc-v software
  projects relevant to this work, namely the toolchain porting efforts
  (riscv-gnu-toolchain?), and perhaps the kernel port if there's a single URL
  for that (sorry I'm not familiar with RISC-V).

Thanks.
Alexander


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GSoC2016] A proposal on porting musl to RISC-V
  2016-03-16  8:37 ` Alexander Monakov
@ 2016-03-17 11:10   ` Masanori Ogino
  2016-03-18  1:16     ` Masanori Ogino
  0 siblings, 1 reply; 7+ messages in thread
From: Masanori Ogino @ 2016-03-17 11:10 UTC (permalink / raw)
  To: Alexander Monakov; +Cc: lowrisc-dev, musl

Thank you for reviewing!

2016-03-16 17:37 GMT+09:00 Alexander Monakov <amonakov@ispras.ru>:
> Hi,
>
> On Wed, 16 Mar 2016, Masanori Ogino wrote:
>> I published an early draft of my Google Summer of Code 2016 proposal.
>> You can get the draft from:
>> https://github.com/omasanori/gsoc2016-proposal .
>>
>> Check https://github.com/omasanori/gsoc2016-proposal/releases/tag/rev1
>> if you want a PDF file of this revision.
>
> I think at the moment the source file (proposal.md) is a bit more informative
> because it has references to source code, and, more importantly, some URLs to
> relevant projects such as the simulator and libc-test.  The PDF still has the
> URLs, but they are typeset the same as normal text.

References to the source code are comment for myself so they don't
appear in the text. Is it better to put them in the text?

Certainly it is inconvenient that hyperlinks are typeset normally in
the PDF. I'll fix it.

>> Any comment would be appreciated. Feel free to send comments on MLs or GitHub.
>
> It looks nice.  I have two non-essential comments:
>
> - in week 1 tasks, you point out "Implement the startup code, function
>   prologue and epilogue"; the comment references musl's crt startup code, but
>   I don't see what the prologue/epilogue refer to; normally the compiler emits
>   them, unless I'm misunderstanding what you say;

The "function prologue and epilogue" here refer the initialization and
termination code executed before/after the entry point function, say
main().
I'll reconsider the wording here to make it clearly.

References:
http://gcc.gnu.org/onlinedocs/gccint/Initialization.html
https://blogs.oracle.com/ahl/entry/the_mysteries_of_init
https://dev.gentoo.org/~vapier/crt.txt

> - I think it would be nice if you could add URLs for other risc-v software
>   projects relevant to this work, namely the toolchain porting efforts
>   (riscv-gnu-toolchain?), and perhaps the kernel port if there's a single URL
>   for that (sorry I'm not familiar with RISC-V).

OK, I'll add them.

-- 
Masanori Ogino


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GSoC2016] A proposal on porting musl to RISC-V
  2016-03-17 11:10   ` Masanori Ogino
@ 2016-03-18  1:16     ` Masanori Ogino
  0 siblings, 0 replies; 7+ messages in thread
From: Masanori Ogino @ 2016-03-18  1:16 UTC (permalink / raw)
  To: lowrisc-dev; +Cc: musl

I revised the draft in response to suggestions.

You can get PDF files for each revision from here:
https://github.com/omasanori/gsoc2016-proposal/releases

-- 
Masanori Ogino


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [musl] [GSoC2016] A proposal on porting musl to RISC-V
  2016-03-16  1:22 [GSoC2016] A proposal on porting musl to RISC-V Masanori Ogino
  2016-03-16  8:37 ` Alexander Monakov
@ 2016-03-19  6:37 ` Rich Felker
  2016-03-20  3:13   ` Masanori Ogino
  1 sibling, 1 reply; 7+ messages in thread
From: Rich Felker @ 2016-03-19  6:37 UTC (permalink / raw)
  To: Masanori Ogino; +Cc: lowrisc-dev, musl

On Wed, Mar 16, 2016 at 10:22:31AM +0900, Masanori Ogino wrote:
> Hello,
> 
> I published an early draft of my Google Summer of Code 2016 proposal.
> You can get the draft from:
> https://github.com/omasanori/gsoc2016-proposal .
> 
> Check https://github.com/omasanori/gsoc2016-proposal/releases/tag/rev1
> if you want a PDF file of this revision.
> 
> Any comment would be appreciated. Feel free to send comments on MLs or GitHub.

Looks very good! Some comments:

In regards to your schedule, do you plan to do both rv32 and rv64 (and
some 'subarch' ABI variants for both) in parallel from the beginning?
I think it might make sense to get one (whatever is easiest) to the
point where you can do some meaningful testing before working on them
all, but I'd be happy to hear your thoughts on what approach works
best for you.

One thing to keep in mind (not sure if you're aware of it yet) is that
there's an in-progress port, now linked from the lowrisc.org project
ideas page, by another student who's interested in applying. Please
don't be discouraged by that; the reason I'm mentioning it is just
that I think anyone applying should either be planning to use the work
that's already done (being careful to properly document authorship) or
have a good explanation for why they're not going to. For your
proposal, this probably means greatly reducing the number of weeks to
be spent on getting the port basically up and running and dedicating
more time to the extended deliverables.

That's actually a good thing because I don't think you've allocated as
much time for the extended deliverables as they might take. For
example, for the vdso stuff, if you plan to do the actual kernel
patches, that's going to require familiarizing yourself with kernel
hacking if you're not already. And hooking it up to GCC for the
compiler to use with -mno-atomic (rather than just having libc use it
internally) requires some GCC hacking _and_ establishing some ABI for
the GCC-generated code to get to the vdso (probably via libc).

Hope these comments help, and sorry for not getting back to you
sooner. I've had a busy week.

Rich



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GSoC2016] A proposal on porting musl to RISC-V
  2016-03-19  6:37 ` [musl] " Rich Felker
@ 2016-03-20  3:13   ` Masanori Ogino
  2016-03-25  5:12     ` Masanori Ogino
  0 siblings, 1 reply; 7+ messages in thread
From: Masanori Ogino @ 2016-03-20  3:13 UTC (permalink / raw)
  To: Rich Felker; +Cc: lowrisc-dev, musl

Thank you for reviewing!

2016-03-19 15:37 GMT+09:00 Rich Felker <dalias@libc.org>:
> Looks very good! Some comments:
>
> In regards to your schedule, do you plan to do both rv32 and rv64 (and
> some 'subarch' ABI variants for both) in parallel from the beginning?
> I think it might make sense to get one (whatever is easiest) to the
> point where you can do some meaningful testing before working on them
> all, but I'd be happy to hear your thoughts on what approach works
> best for you.

Yes, I planed to port 32-bit and 64-bit variant in parallel. However,
now I think that porting one first and then doing the other is better
since this approach can test the toolchain part earlier.

> One thing to keep in mind (not sure if you're aware of it yet) is that
> there's an in-progress port, now linked from the lowrisc.org project
> ideas page, by another student who's interested in applying. Please
> don't be discouraged by that; the reason I'm mentioning it is just
> that I think anyone applying should either be planning to use the work
> that's already done (being careful to properly document authorship) or
> have a good explanation for why they're not going to. For your
> proposal, this probably means greatly reducing the number of weeks to
> be spent on getting the port basically up and running and dedicating
> more time to the extended deliverables.

I didn't aware of that port. Thanks!

I will take a look at it and revise the proposal with my decision.

> That's actually a good thing because I don't think you've allocated as
> much time for the extended deliverables as they might take. For
> example, for the vdso stuff, if you plan to do the actual kernel
> patches, that's going to require familiarizing yourself with kernel
> hacking if you're not already. And hooking it up to GCC for the
> compiler to use with -mno-atomic (rather than just having libc use it
> internally) requires some GCC hacking _and_ establishing some ABI for
> the GCC-generated code to get to the vdso (probably via libc).

Sure. I will reconsider the schedule.

> Hope these comments help, and sorry for not getting back to you
> sooner. I've had a busy week.

No problem. This really helps me.

-- 
Masanori Ogino


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GSoC2016] A proposal on porting musl to RISC-V
  2016-03-20  3:13   ` Masanori Ogino
@ 2016-03-25  5:12     ` Masanori Ogino
  0 siblings, 0 replies; 7+ messages in thread
From: Masanori Ogino @ 2016-03-25  5:12 UTC (permalink / raw)
  To: Rich Felker; +Cc: lowrisc-dev, musl

Hello,

I just published the third (final) draft to GitHub:
https://github.com/omasanori/gsoc2016-proposal/releases/tag/rev3
I will publish this version before the deadline.

Thank you.

-- 
Masanori Ogino


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-03-25  5:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-16  1:22 [GSoC2016] A proposal on porting musl to RISC-V Masanori Ogino
2016-03-16  8:37 ` Alexander Monakov
2016-03-17 11:10   ` Masanori Ogino
2016-03-18  1:16     ` Masanori Ogino
2016-03-19  6:37 ` [musl] " Rich Felker
2016-03-20  3:13   ` Masanori Ogino
2016-03-25  5:12     ` Masanori Ogino

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).