* [PATCH] boost: Improve reproducibility
@ 2018-05-31 6:20 mingli.yu
2018-05-31 13:13 ` Richard Purdie
0 siblings, 1 reply; 14+ messages in thread
From: mingli.yu @ 2018-05-31 6:20 UTC (permalink / raw)
To: alexander.kanavin, openembedded-core
From: Mingli Yu <mingli.yu@windriver.com>
boost_context includes some assembly source
files and will export the assembly object file
make_x86_64_sysv_elf_gas.o which contains host
path as below:
$ readelf --wide --symbols /my-build/boost/1.67.0-r0/boost_1_67_0/x86_64-poky-linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38ed/libboost_context.so.1.67
42: 0000000000000000 0 FILE LOCAL DEFAULT ABS /my-build/boost/1.67.0-r0/boost_1_67_0/x86_64-poky-linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38ed/asm/make_x86_64_sysv_elf_gas.o
Enable stirp for boost_context to hidden the
symbols
[YOCTO #12708]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
meta/recipes-support/boost/boost.inc | 1 +
.../boost/boost-context-hidden-the-symbols.patch | 37 ++++++++++++++++++++++
meta/recipes-support/boost/boost_1.67.0.bb | 1 +
3 files changed, 39 insertions(+)
create mode 100644 meta/recipes-support/boost/boost/boost-context-hidden-the-symbols.patch
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 6984bee7777..5a2086b3332 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -197,4 +197,5 @@ do_install() {
}
+INSANE_SKIP_${PN} = "already-stripped"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/boost/boost/boost-context-hidden-the-symbols.patch b/meta/recipes-support/boost/boost/boost-context-hidden-the-symbols.patch
new file mode 100644
index 00000000000..0b6ed285621
--- /dev/null
+++ b/meta/recipes-support/boost/boost/boost-context-hidden-the-symbols.patch
@@ -0,0 +1,37 @@
+From 8e0c2d18a929f05bfadcbf351b244488917af86a Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Wed, 30 May 2018 15:05:57 +0800
+Subject: [PATCH] boost_context: strip the symbols
+
+The boost context library exports the
+make_x86_64_sysv_elf_gas.o which contains
+host path as below:
+$ readelf --wide --symbols /my-build/boost/1.67.0-r0/boost_1_67_0/x86_64-poky-linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38ed/libboost_context.so.1.67.0
+
+42: 0000000000000000 0 FILE LOCAL DEFAULT ABS /my-build/boost/1.67.0-r0/boost_1_67_0/x86_64-poky-linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38ed/asm/make_x86_64_sysv_elf_gas.o
+
+Enable strip to hidden the symbols for
+boost context library
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ libs/context/build/Jamfile.v2 | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libs/context/build/Jamfile.v2 b/libs/context/build/Jamfile.v2
+index 82ee76e..a6bd12f 100644
+--- a/libs/context/build/Jamfile.v2
++++ b/libs/context/build/Jamfile.v2
+@@ -822,6 +822,7 @@ lib boost_context
+ : impl_sources
+ execution_context.cpp
+ stack_traits_sources
++ : <strip>on
+ ;
+
+ boost-install boost_context ;
+--
+2.7.4
+
diff --git a/meta/recipes-support/boost/boost_1.67.0.bb b/meta/recipes-support/boost/boost_1.67.0.bb
index eb50899d562..8ba32d1574f 100644
--- a/meta/recipes-support/boost/boost_1.67.0.bb
+++ b/meta/recipes-support/boost/boost_1.67.0.bb
@@ -7,4 +7,5 @@ SRC_URI += "\
file://boost-math-disable-pch-for-gcc.patch \
file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \
file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
+ file://boost-context-hidden-the-symbols.patch \
"
--
2.11.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-05-31 6:20 [PATCH] boost: Improve reproducibility mingli.yu
@ 2018-05-31 13:13 ` Richard Purdie
2018-06-01 1:39 ` Yu, Mingli
0 siblings, 1 reply; 14+ messages in thread
From: Richard Purdie @ 2018-05-31 13:13 UTC (permalink / raw)
To: mingli.yu, alexander.kanavin, openembedded-core
On Wed, 2018-05-30 at 23:20 -0700, mingli.yu@windriver.com wrote:
> From: Mingli Yu <mingli.yu@windriver.com>
>
> boost_context includes some assembly source
> files and will export the assembly object file
> make_x86_64_sysv_elf_gas.o which contains host
> path as below:
> $ readelf --wide --symbols /my-build/boost/1.67.0-
> r0/boost_1_67_0/x86_64-poky-
> linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38e
> d/libboost_context.so.1.67
> 42: 0000000000000000 0 FILE LOCAL DEFAULT ABS /my-build/boost/1.67.0-
> r0/boost_1_67_0/x86_64-poky-
> linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38e
> d/asm/make_x86_64_sysv_elf_gas.o
>
> Enable stirp for boost_context to hidden the
> symbols
>
> [YOCTO #12708]
>
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
This looks very unlikely to ever make it upstream. Rather than carrying
a patch to boost forever would we want to just strip the file in
question with a custom command?
Alternatively, can we stop this path being injected into the binary in
the first place?
Cheers,
Richard
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-05-31 13:13 ` Richard Purdie
@ 2018-06-01 1:39 ` Yu, Mingli
2018-06-01 5:08 ` Alexander Kanavin
0 siblings, 1 reply; 14+ messages in thread
From: Yu, Mingli @ 2018-06-01 1:39 UTC (permalink / raw)
To: Richard Purdie, alexander.kanavin, openembedded-core
On 2018年05月31日 21:13, Richard Purdie wrote:
> On Wed, 2018-05-30 at 23:20 -0700, mingli.yu@windriver.com wrote:
>> From: Mingli Yu <mingli.yu@windriver.com>
>>
>> boost_context includes some assembly source
>> files and will export the assembly object file
>> make_x86_64_sysv_elf_gas.o which contains host
>> path as below:
>> $ readelf --wide --symbols /my-build/boost/1.67.0-
>> r0/boost_1_67_0/x86_64-poky-
>> linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38e
>> d/libboost_context.so.1.67
>> 42: 0000000000000000 0 FILE LOCAL DEFAULT ABS /my-build/boost/1.67.0-
>> r0/boost_1_67_0/x86_64-poky-
>> linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38e
>> d/asm/make_x86_64_sysv_elf_gas.o
>>
>> Enable stirp for boost_context to hidden the
>> symbols
>>
>> [YOCTO #12708]
>>
>> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
>
> This looks very unlikely to ever make it upstream. Rather than carrying
> a patch to boost forever would we want to just strip the file in
> question with a custom command?
Thanks very much Richard for your respond!
I did try to strip only file which in question, but not find out the
solution and then turn to strip the context library.
Alex,
Do you have any suggestion?
Thanks,
>
> Alternatively, can we stop this path being injected into the binary in
> the first place?
>
> Cheers,
>
> Richard
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 1:39 ` Yu, Mingli
@ 2018-06-01 5:08 ` Alexander Kanavin
2018-06-01 5:38 ` Yu, Mingli
0 siblings, 1 reply; 14+ messages in thread
From: Alexander Kanavin @ 2018-06-01 5:08 UTC (permalink / raw)
To: Yu, Mingli; +Cc: openembedded-core
2018-06-01 4:39 GMT+03:00 Yu, Mingli <mingli.yu@windriver.com>:
>> This looks very unlikely to ever make it upstream. Rather than carrying
>> a patch to boost forever would we want to just strip the file in
>> question with a custom command?
>
>
> Thanks very much Richard for your respond!
> I did try to strip only file which in question, but not find out the
> solution and then turn to strip the context library.
>
> Alex,
> Do you have any suggestion?
Yes - as RP said, please investigate how the path gets into this
specific file (but not other files) in the first place, and whether we
can disable or make it not happen, rather than strip the path after
the fact.
Alex
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 5:08 ` Alexander Kanavin
@ 2018-06-01 5:38 ` Yu, Mingli
2018-06-01 8:36 ` Alexander Kanavin
2018-06-01 17:07 ` Khem Raj
0 siblings, 2 replies; 14+ messages in thread
From: Yu, Mingli @ 2018-06-01 5:38 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
On 2018年06月01日 13:08, Alexander Kanavin wrote:
> 2018-06-01 4:39 GMT+03:00 Yu, Mingli <mingli.yu@windriver.com>:
>
>>> This looks very unlikely to ever make it upstream. Rather than carrying
>>> a patch to boost forever would we want to just strip the file in
>>> question with a custom command?
>>
>>
>> Thanks very much Richard for your respond!
>> I did try to strip only file which in question, but not find out the
>> solution and then turn to strip the context library.
>>
>> Alex,
>> Do you have any suggestion?
>
> Yes - as RP said, please investigate how the path gets into this
> specific file (but not other files) in the first place, and whether we
> can disable or make it not happen, rather than strip the path after
> the fact.
Hi Alex,
Thanks for your respond!
I did investigate the path a lot before send out the patch, but didn't
figure out why it introduce the path for make_x86_64_sysv_elf_gas.o
whose source file is make_x86_64_sysv_elf_gas.S.
Anyway, I will try to dig more.
If you have any ideas, welcome to help provide some hint.
Thanks,
>
> Alex
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 5:38 ` Yu, Mingli
@ 2018-06-01 8:36 ` Alexander Kanavin
2018-06-05 2:44 ` Yu, Mingli
2018-06-01 17:07 ` Khem Raj
1 sibling, 1 reply; 14+ messages in thread
From: Alexander Kanavin @ 2018-06-01 8:36 UTC (permalink / raw)
To: Yu, Mingli; +Cc: openembedded-core
2018-06-01 8:38 GMT+03:00 Yu, Mingli <mingli.yu@windriver.com>:
> I did investigate the path a lot before send out the patch, but didn't
> figure out why it introduce the path for make_x86_64_sysv_elf_gas.o whose
> source file is make_x86_64_sysv_elf_gas.S.
>
> Anyway, I will try to dig more.
>
> If you have any ideas, welcome to help provide some hint.
I'm not an expert in symbol tables and what goes into them, but I
strongly suspect the full path is introduced by linker because that .S
file has two assembly labels (trampoline, finish). The other two
assembly files have no such labels, and so their file paths are not
added to the .so. I'm also not sure why there needs to be a full path,
as opposed to just the file name, as is the case for .c files (maybe
to avoid clashes with labels of the same name in different files?).
We should probably just strip that one specific .o file before it's
linked into the library. Or if there is a way to prevent the labels
from being written into the symbol table by the assembler, we can use
that too. Sadly boost has its own build system, so doing such custom
tweaks may be tricky.
Alex
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 5:38 ` Yu, Mingli
2018-06-01 8:36 ` Alexander Kanavin
@ 2018-06-01 17:07 ` Khem Raj
2018-06-01 17:56 ` Alexander Kanavin
1 sibling, 1 reply; 14+ messages in thread
From: Khem Raj @ 2018-06-01 17:07 UTC (permalink / raw)
To: Yu, Mingli, Alexander Kanavin; +Cc: openembedded-core
[-- Attachment #1.1: Type: text/plain, Size: 1755 bytes --]
On 5/31/18 10:38 PM, Yu, Mingli wrote:
>
>
> On 2018年06月01日 13:08, Alexander Kanavin wrote:
>> 2018-06-01 4:39 GMT+03:00 Yu, Mingli <mingli.yu@windriver.com>:
>>
>>>> This looks very unlikely to ever make it upstream. Rather than carrying
>>>> a patch to boost forever would we want to just strip the file in
>>>> question with a custom command?
>>>
>>>
>>> Thanks very much Richard for your respond!
>>> I did try to strip only file which in question, but not find out the
>>> solution and then turn to strip the context library.
>>>
>>> Alex,
>>> Do you have any suggestion?
>>
>> Yes - as RP said, please investigate how the path gets into this
>> specific file (but not other files) in the first place, and whether we
>> can disable or make it not happen, rather than strip the path after
>> the fact.
>
> Hi Alex,
>
> Thanks for your respond!
> I did investigate the path a lot before send out the patch, but didn't
> figure out why it introduce the path for make_x86_64_sysv_elf_gas.o
> whose source file is make_x86_64_sysv_elf_gas.S.
>
> Anyway, I will try to dig more.
>
> If you have any ideas, welcome to help provide some hint.
>
these symbols are added by assembler, if you have .file asm directive
either explicitly added to .s file or emitted by compiler, compiler
would emit it if the path specified to source file is absolute during
compiler invocation, it will take it verbatim and put it in generated .s
file
you might then want to check if you can see whats happening when this
file is being either compiled or assembled and make the changes there
such that it can be specified via a topdir relative path. that should
fix the issue.
> Thanks,
>
>
>>
>> Alex
>>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 17:07 ` Khem Raj
@ 2018-06-01 17:56 ` Alexander Kanavin
2018-06-01 18:33 ` Khem Raj
0 siblings, 1 reply; 14+ messages in thread
From: Alexander Kanavin @ 2018-06-01 17:56 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
2018-06-01 20:07 GMT+03:00 Khem Raj <raj.khem@gmail.com>:
> these symbols are added by assembler, if you have .file asm directive
> either explicitly added to .s file or emitted by compiler, compiler
> would emit it if the path specified to source file is absolute during
> compiler invocation, it will take it verbatim and put it in generated .s
> file
The .s file is not generated and it does not contain any .file
directives. The .o file also does not contain the path. It appears in
the final .so library at linking stage.
Alex
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 17:56 ` Alexander Kanavin
@ 2018-06-01 18:33 ` Khem Raj
2018-06-01 19:34 ` Alexander Kanavin
0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2018-06-01 18:33 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
[-- Attachment #1.1: Type: text/plain, Size: 659 bytes --]
On 6/1/18 10:56 AM, Alexander Kanavin wrote:
> 2018-06-01 20:07 GMT+03:00 Khem Raj <raj.khem@gmail.com>:
>> these symbols are added by assembler, if you have .file asm directive
>> either explicitly added to .s file or emitted by compiler, compiler
>> would emit it if the path specified to source file is absolute during
>> compiler invocation, it will take it verbatim and put it in generated .s
>> file
>
> The .s file is not generated and it does not contain any .file
> directives. The .o file also does not contain the path. It appears in
> the final .so library at linking stage.
Can you share the linker cmdline ?
>
> Alex
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 18:33 ` Khem Raj
@ 2018-06-01 19:34 ` Alexander Kanavin
2018-06-15 6:44 ` Khem Raj
0 siblings, 1 reply; 14+ messages in thread
From: Alexander Kanavin @ 2018-06-01 19:34 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
On 06/01/2018 09:33 PM, Khem Raj wrote:
>> The .s file is not generated and it does not contain any .file
>> directives. The .o file also does not contain the path. It appears in
>> the final .so library at linking stage.
>
> Can you share the linker cmdline ?
https://pastebin.com/WK9GVDfj
Note that of the three assembly-generated object files, only the path to
the first shows up in the .so - because of assembly labels I believe.
Alex
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 8:36 ` Alexander Kanavin
@ 2018-06-05 2:44 ` Yu, Mingli
0 siblings, 0 replies; 14+ messages in thread
From: Yu, Mingli @ 2018-06-05 2:44 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
On 2018年06月01日 16:36, Alexander Kanavin wrote:
> 2018-06-01 8:38 GMT+03:00 Yu, Mingli <mingli.yu@windriver.com>:
>
>> I did investigate the path a lot before send out the patch, but didn't
>> figure out why it introduce the path for make_x86_64_sysv_elf_gas.o whose
>> source file is make_x86_64_sysv_elf_gas.S.
>>
>> Anyway, I will try to dig more.
>>
>> If you have any ideas, welcome to help provide some hint.
>
> I'm not an expert in symbol tables and what goes into them, but I
> strongly suspect the full path is introduced by linker because that .S
> file has two assembly labels (trampoline, finish). The other two
> assembly files have no such labels, and so their file paths are not
> added to the .so. I'm also not sure why there needs to be a full path,
Thanks Alex very much for your comments!
I think the full path is introduced by linker and I'm also confused why
other two assembly files' o file not introduced in the final .so.
> as opposed to just the file name, as is the case for .c files (maybe
> to avoid clashes with labels of the same name in different files?).
I'm also concerned about that maybe it's necessary to have the full path.
Thanks,
>
> We should probably just strip that one specific .o file before it's
> linked into the library. Or if there is a way to prevent the labels
> from being written into the symbol table by the assembler, we can use
> that too. Sadly boost has its own build system, so doing such custom
> tweaks may be tricky.
>
> Alex
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-01 19:34 ` Alexander Kanavin
@ 2018-06-15 6:44 ` Khem Raj
2018-06-15 6:54 ` Alexander Kanavin
0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2018-06-15 6:44 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
On 6/1/18 12:34 PM, Alexander Kanavin wrote:
> On 06/01/2018 09:33 PM, Khem Raj wrote:
>>> The .s file is not generated and it does not contain any .file
>>> directives. The .o file also does not contain the path. It appears in
>>> the final .so library at linking stage.
>>
>> Can you share the linker cmdline ?
>
> https://pastebin.com/WK9GVDfj
>
> Note that of the three assembly-generated object files, only the path to
> the first shows up in the .so - because of assembly labels I believe.
>
Thanks for sharing this. If there is a no file directive in an object
file then linker will use whatever is specified on linker cmdline so
thats what we see, We should define FILE symbol explicitly for .S files
here, for C/C++ files compiler does that automatically.
Other files dont make a claim in final symbol table since this one file
alone has cross referencing to symbols from other objects.
Something like this will help
Index: boost_1_67_0/libs/context/src/asm/make_i386_sysv_elf_gas.S
===================================================================
--- boost_1_67_0.orig/libs/context/src/asm/make_i386_sysv_elf_gas.S
+++ boost_1_67_0/libs/context/src/asm/make_i386_sysv_elf_gas.S
@@ -23,7 +23,7 @@
*
----------------------------------------------------------------------------------
*
*
*
****************************************************************************************/
-
+.file "make_i386_sysv_elf_gas.S"
.text
.globl make_fcontext
.align 2
Index: boost_1_67_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
===================================================================
--- boost_1_67_0.orig/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
+++ boost_1_67_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
@@ -23,7 +23,7 @@
*
----------------------------------------------------------------------------------
*
*
*
****************************************************************************************/
-
+.file "make_x86_64_sysv_elf_gas.S"
.text
.globl make_fcontext
.type make_fcontext,@function
> Alex
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-15 6:44 ` Khem Raj
@ 2018-06-15 6:54 ` Alexander Kanavin
2018-06-15 7:31 ` Yu, Mingli
0 siblings, 1 reply; 14+ messages in thread
From: Alexander Kanavin @ 2018-06-15 6:54 UTC (permalink / raw)
To: Khem Raj, Yu, Mingli; +Cc: OE-core
Thanks! Mingli, can you try this please?
Alex
2018-06-15 9:44 GMT+03:00 Khem Raj <raj.khem@gmail.com>:
>
>
> On 6/1/18 12:34 PM, Alexander Kanavin wrote:
>>
>> On 06/01/2018 09:33 PM, Khem Raj wrote:
>>>>
>>>> The .s file is not generated and it does not contain any .file
>>>> directives. The .o file also does not contain the path. It appears in
>>>> the final .so library at linking stage.
>>>
>>>
>>> Can you share the linker cmdline ?
>>
>>
>> https://pastebin.com/WK9GVDfj
>>
>> Note that of the three assembly-generated object files, only the path to
>> the first shows up in the .so - because of assembly labels I believe.
>>
>
> Thanks for sharing this. If there is a no file directive in an object file
> then linker will use whatever is specified on linker cmdline so thats what
> we see, We should define FILE symbol explicitly for .S files here, for C/C++
> files compiler does that automatically.
>
> Other files dont make a claim in final symbol table since this one file
> alone has cross referencing to symbols from other objects.
>
> Something like this will help
>
> Index: boost_1_67_0/libs/context/src/asm/make_i386_sysv_elf_gas.S
> ===================================================================
> --- boost_1_67_0.orig/libs/context/src/asm/make_i386_sysv_elf_gas.S
> +++ boost_1_67_0/libs/context/src/asm/make_i386_sysv_elf_gas.S
> @@ -23,7 +23,7 @@
> *
> ----------------------------------------------------------------------------------
> *
> * *
>
> ****************************************************************************************/
> -
> +.file "make_i386_sysv_elf_gas.S"
> .text
> .globl make_fcontext
> .align 2
> Index: boost_1_67_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
> ===================================================================
> --- boost_1_67_0.orig/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
> +++ boost_1_67_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
> @@ -23,7 +23,7 @@
> *
> ----------------------------------------------------------------------------------
> *
> * *
>
> ****************************************************************************************/
> -
> +.file "make_x86_64_sysv_elf_gas.S"
> .text
> .globl make_fcontext
> .type make_fcontext,@function
>
>
>> Alex
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] boost: Improve reproducibility
2018-06-15 6:54 ` Alexander Kanavin
@ 2018-06-15 7:31 ` Yu, Mingli
0 siblings, 0 replies; 14+ messages in thread
From: Yu, Mingli @ 2018-06-15 7:31 UTC (permalink / raw)
To: Alexander Kanavin, Khem Raj; +Cc: OE-core
On 2018年06月15日 14:54, Alexander Kanavin wrote:
> Thanks! Mingli, can you try this please?
Sure,
>
> Alex
>
> 2018-06-15 9:44 GMT+03:00 Khem Raj <raj.khem@gmail.com>:
>>
>>
>> On 6/1/18 12:34 PM, Alexander Kanavin wrote:
>>>
>>> On 06/01/2018 09:33 PM, Khem Raj wrote:
>>>>>
>>>>> The .s file is not generated and it does not contain any .file
>>>>> directives. The .o file also does not contain the path. It appears in
>>>>> the final .so library at linking stage.
>>>>
>>>>
>>>> Can you share the linker cmdline ?
>>>
>>>
>>> https://pastebin.com/WK9GVDfj
>>>
>>> Note that of the three assembly-generated object files, only the path to
>>> the first shows up in the .so - because of assembly labels I believe.
>>>
>>
>> Thanks for sharing this. If there is a no file directive in an object file
>> then linker will use whatever is specified on linker cmdline so thats what
>> we see, We should define FILE symbol explicitly for .S files here, for C/C++
>> files compiler does that automatically.
>>
>> Other files dont make a claim in final symbol table since this one file
>> alone has cross referencing to symbols from other objects.
>>
>> Something like this will help
Thanks Khem very much!
Have set .file section in .S file as you suggested, it works.
Thanks,
>>
>> Index: boost_1_67_0/libs/context/src/asm/make_i386_sysv_elf_gas.S
>> ===================================================================
>> --- boost_1_67_0.orig/libs/context/src/asm/make_i386_sysv_elf_gas.S
>> +++ boost_1_67_0/libs/context/src/asm/make_i386_sysv_elf_gas.S
>> @@ -23,7 +23,7 @@
>> *
>> ----------------------------------------------------------------------------------
>> *
>> * *
>>
>> ****************************************************************************************/
>> -
>> +.file "make_i386_sysv_elf_gas.S"
>> .text
>> .globl make_fcontext
>> .align 2
>> Index: boost_1_67_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
>> ===================================================================
>> --- boost_1_67_0.orig/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
>> +++ boost_1_67_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
>> @@ -23,7 +23,7 @@
>> *
>> ----------------------------------------------------------------------------------
>> *
>> * *
>>
>> ****************************************************************************************/
>> -
>> +.file "make_x86_64_sysv_elf_gas.S"
>> .text
>> .globl make_fcontext
>> .type make_fcontext,@function
>>
>>
>>> Alex
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2018-06-15 7:35 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-31 6:20 [PATCH] boost: Improve reproducibility mingli.yu
2018-05-31 13:13 ` Richard Purdie
2018-06-01 1:39 ` Yu, Mingli
2018-06-01 5:08 ` Alexander Kanavin
2018-06-01 5:38 ` Yu, Mingli
2018-06-01 8:36 ` Alexander Kanavin
2018-06-05 2:44 ` Yu, Mingli
2018-06-01 17:07 ` Khem Raj
2018-06-01 17:56 ` Alexander Kanavin
2018-06-01 18:33 ` Khem Raj
2018-06-01 19:34 ` Alexander Kanavin
2018-06-15 6:44 ` Khem Raj
2018-06-15 6:54 ` Alexander Kanavin
2018-06-15 7:31 ` Yu, Mingli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox