[PATCH] configs: Get rid of obsolete CONFIG_ENABLE_WARN_DEPRECATED

2019-01-28 Thread Alexey Brodkin
This Kconfig option was removed during v4.19 development in
commit 771c035372a0 ("deprecate the '__deprecated' attribute warnings entirely 
and for good")
so there's no point to keep it in defconfigs any longer.

FWIW defconfigs were patched with:
--->8--
find . -name *_defconfig -exec sed -i '/CONFIG_ENABLE_WARN_DEPRECATED/d' {} \;
--->8--

Signed-off-by: Alexey Brodkin 
Cc: Jonathan Corbet 
Cc: Federico Vaga 
Cc: Vineet Gupta 
Cc: Russell King 
Cc: Florian Fainelli 
Cc: Ray Jui 
Cc: Scott Branden 
Cc: bcm-kernel-feedback-l...@broadcom.com
Cc: Eric Anholt 
Cc: Stefan Wahren 
Cc: "Uwe Kleine-Konig" 
Cc: Vladimir Zapolskiy 
Cc: Liviu Dudau 
Cc: Sudeep Holla 
Cc: Lorenzo Pieralisi 
Cc: Maxime Coquelin 
Cc: Alexandre Torgue 
Cc: Yoshinori Sato 
Cc: Geert Uytterhoeven 
Cc: Ley Foon Tan 
Cc: Jonas Bonn 
Cc: Stefan Kristiansson 
Cc: Stafford Horne 
Cc: Benjamin Herrenschmidt 
Cc: Paul Mackerras 
Cc: Michael Ellerman 
Cc: Rich Felker 
Cc: "David S. Miller" 
Cc: Thomas Gleixner 
Cc: Ingo Molnar 
Cc: Borislav Petkov 
Cc: x...@kernel.org
Cc: Miguel Ojeda 
Cc: Andrew Morton 
Cc: Alessia Mantegazza 
Cc: Kevin Hilman 
Cc: Eugeniy Paltsev 
Cc: Anders Roxell 
Cc: Linus Walleij 
Cc: Arnd Bergmann 
Cc: Patrice Chotard 
Cc: Krzysztof Kozlowski 
Cc: Bjorn Helgaas 
Cc: Paul Burton 
Cc: Adam Borowski 
Cc: linux-...@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-rpi-ker...@lists.infradead.org
Cc: linux-st...@st-md-mailman.stormreply.com
Cc: uclinux-h8-de...@lists.sourceforge.jp
Cc: linux-m...@lists.linux-m68k.org
Cc: nios2-...@lists.rocketboards.org
Cc: openr...@lists.librecores.org
Cc: linuxppc-...@lists.ozlabs.org
Cc: linux...@vger.kernel.org
Cc: sparcli...@vger.kernel.org
---
 Documentation/process/4.Coding.rst| 2 +-
 Documentation/translations/it_IT/process/4.Coding.rst | 2 +-
 arch/arc/configs/axs101_defconfig | 1 -
 arch/arc/configs/axs103_defconfig | 1 -
 arch/arc/configs/axs103_smp_defconfig | 1 -
 arch/arc/configs/haps_hs_defconfig| 1 -
 arch/arc/configs/haps_hs_smp_defconfig| 1 -
 arch/arc/configs/hsdk_defconfig   | 1 -
 arch/arc/configs/nps_defconfig| 1 -
 arch/arc/configs/nsim_700_defconfig   | 1 -
 arch/arc/configs/nsim_hs_defconfig| 1 -
 arch/arc/configs/nsim_hs_smp_defconfig| 1 -
 arch/arc/configs/nsimosci_defconfig   | 1 -
 arch/arc/configs/nsimosci_hs_defconfig| 1 -
 arch/arc/configs/nsimosci_hs_smp_defconfig| 1 -
 arch/arc/configs/tb10x_defconfig  | 1 -
 arch/arc/configs/vdk_hs38_defconfig   | 1 -
 arch/arc/configs/vdk_hs38_smp_defconfig   | 1 -
 arch/arm/configs/bcm2835_defconfig| 1 -
 arch/arm/configs/cns3420vb_defconfig  | 1 -
 arch/arm/configs/efm32_defconfig  | 1 -
 arch/arm/configs/eseries_pxa_defconfig| 1 -
 arch/arm/configs/gemini_defconfig | 1 -
 arch/arm/configs/lpc18xx_defconfig| 1 -
 arch/arm/configs/mini2440_defconfig   | 1 -
 arch/arm/configs/moxart_defconfig | 1 -
 arch/arm/configs/mps2_defconfig   | 1 -
 arch/arm/configs/nuc910_defconfig | 1 -
 arch/arm/configs/nuc950_defconfig | 1 -
 arch/arm/configs/nuc960_defconfig | 1 -
 arch/arm/configs/stm32_defconfig  | 1 -
 arch/h8300/configs/edosk2674_defconfig| 1 -
 arch/h8300/configs/h8300h-sim_defconfig   | 1 -
 arch/h8300/configs/h8s-sim_defconfig  | 1 -
 arch/m68k/configs/amcore_defconfig| 1 -
 arch/m68k/configs/stmark2_defconfig   | 1 -
 arch/nios2/configs/10m50_defconfig| 1 -
 arch/nios2/configs/3c120_defconfig| 1 -
 arch/openrisc/configs/or1ksim_defconfig   | 1 -
 arch/openrisc/configs/simple_smp_defconfig| 1 -
 arch/powerpc/configs/mpc512x_defconfig| 1 -
 arch/powerpc/configs/ppc6xx_defconfig | 1 -
 arch/sh/configs/apsh4a3a_defconfig| 1 -
 arch/sh/configs/edosk7705_defconfig   | 1 -
 arch/sh/configs/espt_defconfig| 1 -
 arch/sh/configs/sdk7786_defconfig | 1 -
 arch/sh/configs/sh2007_defconfig  | 1 -
 arch/sh/configs/sh7724_generic_defconfig  | 1 -
 arch/sh/configs/sh7763rdp_defconfig   | 1 -
 arch/sh/configs/sh7770_generic_defconfig  | 1 -
 arch/sh/configs/sh7785lcr_defconfig   | 1 -
 arch/sh/configs/ul2_defconfig   

ARC binutils init/fini (was Re: [PATCH 03/21] ARC: ABI Implementation)

2019-01-28 Thread Vineet Gupta
On 12/18/18 3:09 PM, Joseph Myers wrote:
>> diff --git a/sysdeps/arc/crti.S b/sysdeps/arc/crti.S
> As a new port I think it would be best to use init_array in your Implies 
> file so you don't need these crti / crtn files, and make GCC generate 
> init_array / fini_array exclusively.  (See RISC-V and C-Sky discussions of 
> this issue.)
> 

I did the switch and while is working, there are additional test failures

| FAIL: dlfcn/bug-atexit1
| FAIL: dlfcn/bug-atexit2
| FAIL: dlfcn/tstatexit
| FAIL: dlfcn/tstcxaatexit
| FAIL: nptl/tst-atfork2
| FAIL: nptl/tst-cond17
| FAIL: stdlib/test-dlclose-exit-race

In the failing case, the dsos are NOT getting the DT_INIT/DT_FINI dynamic tags

Consider glibc test dlfcn/tstatexit, which uses a dso modatexit.so

In good case

| arc-linux-readelf -a modatexit.os
|
| Section Headers:
|  [Nr] Name  TypeAddr OffSize   ES Flg Lk Inf 
Al
|  [ 9] .init PROGBITS047c 00047c 44 00  AX  0   0  
4
|  [12] .fini PROGBITS06f8 0006f8 28 00  AX  0   0  
4
|
| Dynamic section at offset 0x1f08 contains 23 entries:
|  0x000c (INIT)   0x47c
|  0x000d (FINI)   0x6f8

In broken case, init/fini sections exist,  but DT_INI/DT_FINI are missing.

|
| Dynamic section at offset 0x1f2c contains 19 entries: <-- missing INIT/FINI
|


I suspected some bintuils/gcc shenanigans and tried hacking around, but was led
far too astray.


(1). gcc config test failing (false alaram)

| host-gcc-final-ab544139bfee/build/gcc/config.log
|
|configure:22941: checking for .preinit_array/.init_array/.fini_array support
|configure:23106: checking cross compile... guessing
|configure:23111: result: no

gcc was seemingly built w/o init_array support leading to inclusion of default
gcc/config/initfini-array.h
However doing a glibc aarch64 build I see the same output so perhaps it is not
relevant.

(2). ARC binutils port seems to hardwire _init/_fini (and the only arch to do
that) so I ripped out the relevant handling from ld, but that doesn't help.


https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/56771171fa7cb9e31c65e26a656a8588d603d924


So I'm not sure if this is deficiency of linker emulation script or code ld/bfd 
etc..

-Vineet

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: ARC binutils init/fini (was Re: [PATCH 03/21] ARC: ABI Implementation)

2019-01-28 Thread Joseph Myers
On Mon, 28 Jan 2019, Vineet Gupta wrote:

> In the failing case, the dsos are NOT getting the DT_INIT/DT_FINI 
> dynamic tags

And they shouldn't be (they should have DT_INIT_ARRAY / DT_FINI_ARRAY 
instead).

