Linker 如何从不同的对象文件(ELF)链接具有相同类型但不同标志的段?

Linker 如何从不同的对象文件(ELF)链接具有相同类型但不同标志的段?,linker,elf,Linker,Elf,我很好奇链接器如何链接不同对象文件中具有相同类型但不同标志的段。例如,我们现在有两个ELF对象文件foo.o和bar.o,它们都有一个.text段(代码段)。但是,foo.o中的.text段可以写入,而bar.o中的段不能写入。在这种情况下,链接器将如何链接这两个段?链接器将如何设置链接文件中.text段的标志 谢谢并致以最良好的问候 链接器将如何设置链接文件中.text段的标志 链接文件中没有.text段:将.text节放入一个加载段中 链接器可以选择要执行的操作 它可以创建具有不同标志的多

我很好奇链接器如何链接不同对象文件中具有相同类型但不同标志的段。例如,我们现在有两个ELF对象文件
foo.o
bar.o
,它们都有一个
.text
段(代码段)。但是,
foo.o
中的
.text
段可以写入,而
bar.o
中的段不能写入。在这种情况下,链接器将如何链接这两个段?链接器将如何设置链接文件中
.text
段的标志

谢谢并致以最良好的问候

链接器将如何设置链接文件中.text段的标志

链接文件中没有
.text
段:将
.text
节放入一个
加载
段中

链接器可以选择要执行的操作

  • 它可以创建具有不同标志的多个
    .text
    节,并将它们放入多个
    加载
    段中
  • 它可以将
    foo.o
    bar.o
    中的所有
    .text
    节合并为一个
    .text
    节,并使其可写
  • 它可能会使链接失败