Displaying 20 results from an estimated 400 matches similar to: "[LLVMdev] [lld] Implementing the aliasing feature"
2013 Sep 13
0
[LLVMdev] [lld] Implementing the aliasing feature
Can an “alias” atom just be a zero sized atom with one reference of kindLayoutBefore to its target? The layout engine should then place the alias atom right before the real atom, so you wind up with two symbols at one address.
-Nick
On Sep 12, 2013, at 3:02 PM, Shankar Easwaran <shankare at codeaurora.org> wrote:
> Hi Nick,
>
> In addition to what you mentioned, I think there
2013 Sep 13
2
[LLVMdev] [lld] Implementing the aliasing feature
Hi Nick,
This would work only if an alias is another name for the same
symbol(weak symbols).
If what is being aliased is another function definition, which is a non
zero sized atom, aliasing will not work.
I was thinking to model this for ELF for the below functionalities :-
a) __wrap
For example : --wrap fn
What I plan to do here is,
create a undefined function fn atom
create a defined
2013 Sep 13
0
[LLVMdev] [lld] Implementing the aliasing feature
On Sep 13, 2013, at 3:35 PM, Shankar Easwaran <shankare at codeaurora.org> wrote:
> This would work only if an alias is another name for the same symbol(weak symbols).
I don’t know what that means. Can you clarify?
>
> If what is being aliased is another function definition, which is a non zero sized atom, aliasing will not work.
That is the exact scenario I think it *will* work
2012 Jul 18
3
[LLVMdev] [lld] Atom object model refactoring.
I've run into some issues with the current atom object model that I
would like to fix.
The current 4 atoms are not expressive enough. We need to be able to
serialize a larger set of atoms, many of which are format specific.
The set of common atoms (shared between all formats) should be the set
that the resolver requires to work. SharedLibrary is not included in
this (by looking at the source
2013 Aug 28
2
[LLVMdev] [lld] -emit-yaml doesnot contain linker added symbols specified with command line options
Hi Nick,
The problem is when the -emit-yaml option is used, the writer is set to
the YAML writer.
The YAML writer doesnot have anything to add here.
The problem can be solved by having the YAML writer append a list of
undefined atoms specified by the -u option, but the problem I have is
each flavor has extra command line options
for which it wants to create a DefinedAtom/UndefinedAtom. The
2012 Jul 18
0
[LLVMdev] [lld] Atom object model refactoring.
On Jul 18, 2012, at 3:41 PM, Clow, Marshall wrote:
> On Jul 18, 2012, at 2:34 PM, Nick Kledzik wrote:
>> On Jul 18, 2012, at 12:52 PM, Michael Spencer wrote:
>>> I've run into some issues with the current atom object model that I
>>> would like to fix.
>>>
>>> The current 4 atoms are not expressive enough. We need to be able to
>>>
2013 Aug 28
0
[LLVMdev] [lld] -emit-yaml doesnot contain linker added symbols specified with command line options
On Aug 28, 2013, at 3:14 PM, Shankar Easwaran <shankare at codeaurora.org> wrote:
> Hi Nick,
>
> The problem is when the -emit-yaml option is used, the writer is set to the YAML writer.
Ah!
>
> The YAML writer does not have anything to add here.
>
> The problem can be solved by having the YAML writer append a list of undefined atoms specified by the -u option, but
2013 Sep 21
2
[LLVMdev] LLD input graph handling proposal
Hi Nick,
On 9/20/2013 5:59 PM, Nick Kledzik wrote:
> On Sep 20, 2013, at 3:42 PM, Shankar Easwaran
> <shankare at codeaurora.org> wrote:
>> nextFile could pass the current resolver state at the time when its called, the linkingcontext can return the next file to be processed as below :-
>>
>> nextFile(currentResolverState) :-
>>
>> a) Returns the next
2013 Sep 21
0
[LLVMdev] LLD input graph handling proposal
My email client spoilt the whole email, will create a pdf and send it.
On 9/20/2013 7:00 PM, Shankar Easwaran wrote:
> Hi Nick,
>
> On 9/20/2013 5:59 PM, Nick Kledzik wrote:
>> On Sep 20, 2013, at 3:42 PM, Shankar Easwaran
>> <shankare at codeaurora.org> wrote:
>>> nextFile could pass the current resolver state at the time when its
>>> called, the
2014 Jun 02
2
[LLVMdev] [lld] LLD's software architecture (update)
The inverted dependency of Core to ReaderWriter via Simple.h was already
present.
My idea was to fix the problem before it gets bigger.
My proposal would be to move Simple.h and Alias.h to Core. Similar to
UndefinedAtom.h etc.
It would be even nicer to make the naming consistent as well, since there
already is
UndefinedAtom.h
SharedLibaryAtom.h
etc
Maybe:
SimpleAtom.h
AliasAtom.h
Moving the file
2014 Jun 02
2
[LLVMdev] [lld] LLD's software architecture (update)
On Mon, Jun 2, 2014 at 12:49 AM, Rui Ueyama <ruiu at google.com> wrote:
> I agree to move these files to Core. Any objections?
None here.
- Michael Spencer
>
> On Mon, Jun 2, 2014 at 12:44 AM, Bas van den Berg
> <b.van.den.berg.nl at gmail.com> wrote:
>>
>> The inverted dependency of Core to ReaderWriter via Simple.h was already
>> present.
>> My
2013 Sep 20
0
[LLVMdev] LLD input graph handling proposal
On Sep 20, 2013, at 3:37 PM, Rui Ueyama <ruiu at google.com> wrote:
> On Fri, Sep 20, 2013 at 3:29 PM, Nick Kledzik <kledzik at apple.com> wrote:
> Rui,
>
> I like this in general, but have a few questions.
>
> On Sep 20, 2013, at 2:30 PM, Rui Ueyama <ruiu at google.com> wrote:
>
>> 2. We would instead add a new method nextFile() to LinkingContext,
2013 Aug 28
0
[LLVMdev] [lld] -emit-yaml doesnot contain linker added symbols specified with command line options
Shankar,
The LinkingContext has a addImplictFiles() method that is supposed to call the Writer and give it a chance to add any implicit files. Is the problem that the -u atoms are not attached to that implicit file? Or that the implicit file is not getting added? Or that this got lost in the transition from InputFiles to InputGraph?
-Nick
On Aug 28, 2013, at 2:44 PM, Shankar Easwaran
2013 Aug 28
2
[LLVMdev] [lld] -emit-yaml doesnot contain linker added symbols specified with command line options
Hi Nick,
>> The YAML writer does not have anything to add here.
>>
>> The problem can be solved by having the YAML writer append a list of undefined atoms specified by the -u option, but the problem I have is each flavor has extra command line options
>> for which it wants to create a DefinedAtom/UndefinedAtom. The flavor also may want to add extra linker internal files in
2013 Aug 28
2
[LLVMdev] [lld] -emit-yaml doesnot contain linker added symbols specified with command line options
Hi,
Right now, linker added symbols specified by the -u option do not endup
in the output YAML file.
This is because the target specific Writers dont get called, which
creates the undefined atoms.
I am in the process of adding more options and I would like the atoms
created internally by the options available in the output YAML file.
The options that I am trying to consider for the linker
2013 Sep 20
6
[LLVMdev] LLD input graph handling proposal
Shankar and I discussed input file handling, and we came up with a design
that may greatly simplify the input file handling, while giving more
flexibility to developer to support complicated options, such as
--{start,end}-group, -z rescan or -z rescan-now. It'd worth pursuing, so
here's the idea:
1. We wouldn't probably want to let Resolver to handle the input graph
directly, for we
2014 Jun 02
2
[LLVMdev] [lld] LLD's software architecture (update)
Hi,
I've been following the changes in LLD's software architecture.
Recently a new file was added: Alias.h
In this file, the curret Atom set is extended with an AliasAtom.
While the change seems innocent enough, it has some nasty
potential. Simple.h and Alias.h are placed in the ReaderWriter
component. This is the 2nd component in the layering:
Driver
ReaderWriter
Passes
Core
The problem
2013 Sep 24
4
[LLVMdev] [lld] ELF needs type for SharedLibraryAtom.
On 9/23/2013 7:07 PM, Nick Kledzik wrote:
> On Sep 23, 2013, at 4:52 PM, Michael Spencer <bigcheesegs at gmail.com> wrote:
>
>> The following code currently links incorrectly when linking against a dynamic libc on Ubuntu 12.10 unless -fpic is specified.
>>
>> #include <stdio.h>
>>
>> int main() {
>> fputs("hi\n", stdout);
>>
2013 Apr 17
2
[LLVMdev] alias analysis in backend
Hi Hal,
Thanks. How about a symbol with two different immediate offsets - the Value* would be the same, right? I don't see how AliasAnalysis::Location would handle this... And BasicAliasAnalysis does
if (V1 == V2) return MustAlias;
, so I'm not sure how this would be done .. ?
/Jonas
> -----Original Message-----
> From: Hal Finkel [mailto:hfinkel at anl.gov]
> Sent:
2013 Aug 28
1
[LLVMdev] [lld] -emit-yaml doesnot contain linker added symbols specified with command line options
Hi Nick,
On 8/28/2013 6:37 PM, Nick Kledzik wrote
> $cat 1.c
> int _start() { return 0; }
> $gcc -c 1.c
> $ld -u myundef 1.o
> ==> Does not throw any error, the resolver was hinted that myundef was a undefined weak symbol.
> Wow. Reading the gnu ld man page, that is not obvious. How can you make a non-weak undefined on the command line? That is, how can you force and error