diff --git a/lang/perl/files/config.sh-arm-mt.in b/lang/perl/files/config.sh-arm-mt.in
index 635b05e9e..c05d4733c 100644
--- a/lang/perl/files/config.sh-arm-mt.in
+++ b/lang/perl/files/config.sh-arm-mt.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols='__ARM_ARCH_3__=1'
diff --git a/lang/perl/files/config.sh-arm.in b/lang/perl/files/config.sh-arm.in
index 9382b6536..d6c4177c5 100644
--- a/lang/perl/files/config.sh-arm.in
+++ b/lang/perl/files/config.sh-arm.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols='__ARM_ARCH_3__=1'
diff --git a/lang/perl/files/config.sh-armeb-mt.in b/lang/perl/files/config.sh-armeb-mt.in
index 89b310fe4..f20166e0a 100644
--- a/lang/perl/files/config.sh-armeb-mt.in
+++ b/lang/perl/files/config.sh-armeb-mt.in
@@ -52,7 +52,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols='__ARM_ARCH_3__=1'
diff --git a/lang/perl/files/config.sh-armeb.in b/lang/perl/files/config.sh-armeb.in
index aab5eeb8c..32bac39e6 100644
--- a/lang/perl/files/config.sh-armeb.in
+++ b/lang/perl/files/config.sh-armeb.in
@@ -52,7 +52,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols='__ARM_ARCH_3__=1'
diff --git a/lang/perl/files/config.sh-avr32-mt.in b/lang/perl/files/config.sh-avr32-mt.in
index 7336b666d..4576e0d5d 100644
--- a/lang/perl/files/config.sh-avr32-mt.in
+++ b/lang/perl/files/config.sh-avr32-mt.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-avr32.in b/lang/perl/files/config.sh-avr32.in
index 2ec7588e3..16c9f1a70 100644
--- a/lang/perl/files/config.sh-avr32.in
+++ b/lang/perl/files/config.sh-avr32.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-i486-mt.in b/lang/perl/files/config.sh-i486-mt.in
index 89583b65b..bb8e06fcb 100644
--- a/lang/perl/files/config.sh-i486-mt.in
+++ b/lang/perl/files/config.sh-i486-mt.in
@@ -51,7 +51,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-i486.in b/lang/perl/files/config.sh-i486.in
index 9d91dff70..b28b020fd 100644
--- a/lang/perl/files/config.sh-i486.in
+++ b/lang/perl/files/config.sh-i486.in
@@ -51,7 +51,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-mips-mt.in b/lang/perl/files/config.sh-mips-mt.in
index 8564c2338..434d99f87 100644
--- a/lang/perl/files/config.sh-mips-mt.in
+++ b/lang/perl/files/config.sh-mips-mt.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-mips.in b/lang/perl/files/config.sh-mips.in
index 1a752e74b..808387543 100644
--- a/lang/perl/files/config.sh-mips.in
+++ b/lang/perl/files/config.sh-mips.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-mips64-mt.in b/lang/perl/files/config.sh-mips64-mt.in
index 26d908a7e..daada6fe4 100644
--- a/lang/perl/files/config.sh-mips64-mt.in
+++ b/lang/perl/files/config.sh-mips64-mt.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-mips64.in b/lang/perl/files/config.sh-mips64.in
index baab56fdb..c8ccb108e 100644
--- a/lang/perl/files/config.sh-mips64.in
+++ b/lang/perl/files/config.sh-mips64.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-mipsel-mt.in b/lang/perl/files/config.sh-mipsel-mt.in
index d09586a88..e822f1ffd 100644
--- a/lang/perl/files/config.sh-mipsel-mt.in
+++ b/lang/perl/files/config.sh-mipsel-mt.in
@@ -51,7 +51,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-mipsel.in b/lang/perl/files/config.sh-mipsel.in
index 43c61a69c..880d7dba7 100644
--- a/lang/perl/files/config.sh-mipsel.in
+++ b/lang/perl/files/config.sh-mipsel.in
@@ -51,7 +51,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-powerpc-mt.in b/lang/perl/files/config.sh-powerpc-mt.in
index 564f27bc7..677ed1bde 100644
--- a/lang/perl/files/config.sh-powerpc-mt.in
+++ b/lang/perl/files/config.sh-powerpc-mt.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols='__gnu_linux__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 system=linux system=posix system=unix'
diff --git a/lang/perl/files/config.sh-powerpc.in b/lang/perl/files/config.sh-powerpc.in
index 8906ad68b..c2060476b 100644
--- a/lang/perl/files/config.sh-powerpc.in
+++ b/lang/perl/files/config.sh-powerpc.in
@@ -53,7 +53,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols='__gnu_linux__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 system=linux system=posix system=unix'
diff --git a/lang/perl/files/config.sh-x86_64-mt.in b/lang/perl/files/config.sh-x86_64-mt.in
index 3c6ab7b15..894f1309e 100644
--- a/lang/perl/files/config.sh-x86_64-mt.in
+++ b/lang/perl/files/config.sh-x86_64-mt.in
@@ -51,7 +51,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='-D_REENTRANT -D_GNU_SOURCE %%CFLAGS%%'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/files/config.sh-x86_64.in b/lang/perl/files/config.sh-x86_64.in
index f528c5412..ad89224e9 100644
--- a/lang/perl/files/config.sh-x86_64.in
+++ b/lang/perl/files/config.sh-x86_64.in
@@ -51,7 +51,7 @@ castflags='0'
 cat='cat'
 cc='%%CC%%'
 cccdlflags='-fPIC'
-ccflags='%%CFLAGS%%'
+ccflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 %%CFLAGS%%'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
diff --git a/lang/perl/perlmod.mk b/lang/perl/perlmod.mk
index 6cc1e4ccc..146a34858 100644
--- a/lang/perl/perlmod.mk
+++ b/lang/perl/perlmod.mk
@@ -9,7 +9,7 @@ ifneq ($(CONFIG_USE_GLIBC),)
 endif
 PERL_CMD:=$(STAGING_DIR_HOST)/usr/bin/perl5.20.0
 
-MOD_CFLAGS_PERL:=$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)
+MOD_CFLAGS_PERL:=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(TARGET_CFLAGS) $(TARGET_CPPFLAGS)
 ifdef CONFIG_PERL_THREADS
 	MOD_CFLAGS_PERL+= -D_REENTRANT -D_GNU_SOURCE
 endif