Displaying 6 results from an estimated 6 matches for "dummy_file".
2013 Jan 09
4
[LLVMdev] [lld] ELF weak aliases
So I just got lua to link and run and work on x86-64 Linux with musl
and lld. It did require one change to hack around incorrect handling
of ELF weak aliases.
In musl __stdio_exit.c
<http://git.musl-libc.org/cgit/musl/tree/src/stdio/__stdio_exit.c> we
have:
static FILE *const dummy_file = 0;
weak_alias(dummy_file, __stdin_used);
weak_alias(dummy_file, __stdout_used);
weak_alias(dummy_file, __stderr_used);
weak_alias(old, new) is defined as: extern __typeof(old) new
__attribute__((weak, alias(#old)))
This generates the following object file:
mspencer at mspencer-vm:~/Projects/tes...
2013 Jan 09
0
[LLVMdev] [lld] ELF weak aliases
...Does ELF support aliasing ?
How is the relationship captured in ELF symbol table, that one symbol is a
alias of another symbol ?
> Note that __stdout_used is the last symbol in the .rodata section.
> This means that the reader assigns the data (16 bytes of 0) to
> __stdout_used. Because dummy_file and the other __stdx_used symbols
> come before it, they end up in the right place in the final file.
Did you change the Reader too ?
The Reader doesnot allocate any space for __stdout_used. The size of the
current symbol = (value of next symbol - current symbol). In this case its
zero.
>...
2013 Jan 09
0
[LLVMdev] [lld] ELF weak aliases
...and run and work on x86-64 Linux with musl
> and lld. It did require one change to hack around incorrect handling
> of ELF weak aliases.
>
> In musl __stdio_exit.c
> <http://git.musl-libc.org/cgit/musl/tree/src/stdio/__stdio_exit.c> we
> have:
>
> static FILE *const dummy_file = 0;
> weak_alias(dummy_file, __stdin_used);
> weak_alias(dummy_file, __stdout_used);
> weak_alias(dummy_file, __stderr_used);
>
> weak_alias(old, new) is defined as: extern __typeof(old) new
> __attribute__((weak, alias(#old)))
>
> This generates the following object file...
2013 Jan 09
2
[LLVMdev] [lld] ELF weak aliases
...l ?
It is not explicitly captured. It's an implicit relationship due to
the symbols having the same address.
>
>> Note that __stdout_used is the last symbol in the .rodata section.
>> This means that the reader assigns the data (16 bytes of 0) to
>> __stdout_used. Because dummy_file and the other __stdx_used symbols
>> come before it, they end up in the right place in the final file.
>
> Did you change the Reader too ?
No. I just made another symbol to steal the actual content.
>
> The Reader doesnot allocate any space for __stdout_used. The size of the
>...
2007 Nov 04
1
rsync delete
...ctory' remote::volume/directory
( woops, now remote::volume/directory continues to exist and contains an
empty remote::volume/directory/directory :P )
# rsync -mr --delete 'directory' remote::volume
(says "no files to transfer", and nothing happens. @#$%)
# touch directory/dummy_file
# rsync -mr --delete 'directory' remote::volume/directory
( vroom! now the contents of remote::volume/directory are being cleaned out.
unfortunately remote::volume/directory/dummy_file will remain for all
eternity.. )
What would be the closest approximation to something like this?
# rsy...
2013 Jan 09
0
[LLVMdev] [lld] ELF weak aliases
...It's an implicit relationship due to
> the symbols having the same address.
Got it.
>
>>
>>> Note that __stdout_used is the last symbol in the .rodata section.
>>> This means that the reader assigns the data (16 bytes of 0) to
>>> __stdout_used. Because dummy_file and the other __stdx_used symbols
>>> come before it, they end up in the right place in the final file.
>>
>> Did you change the Reader too ?
>
> No. I just made another symbol to steal the actual content.
We could change the Reader so that if the symbol is the last symbo...