I guess I'm talking about atoms. Do we have notion of section in LLD? On Wed, Mar 25, 2015 at 8:35 AM, Shankar Easwaran <shankare at codeaurora.org> wrote:> On 3/24/2015 7:51 PM, Rui Ueyama wrote: > >> On Tue, Mar 24, 2015 at 5:40 PM, Nick Kledzik <kledzik at apple.com> wrote: >> >> On Mar 24, 2015, at 5:09 PM, Rui Ueyama <ruiu at google.com> wrote: >>> >>> It's not a big deal, but it always annoyed me a bit when I hit it, so >>>> >>> I'll bring it up here. >>> >>>> LLD represents an alignment X as log2(X) in some places and just X in >>>> >>> other places. It's a bit confusing. Because I always think alignments in >>> my >>> mind in terms of 1, 2, 4, 8, ..., instead of 2^1, 2^2, 2^3, ..., I'd like >>> to propose to always use real values. >>> Can you give some examples? >>> >>> The DefinedAtom class has struct: >>> >>> struct Alignment { >>> uint16_t powerOf2; >>> uint16_t modulus; >>> }; >>> >>> That use seems clear. But, yes, if there is “int alignment” somewhere, >>> that is ambiguous. >>> >>> At least in ELF, alignment values are represented not by exponents but >> by >> just numbers in files, so we convert them back and force. "Alignment" is >> used for both exponents and actual values there. >> > I believe you are mentioning about section alignments, that are being > differentiated from atom alignments ? > > If so are you planning to change the variable name (or) use Alignment even > there ? > > Shankar Easwaran > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted > by the Linux Foundation > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150325/d8728b8a/attachment.html>
Shankar Easwaran
2015-Mar-25 18:37 UTC
[LLVMdev] LLD: representation of a power of two value
Its only atoms. I was hinting at default output section alignments in the ELF writer. On 3/25/2015 12:44 PM, Rui Ueyama wrote:> I guess I'm talking about atoms. Do we have notion of section in LLD? > > On Wed, Mar 25, 2015 at 8:35 AM, Shankar Easwaran <shankare at codeaurora.org> > wrote: > >> On 3/24/2015 7:51 PM, Rui Ueyama wrote: >> >>> On Tue, Mar 24, 2015 at 5:40 PM, Nick Kledzik <kledzik at apple.com> wrote: >>> >>> On Mar 24, 2015, at 5:09 PM, Rui Ueyama <ruiu at google.com> wrote: >>>> It's not a big deal, but it always annoyed me a bit when I hit it, so >>>> I'll bring it up here. >>>> >>>>> LLD represents an alignment X as log2(X) in some places and just X in >>>>> >>>> other places. It's a bit confusing. Because I always think alignments in >>>> my >>>> mind in terms of 1, 2, 4, 8, ..., instead of 2^1, 2^2, 2^3, ..., I'd like >>>> to propose to always use real values. >>>> Can you give some examples? >>>> >>>> The DefinedAtom class has struct: >>>> >>>> struct Alignment { >>>> uint16_t powerOf2; >>>> uint16_t modulus; >>>> }; >>>> >>>> That use seems clear. But, yes, if there is “int alignment” somewhere, >>>> that is ambiguous. >>>> >>>> At least in ELF, alignment values are represented not by exponents but >>> by >>> just numbers in files, so we convert them back and force. "Alignment" is >>> used for both exponents and actual values there. >>> >> I believe you are mentioning about section alignments, that are being >> differentiated from atom alignments ? >> >> If so are you planning to change the variable name (or) use Alignment even >> there ? >> >> Shankar Easwaran >> >> -- >> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted >> by the Linux Foundation >> >>-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
I'll update wherever we use log2 instead of a value itself. On Wed, Mar 25, 2015 at 11:37 AM, Shankar Easwaran <shankare at codeaurora.org> wrote:> Its only atoms. I was hinting at default output section alignments in the > ELF writer. > > > On 3/25/2015 12:44 PM, Rui Ueyama wrote: > >> I guess I'm talking about atoms. Do we have notion of section in LLD? >> >> On Wed, Mar 25, 2015 at 8:35 AM, Shankar Easwaran < >> shankare at codeaurora.org> >> wrote: >> >> On 3/24/2015 7:51 PM, Rui Ueyama wrote: >>> >>> On Tue, Mar 24, 2015 at 5:40 PM, Nick Kledzik <kledzik at apple.com> >>>> wrote: >>>> >>>> On Mar 24, 2015, at 5:09 PM, Rui Ueyama <ruiu at google.com> wrote: >>>> >>>>> It's not a big deal, but it always annoyed me a bit when I hit it, so >>>>> I'll bring it up here. >>>>> >>>>> LLD represents an alignment X as log2(X) in some places and just X in >>>>>> >>>>>> other places. It's a bit confusing. Because I always think >>>>> alignments in >>>>> my >>>>> mind in terms of 1, 2, 4, 8, ..., instead of 2^1, 2^2, 2^3, ..., I'd >>>>> like >>>>> to propose to always use real values. >>>>> Can you give some examples? >>>>> >>>>> The DefinedAtom class has struct: >>>>> >>>>> struct Alignment { >>>>> uint16_t powerOf2; >>>>> uint16_t modulus; >>>>> }; >>>>> >>>>> That use seems clear. But, yes, if there is “int alignment” >>>>> somewhere, >>>>> that is ambiguous. >>>>> >>>>> At least in ELF, alignment values are represented not by exponents >>>>> but >>>>> >>>> by >>>> just numbers in files, so we convert them back and force. "Alignment" is >>>> used for both exponents and actual values there. >>>> >>>> I believe you are mentioning about section alignments, that are being >>> differentiated from atom alignments ? >>> >>> If so are you planning to change the variable name (or) use Alignment >>> even >>> there ? >>> >>> Shankar Easwaran >>> >>> -- >>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted >>> by the Linux Foundation >>> >>> >>> > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted > by the Linux Foundation > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150325/f97217b6/attachment.html>