Support target specific ALIGN for variable alignment test [BZ #28676]

Add <tst-file-align.h> to support target specific ALIGN for variable
alignment test:

1. Alpha: Use 0x10000.
2. MicroBlaze and Nios II: Use 0x8000.
3. All others: Use 0x200000.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
H.J. Lu 2021-12-10 15:44:46 -08:00
parent f6ff87868a
commit 4435c29892
6 changed files with 82 additions and 6 deletions

View File

@ -17,11 +17,9 @@
<https://www.gnu.org/licenses/>. */
#include <support/check.h>
#include <tst-file-align.h>
#include <tst-stack-align.h>
/* This should cover all possible page sizes we currently support. */
#define ALIGN 0x200000
int bar __attribute__ ((aligned (ALIGN))) = 1;
extern int do_load_test (void);

View File

@ -17,11 +17,9 @@
<https://www.gnu.org/licenses/>. */
#include <support/check.h>
#include <tst-file-align.h>
#include <tst-stack-align.h>
/* This should cover all possible page sizes we currently support. */
#define ALIGN 0x200000
int foo __attribute__ ((aligned (ALIGN))) = 1;
void

View File

@ -0,0 +1,20 @@
/* Check file alignment. Alpha version.
Copyright (C) 2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
/* This should cover all possible alignments we currently support. */
#define ALIGN 0x10000

View File

@ -0,0 +1,20 @@
/* Check file alignment. Generic version.
Copyright (C) 2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
/* This should cover all possible page sizes we currently support. */
#define ALIGN 0x200000

View File

@ -0,0 +1,20 @@
/* Check file alignment. MicroBlaze version.
Copyright (C) 2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
/* This should cover all possible alignments we currently support. */
#define ALIGN 0x8000

View File

@ -0,0 +1,20 @@
/* Check file alignment. Nios II version.
Copyright (C) 2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
/* This should cover all possible alignments we currently support. */
#define ALIGN 0x8000