> (1). gcc config test failing (false alaram)
> 
> | host-gcc-final-ab544139bfee/build/gcc/config.log
> |
> |configure:22941: checking for .preinit_array/.init_array/.fini_array support
> |configure:23106: checking cross compile... guessing
> |configure:23111: result: no
> 
> gcc was seemingly built w/o init_array support leading to inclusion of default
> gcc/config/initfini-array.h
> However doing a glibc aarch64 build I see the same output so perhaps it is not
> relevant.

This was discussed at length in the C-Sky discussion.  In short: the 
proper fix is to change that configure test to apply for cross compilation 
as well, other than in the very limited case where it tries to run 
something (but doing so is not appropriate in the current 
regression-fixes-only GCC development stage).  You can hack around it with 
gcc_cv_initfini_array=yes for the target in config.gcc, as done by a few 
architectures.  Or you can define the relevant target macros in 
gcc/config//.h to force init_array / fini_array use 
independent of the configure test, as done for AArch64.

-- 
Joseph S. Myers
jos...@codesourcery.com

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: ARC binutils init/fini (was Re: [PATCH 03/21] ARC: ABI Implementation)

2019-01-28 Thread Vineet Gupta
On 1/28/19 3:13 PM, Joseph Myers wrote:
> This was discussed at length in the C-Sky discussion.  In short: the 
> proper fix is to change that configure test to apply for cross compilation 
> as well, other than in the very limited case where it tries to run 
> something (but doing so is not appropriate in the current 
> regression-fixes-only GCC development stage).  You can hack around it with 
> gcc_cv_initfini_array=yes for the target in config.gcc, as done by a few 
> architectures.  Or you can define the relevant target macros in 
> gcc/config//.h to force init_array / fini_array use 
> independent of the configure test, as done for AArch64.

