Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] LLD: make atoms in files non-const"
2013 Nov 19
2
[LLVMdev] [lld] process undefined atoms from shared library only once
Hi Nick,
--start-group/--end-group functionality with the Gnu flavor currently
works only if the --start-group/--end-group contains archive files.
If they contain dynamic libraries, the undefined atoms from the dynamic
libraries are processed whenever the group is iterated again.
I am trying to find out a way to make the resolver add undefined atoms
from the shared library only *once*, when
2012 Nov 19
0
[LLVMdev] Chaining Atoms together
Hi Nick,
Waiting for your feedback on this.
Thanks
Shankar Easwaran
On 11/16/2012 10:03 AM, Shankar Easwaran wrote:
> Hi Nick,
>
> Thanks for your reply.
>
> The usecase here is just trying to construct a valid ELF. The lld
> linker needs to handle all sorts of code written in assembly as well
> as 'C'. The usecase is just one example of it.
>
> I have also
2012 Nov 16
3
[LLVMdev] Chaining Atoms together
Hi Nick,
Thanks for your reply.
The usecase here is just trying to construct a valid ELF. The lld linker
needs to handle all sorts of code written in assembly as well as 'C'.
The usecase is just one example of it.
I have also seen similiar code in
http://lxr.free-electrons.com/source/arch/powerpc/kernel/head_32.S?a=powerpc
which has global and local labels.
You are right, that the
2013 Nov 19
1
[LLVMdev] [lld] process undefined atoms from shared library only once
Hi Rui,
I thought about this, but there is a catch. The undefined symbols still
need to be resolved with exports from dynamic libraries even the second
time, or any number of times.
For example :-
ld 1.o --start-group libc.so myprintf.a --end-group
1.o has a undef for myprintf, which is in myprintf.a and myprintf.a
calls puts.
The first time when libc.so, undef atoms would be added, no
2013 Aug 27
3
[LLVMdev] [lld] adding deadStrip() to undefined Atoms
Hi,
Can we add deadStrip() to undefinedAtoms as well ?
This will enable to choose whether we want to set the property
deadStripNormal or deadStripNever on them.
Also I think it will be cleaner for atoms to be added to deadStripRoot
set using a single API.
Thanks
Shankar Easwaran
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
2013 Nov 19
0
[LLVMdev] [lld] process undefined atoms from shared library only once
I'd do that with the nextFile abstraction like this: On the first
iteration, a Group would return its member every time getNextFile() is
called (the same as the current behavior). On the second and further
iterations, the Group should skip all the members whose type is not
Archive. By doing this, the core linker sees dynamic libraries (or regular
object files) only once even if they are in
2014 Nov 19
2
[LLVMdev] [lld] need a way to store the original path for atoms
Hi Nick,
I need the original path of the files, from where the atoms were parsed.
The path for the atoms are completely useless after the round trip pass.
This is needed to support linker scripts with the Gnu flavor. I think there
are more uses too like diagnostics (relocation overflows etc)
I was planning to add a patch so that the native writer, stores the
original path for atoms
Another
2013 Aug 27
1
[LLVMdev] [lld] adding deadStrip() to undefined Atoms
Hi Nick,
On 8/27/2013 12:45 AM, Nick Kledzik wrote:
> On Aug 26, 2013, at 10:20 PM, Shankar Easwaran wrote:
>> Can we add deadStrip() to undefinedAtoms as well ?
>>
>> This will enable to choose whether we want to set the property deadStripNormal or deadStripNever on them.
>>
>> Also I think it will be cleaner for atoms to be added to deadStripRoot set using a
2015 Feb 12
2
[LLVMdev] [lld] alias atoms and LayoutPass
Hi,
It looks like the COFF reader creates an Alias atom by adding a
kindLayoutAfter reference to the target atom. Now since the
kindLayoutAfter passes are moved to machO how does it still work ?
Does it work by chance because of ordinals ? I would think moving
kindLayoutAfter references and having the LayoutPass would be a better
choice.
Shankar Easwaran
--
Qualcomm Innovation Center,
2013 Aug 27
0
[LLVMdev] [lld] adding deadStrip() to undefined Atoms
On Aug 26, 2013, at 10:20 PM, Shankar Easwaran wrote:
> Can we add deadStrip() to undefinedAtoms as well ?
>
> This will enable to choose whether we want to set the property deadStripNormal or deadStripNever on them.
>
> Also I think it will be cleaner for atoms to be added to deadStripRoot set using a single API.
Can you give more more background on this? When would you want
2012 Nov 09
2
[LLVMdev] lld deadstrip atoms
Hi Nick,
Dead stripping optimization needs a way to setup the roots which are
live. The current code in Resolver does it by
1) setting all the global defined atoms to be the live set when building
shared libraries (_options.allGlobalsAreDeadStripRoots)
2) Or, uses a list of names that are dead strip roots (other types)
Question:-
***********
How are the dead strip root names supposed to be
2013 Sep 21
2
[LLVMdev] LLD input graph handling proposal
Hi,
Attached is the pdf of the operation to make things easier to read.
Thanks
Shankar Easwaran
On 9/20/2013 7:04 PM, Shankar Easwaran wrote:
> 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,
2015 Jan 12
2
[LLVMdev] [lld] ARM/Thumb atom forming
Thanks, Shankar.
I needed to override all the places where st_value had been used, and it worked.
But there another problem appeared: after correcting all atoms, I cannot distinguish between ARM and Thumb symbols in the further stages when fixing up relocations.
I used to check targetVAddress (in terms of the relocation handler) since it contained 1 in the least bit when addressing Thumb
2013 Sep 21
0
[LLVMdev] LLD input graph handling proposal
Hi Nick,
Read this along with this example extract:
ld -flavor gnu main.o thread.o --start-group libc.a libpthread.a
--end-group function.o
main.o has atoms
------------------------
main (defined)
printf(undefined)
fn(undefined)
thread.o has atoms
-----------------------------
pthread_create (undefined)
libc.a(printf.o) has atoms
------------------------------------
printf(defined)
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 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 May 07
2
[LLVMdev] [lld] contentHash in the Reader ?
Hi Nick,
Can we add a atomContentHash for DefinedAtoms when the atoms are being
created. This can essentially speed up comparisons of atoms especially for
* ICF (Identical code folding)
* Section groups (to identify similiar sections)
Not sure where else this would help. This would essentially be used only
by the Reader and the Resolver.
There would be no change to the
2015 Jan 27
3
[LLVMdev] [lld] Overloaded Layout references
Hi,
I think we are overloading the Layout references for garbage collection.
If you are creating a reference (kindLayoutAfter) from A to B, that may not mean that you cannot garbage collect B for the end user.
My thought on Layout references was that it only guarantees that atoms appear in Layout reference order.
Why are we overloading this for Garbage collection (aside from saving space/code)
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
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