006-uml_libc_link_errors.patch 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --- a/arch/um/kernel/dyn.lds.S
  2. +++ b/arch/um/kernel/dyn.lds.S
  3. @@ -50,8 +50,21 @@ SECTIONS
  4. .rela.got : { *(.rela.got) }
  5. .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
  6. .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  7. - .rel.plt : { *(.rel.plt) }
  8. - .rela.plt : { *(.rela.plt) }
  9. + /* Deal with multilib libc */
  10. + .rel.plt :
  11. + {
  12. + *(.rel.plt)
  13. + PROVIDE_HIDDEN (__rel_iplt_start = .);
  14. + *(.rel.iplt)
  15. + PROVIDE_HIDDEN (__rel_iplt_end = .);
  16. + }
  17. + .rela.plt :
  18. + {
  19. + *(.rela.plt)
  20. + PROVIDE_HIDDEN (__rela_iplt_start = .);
  21. + *(.rela.iplt)
  22. + PROVIDE_HIDDEN (__rela_iplt_end = .);
  23. + }
  24. .init : {
  25. KEEP (*(.init))
  26. } =0x90909090
  27. --- a/arch/um/kernel/uml.lds.S
  28. +++ b/arch/um/kernel/uml.lds.S
  29. @@ -35,6 +35,21 @@ SECTIONS
  30. *(.gnu.warning)
  31. *(.gnu.linkonce.t*)
  32. }
  33. + /* Deal with multilib libc */
  34. + .rel.plt :
  35. + {
  36. + *(.rel.plt)
  37. + PROVIDE_HIDDEN (__rel_iplt_start = .);
  38. + *(.rel.iplt)
  39. + PROVIDE_HIDDEN (__rel_iplt_end = .);
  40. + }
  41. + .rela.plt :
  42. + {
  43. + *(.rela.plt)
  44. + PROVIDE_HIDDEN (__rela_iplt_start = .);
  45. + *(.rela.iplt)
  46. + PROVIDE_HIDDEN (__rela_iplt_end = .);
  47. + }
  48. . = ALIGN(PAGE_SIZE);
  49. .syscall_stub : {