diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index bdff2ddadaada4e5d84e4651c5a19284d3534de9..0dd5d6446437e3c80d53c7b9e7e93a958f5db506 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -663,6 +663,10 @@ (define-public gfortran-7
   (custom-gcc gcc-7 "gfortran" '("fortran")
               %generic-search-paths))
 
+(define-public gfortran-8
+  (custom-gcc gcc-8 "gfortran" '("fortran")
+              %generic-search-paths))
+
 (define-public gfortran
   ;; Note: Update this when GCC changes!  We cannot use
   ;; (custom-gcc gcc "fortran" …) because that would lead to a package object
@@ -723,6 +727,15 @@ (define-public gcc-objc-7
                      (variable "LIBRARY_PATH")
                      (files '("lib" "lib64"))))))
 
+(define-public gcc-objc-8
+  (custom-gcc gcc-8 "gcc-objc" '("objc")
+              (list (search-path-specification
+                     (variable "OBJC_INCLUDE_PATH")
+                     (files '("include")))
+                    (search-path-specification
+                     (variable "LIBRARY_PATH")
+                     (files '("lib" "lib64"))))))
+
 (define-public gcc-objc gcc-objc-5)
 
 (define-public gcc-objc++-4.8
@@ -770,6 +783,15 @@ (define-public gcc-objc++-7
                      (variable "LIBRARY_PATH")
                      (files '("lib" "lib64"))))))
 
+(define-public gcc-objc++-8
+  (custom-gcc gcc-8 "gcc-objc++" '("obj-c++")
+              (list (search-path-specification
+                     (variable "OBJCPLUS_INCLUDE_PATH")
+                     (files '("include")))
+                    (search-path-specification
+                     (variable "LIBRARY_PATH")
+                     (files '("lib" "lib64"))))))
+
 (define-public gcc-objc++ gcc-objc++-5)
 
 (define (make-libstdc++-doc gcc)