Attempt to reduce Linux deps

lddtree output (sorted):

1. Before this CL:

gn => out/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
    ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
    libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1

2. With this CL:

gn => out/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
    ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0

3. Chrome's current buildtools:

gn => /work/cr/src/buildtools/linux64/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1

So, compared to current Chrome buildtools, this removes the dependency
on librt.so.1, but still has a ld-linux-x86-64.so.2 dependency. A bunch
are removed that were problematic since the last attempt to roll into
Chromium. Per
https://bugs.chromium.org/p/chromium/issues/detail?id=855791#c38 I am
hopeful that this will not cause problems.

Change-Id: I3c47339ceffd5d34ae3aa8f5b201fd6d8b43977a
Reviewed-on: https://gn-review.googlesource.com/1940
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
diff --git a/build/gen.py b/build/gen.py
index 483d3f0..eb506e3 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -234,11 +234,17 @@
       # sysroot and we don't currently have a local build of that. We should
       # probably resolve this and (re-)add a way to build against libc++.
       cflags.extend(['--sysroot=' + linux_sysroot,
-                     '-stdlib=libstdc++'])
+                     '-stdlib=libstdc++',
+                    ])
       ldflags.extend(['--sysroot=' + linux_sysroot,
-                      '-rtlib=libgcc',
                       '-static-libstdc++',
-                      '-stdlib=libstdc++'])
+                      '-stdlib=libstdc++',
+                      '-Wl,--as-needed',
+                     ])
+      libs.extend([
+          '-lgcc_s',
+          '-lpthread',
+      ])
   elif is_win:
     if not options.debug:
       cflags.extend(['/Ox', '/DNDEBUG', '/GL'])
@@ -524,14 +530,6 @@
     static_libraries['base']['sources'].extend([
         'base/strings/sys_string_conversions_posix.cc',
     ])
-    libs.extend([
-        '-lc',
-        '-lgcc_s',
-        '-lm',
-        '-lpthread',
-        '-lrt',
-        '-latomic',
-    ])
 
   if is_mac:
     static_libraries['base']['sources'].extend([