This fixes a regression whereby the program fails to link with debug
info in LTO mode because of an undefined reference to a symbol coming
from the object files containing the early debug info.
	* dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode.
+2019-02-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode.
+
 2020-02-25  Roman Zhuykov  <zhroma@ispras.ru>
 
        Backport from master
 
 static void
 dwarf2out_size_function (tree decl)
 {
+  set_early_dwarf s;
   function_to_dwarf_procedure (decl);
 }
 
 
+2019-02-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/lto24.adb: New test.
+       * gnat.dg/lto24_pkg1.ads: New helper.
+       * gnat.dg/lto24_pkg2.ad[sb]: Likewise.
+
 2020-02-24  Richard Sandiford  <richard.sandiford@arm.com>
 
        Backport from mainline
 
--- /dev/null
+-- { dg-do link }
+-- { dg-options "-O -g -flto" { target lto } }
+
+with Lto24_Pkg1;
+
+procedure Lto24 is
+  R : Lto24_Pkg1.Rec (False);
+begin
+  R.Empty := True;
+end;
 
--- /dev/null
+with Lto24_Pkg2;
+
+package Lto24_Pkg1 is
+
+  Max_Elem : constant Natural := Lto24_Pkg2.Get;
+
+  type Arr is array (Natural range <>) of Boolean;
+
+  type Rec (B : Boolean) is record
+     I : Integer;
+     case B is
+       when True => A : Arr (1 .. Max_Elem);
+       when False => Empty : Boolean;
+     end case;
+  end record;
+
+end Lto24_Pkg1;
 
--- /dev/null
+package body Lto24_Pkg2 is
+
+  function Get return Natural is
+  begin
+    return 16;
+  end;
+
+end Lto24_Pkg2;
 
--- /dev/null
+package Lto24_Pkg2 is
+
+  function Get return Natural;
+
+end Lto24_Pkg2;