Awesome, now I see how it was working for RISCV (config test printed "cached") 
and
AArch64
I've added a local hack to gcc.config to test things out and will tackle this 
over
at gcc mailing list.

Many thx for untangling this for me. I found the C-Sky discussion as well [1]
adding a link here for someone else in future who trips on this again.

-Vineet

[1] https://sourceware.org/ml/libc-alpha/2018-11/msg00870.html


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH] [ARC]: Enable init_array support

2019-01-28 Thread Vineet Gupta
gcc's common configure script has a subtle flaw that it only tests
{init,fini.preinit}_array support when NOT cross compiling. This causes
cross builds to erroneously deduce that the feature is not supported by
the target.

| host-gcc-final-ab544139bfee/build/gcc/config.log
|
|configure:22941: checking for .preinit_array/.init_array/.fini_array support
|configure:23106: checking cross compile... guessing
|configure:23111: result: no

The right fix is to enable this for *all* cross setups (and address any
fallouts). However in the short-term to enable ARC glibc port to upstream,
force enable this for ARC.

This has been discussed at length on glibc mailing list [1], [2]

[1] https://sourceware.org/ml/libc-alpha/2018-11/msg00870.html
[2] https://sourceware.org/ml/libc-alpha/2019-01/msg00656.html

gcc/

2019-xx-xx  Vineet Gupta 

* gcc/config.gcc: Force .init_array for ARC

Signed-off-by: Vineet Gupta 
---
 gcc/ChangeLog  | 4 
 gcc/config.gcc | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5872dbeab7c..4c86d5375bcc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2019-01-28  Vineet Gupta  
+
+   * gcc/config.gcc: Force .init_array for ARC
+
 2019-01-28  Jakub Jelinek  
 
PR middle-end/89002
diff --git a/gcc/config.gcc b/gcc/config.gcc
index a189cb19f633..eef4b4eac918 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1110,6 +1110,9 @@ arc*-*-linux*)
case ${with_endian} in
big*)   tm_file="arc/big.h ${tm_file}"
esac
+   # Force .init_array support.  The configure script cannot always
+   # automatically detect that GAS supports it, yet we require it.
+   gcc_cv_initfini_array=yes
 ;;
 arm-wrs-vxworks|arm-wrs-vxworks7)
extra_options="${extra_options} arm/vxworks.opt"
-- 
2.7.4


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc