TODO revision 7a03b1970c35c2b0924152404fb7526965eb4f3c
d24f45d9257685c7b1ad34a2a675b7ff35fb9398cmaederF15:
d4e7da6e9164ba18433755b68bbc8bc6354f0c04Eugen Kuksa
af313f59287bea73d6e453a1bdb397c3f68c3160Jonathan von Schroeder* swap units that are activated by one name but shown in the kernel under another are semi-broken
af313f59287bea73d6e453a1bdb397c3f68c3160Jonathan von Schroeder
167d70cbaefa2fcc045ffde6fb4b826524c1c7a9Christian Maeder* dep cycle basic → udev-retry → auditd → iptables → basic
167d70cbaefa2fcc045ffde6fb4b826524c1c7a9Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* NFS, networkmanager ordering issue (PENDING)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* hook emergency.target into local-fs.target in some way as OnFailure with isolate
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
4c7cb5671b356d873d67829ec8062a5083c1ee0eEugen Kuksa* drop SIGHUP handling from rsyslog.service upstream (PENDING)
6a6306c583c71d23b47101b59d7c9348d181ba57Eugen Kuksa
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* save/restore tool for SysV as requested by FPC (PENDING)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* bind mounts are ignored
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner (path: after installing inotify watches, recheck file again to fix race)
73677326fdbc1d154208000f6f37d7524d8f90cfJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* NM should pull in network.target, ntpd should pull in rtc-set.target.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
730ccc63c301363853cba9286760d511b456671eChristian Maeder* fix sysv parser to add right wants dependencies
730ccc63c301363853cba9286760d511b456671eChristian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* document default dependencies
730ccc63c301363853cba9286760d511b456671eChristian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerFeatures:
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* hide passwords on TAB
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* get rid of random file name in generator directory?
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner /run/systemd/generator-IH1vFu
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* fix SD_WARNING syslog stuff in src/sd-daemon.h to include the
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder facility
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* add switch to systemctl to show enabled but not running services. Or
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder another switch that shows service that have been running since
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder booting but aren't running anymore.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* reuse mkdtemp namespace dirs in /tmp?
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* don't strip facility from kmsg log messages as soon as that is possible.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* recreate systemd's D-Bus private socket file on SIGUSR2
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* be more specific what failed:
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Unmounting file systems.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Not all file systems unmounted, 1 left.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Disabling swaps.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Detaching loop devices.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Detaching DM devices.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Cannot finalize remaining file systems and devices, trying to kill remaining processes.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Unmounting file systems.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Not all file systems unmounted, 1 left.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Cannot finalize remaining file systems and devices, giving up.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* check for compiled-in, but not active selinux, and don't print any warnings
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder about policy loading. Probably check for available selinux in /proc/filesystems,
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder and check for active selinux with getcon_raw() == "kernel"
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* optionally create watched directories in .path units
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* Support --test based on current system state
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* consider services with any kind of link in /etc/systemd/system enabled
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* show failure error string in "systemctl status"
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* make sure timeouts are applied to Type=oneshot services.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* Maybe implement "systemctl mask" and "systemctl unmask", but not
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder document it? When doing that add switch to make this temporary by
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder placing mask links in /dev.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder Consider moving the actual fs operations into systemd behind a D-Bus
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder interface, to make namespaces/containers/remote connections work properly.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* detect LXC environment
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* invoke vhangup() before and after invoking getty
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* support "auto" and "comment=systemd.automount" at the same time for an fstab entry
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* Maybe store in unit files whether a service should be enabled by default on package installation
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder (belongs into a distro pattern though, not in an upstream package's service file)
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* need a way to apply mount options of api vfs from systemd unit files
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder (or some other modern source?) instead of fstab
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* maybe introduce ExecRestartPre=
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* figure out what happened to bluez patch
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* Patch systemd-fsck to use -C and pass console fd to it
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* support remote/ssh systemctl/systemadm, and local privileged access
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* configurable jitter for timer events
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* Support ProcessNeededForShutdown=true to allow stuff like mdmon
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder to be killed very late after the rootfs is read only (?)
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder needed action
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* dot output for --test showing the 'initial transaction'
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* systemd --user
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* add VT tracking:
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - provide CK functionality
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - start getty only when actual vt switch happens (same model as
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder socket on-demand activation). allocate the next free tty and
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder start a getty there. this way, pressing alt-f[1-12] will switch
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder through running X and getty sessions, and any unallocated
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder activated tty will start a new getty. the hardcoding of
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder getty[1-6] will entirely go away.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
8d632882ae6a59db929b7f87816da6c4d795594eJonathan von Schroeder* implicitly import "defaults" settings file into all types
8d632882ae6a59db929b7f87816da6c4d795594eJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* port over to LISTEN_FDS/LISTEN_PID:
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - uuidd HAVEPATCH
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - cups HAVEPATCH
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - postfix, saslauthd
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - apache/samba
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - libvirtd (/var/run/libvirt/libvirt-sock-ro)
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder - distccd
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* fingerprint.target, wireless.target, gps.target
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* io priority during initialization
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* if a service fails too often, make the service enter failed mode, and the socket, too.
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* systemctl list-jobs - show dependencies
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* accountsservice is borked
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* auditd service files
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* add systemctl switch to dump transaction without executing it
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* suspend, resume support?
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* readahead: btrfs/LVM SSD detection
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* add separate man page for [Install] settings
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* systemctl condrestart should return 0 if service isn't running
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder* allow runtime changing of log level and target
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von Schroeder
5d3daa829555d76ff7cf45e71adf661e0819a12bJonathan von SchroederExternal:
f618b9465de7fe92a62fc4f247b1e10aa4454d2dJonathan von Schroeder
f618b9465de7fe92a62fc4f247b1e10aa4454d2dJonathan von Schroeder* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
6aad75f5233b1f80eb84f53395f7bb44e9ed7b88Jonathan von Schroeder
6aad75f5233b1f80eb84f53395f7bb44e9ed7b88Jonathan von Schroeder* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
6aad75f5233b1f80eb84f53395f7bb44e9ed7b88Jonathan von Schroeder
6aad75f5233b1f80eb84f53395f7bb44e9ed7b88Jonathan von Schroeder* gnome-shell python script/glxinfo/is-accelerated must die
8d632882ae6a59db929b7f87816da6c4d795594eJonathan von Schroeder
8d632882ae6a59db929b7f87816da6c4d795594eJonathan von Schroeder* make cryptsetup lower --iter-time
5d8372f2459037830704c3f48d2b566ee1f35e31cmaeder
5d8372f2459037830704c3f48d2b566ee1f35e31cmaeder* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa* patch kernel for cpu feature modalias for autoloading aes/kvm/...
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksa http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
73677326fdbc1d154208000f6f37d7524d8f90cfJens Elkner (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
73677326fdbc1d154208000f6f37d7524d8f90cfJens Elkner
a389e88e0acb83d8489bdc5e55bc5522b152bbecEugen Kuksa* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()
* check for strerror(r) instead of strerror(-r)
* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
* %m in printf() instead of strerror();
* pahole
* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"