Sreyan Chakravarty | 28 May 19:39 2016

Make Error - gnu_indirect_function not recognized

I am trying to build GLIBC on a Linux 2.6.25 machine. My configure has
completed without any errors but my make fails with the message-:

../sysdeps/x86_64/multiarch/strcspn.S:47: Error: unrecognized symbol
type "gnu_indirect_function"
make[2]: *** [/home/Sreyan/Desktop/glibc-2.14/build/string/strcspn.o] Error 1
make[2]: Leaving directory `/home/Sreyan/Desktop/glibc-2.14/string'
make[1]: *** [string/subdir_lib] Error 2
(more detail in attached file)

Any idea on how to solve this ? I am using gcc 4.3.0 for the build.
What can I do to solve this ?

The config.log (attached) states that gnu_indirect_function is not
supported. Shouldn't the configure script failed if that was not
available ?

Sreyan Chakravarty
../sysdeps/x86_64/multiarch/strchr.S: Assembler messages:
../sysdeps/x86_64/multiarch/strchr.S:28: Error: unrecognized symbol type "gnu_indirect_function"
make[2]: *** [/home/Sreyan/Desktop/glibc-2.14/build/string/strchr.o] Error 1
make[2]: *** Waiting for unfinished jobs....
../sysdeps/x86_64/multiarch/strcpy.S: Assembler messages:
../sysdeps/x86_64/multiarch/strcpy.S:61: Error: unrecognized symbol type "gnu_indirect_function"
make[2]: *** [/home/Sreyan/Desktop/glibc-2.14/build/string/strcpy.o] Error 1
../sysdeps/x86_64/multiarch/strcmp.S: Assembler messages:
../sysdeps/x86_64/multiarch/strcmp.S:88: Error: unrecognized symbol type "gnu_indirect_function"
(Continue reading)

Preston Moore | 24 May 20:47 2016

Where is free() implemented?

Hey everyone,

Hopefully this is a quick question with a quick answer. Where is free() implemented? I’ve just found a
bunch of extern references in the glibc source I have. This is Ubuntu 14.04 LTS 32 bit.

Preston Moore
Sreyan Chakravarty | 21 May 18:32 2016

How to fix conftest.c problems ?

I am building GLIBC 2.14 on a Ubuntu Hardy Heron  system.

When I run the following command-:

../configure --prefix=/usr/local/glibc2.14

The configuration completes but I keep getting weird errors in my
config.log namely for a file called conftest.c

A quick google search revealed that conftest.c is actually a temporary
file generated by the autoconf script for testing purposes.

Now my question is how do I first dump conftest.c into an actual file
that I can see, secondly how do I fix the error that it is

A sample of those errors is-:

configure:3118: gcc -E  conftest.c
conftest.c:9:28: error: ac_nonexistent.h: No such file or directory
configure:3118: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU C Library"
| #define PACKAGE_TARNAME "c-library"
| #define PACKAGE_VERSION "(see version.h)"
| #define PACKAGE_STRING "GNU C Library (see version.h)"
| #define PACKAGE_BUGREPORT "glibc"
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
(Continue reading)

Sreyan Chakravarty | 19 May 22:49 2016

Build Error - gcc must provide the <cpuid.h> header

Okay I understand that this is a pretty common problem, but one that
has different causes. I am on a Oracle VirtualBox running Ubuntu Hardy
Heron x86_64 as my guest OS. The reason I am on such an old OS is
because I have an application,which was written for Heron, that I need
to make workable.

I need GLIBC version 2.14 so I have downloaded the sources from -:

(is it the correct version that I want ?)

Okay so now I am trying to build GLIBC version 2.14 on my virtual
system but when I run configure in my build directory I keep getting
the following error message:

checking cpuid.h usability... no
checking cpuid.h presence... no
checking for cpuid.h... no
configure: error: gcc must provide the <cpuid.h> header

I think (correct me if I am wrong) that configure is thinking that I
want to cross-compile GLIBC. It may be because on my virtual system :
uname -p gives the output of "unknown" (since this is a virtual OS)
(you can verify in the attached log)

I have also not done anything to my include/ folder, should I delete
its contents before running configure ?

Need help please. I have attached my config.log and the configure
(Continue reading)

The Source | 18 May 16:37 2016

problem with __init_cpu_features()

Hello, I'm trying to run my application on Cyrix Cx486SLC based system. 
But application (built for i486 as well as glibc) crashes on illegal 
instruction inside __init_cpu_features(). As far as I understand this 
CPU does not support cpuid (/proc/cpuinfo reports cpuid level -1 and 
/dev/cpu/0/cpuid can not be read with i/o error), so that might be the 
problem. Is there a way to avoid using __cpuid()? My glibc version is 2.22

Rostislav Devyatov | 4 May 20:42 2016

CLDR locales support in glibc

Dear developers,

I have a question about support of locales in glibc.

If I understand correctly (however, I'm in doubt, in particular,
that's why I'm asking my question here, and not in locales mailing
list), "locales" are first "defined" or "created" by Unicode
developers and distributed in a package (?) called CLDR. Then the
support for a given new locale in linux starts when it becomes
supported by glibc.

It also seems to me that for now, CLDR containes more locales than
glibc supports. In other words, here in , in the common/main/
directory of the archive, there are more files than here in glibc-2.23.tar.gz , in the
localedata/locales/ directory of the archive. And my question is,
whether support for (some of) the remaining CLDR locales by glibc can
be expected?

I'm particularly interested in the locale called en_150, which is
announced here . If I
understand correctly, this locale indicates that the language is
English and the date/paper/temperature standards are the ones used in
continental Europe.

Is this mailing list good for this question? Or should I ask in
libc-locales mailing list? Or is my understanding of how locales are
created and supported completely wrong?

(Continue reading)

Stu Juengst | 3 May 16:36 2016

Is gprof profiling (-pg) reentrant/thread-safe?

I was seeing some mysterious segmentation faults in my multi-threaded Linux application which was built
with the -pg option for gprof profiling.  They went away when I turned -pg off.  I took a look at the mcount
source for the version of glibc that I'm using (2.2.5) and see that it is updating linked lists in a single
global structure (_gmonparam) with no synchronization mechanism to keep multiple threads from
accessing this structure simultaneously. Am I missing something, or is gprof profiling not reentrant/thread-safe?


Stu Juengst

ricaljasan | 3 May 08:54 2016

Regenerating INSTALL

Getting to the final stages of preparing my patches, and I know INSTALL
needs to be regenerated and its patch included alongside install.texi,
but I am getting some unexpected diffs.  From I see that `make INSTALL'
is supposed to take place.  However, I get a ton of hunks in the diff,
not just the few I expected.  An example of a relevant hunk is:

-     By default for x86_64, the GNU C Library is built with vector math
-     library.  Use this option to disable vector math library.

+     By default for x86_64, the GNU C Library is built with the vector
+     math library.  Use this option to disable the vector math library.

It appears that many of the hunks are related to the '-vs-` generation,
but there are many more, related to things such as an apparent
difference in line-width.  For example:

-setting up a chroot environment or preparing a binary distribution.  The
-directory should be specified with an absolute file name.  Installing
-with the 'prefix' and 'exec_prefix' GNU standard make variables set is
+setting up a chroot environment or preparing a binary distribution.
+The directory should be specified with an absolute file name. Installing
+with the `prefix' and `exec_prefix' GNU standard make variables set is
 not supported.

How should I deal with this?  Do I need to hand-pick the edits (`git add
-p'), or is it expected that I generate INSTALL before working on my
branch (maybe it is expected that I always `configure' first?) so I can
(Continue reading)

ricaljasan | 19 Apr 11:36 2016

Patch Submission Guidelines

As I prepare my patchset for the manual, I have a few questions about
how to format the submission.

It will be of the [PATCH M/N] form, one for each of the chapters.  Is it
acceptable to use a lengthier and detailed description in 0/N that
covers everything in all the subsequent patches (these are all
grammar-related edits), and omit a description in each patch, leaving
only a title and consistent, terse summary?  For example:

Grammatical edits to the Error Reporting chapter.

        * manual/errno.texi: Edit grammar for clarity, consistency, and

Also, are ChangeLog entries still necessary?  I recall those being under
discussion[1,2,3] but am still unclear as to what ever truly became of
it.  The Contribution checklist[4] mentions them, including the bit
about editing the file but putting the diff in the message body and not
the patch.  I see a variety of formats used in practice from a cursory
look over the past week or so, but the most common appears to be:

Detailed message.

Some kind of header, possibly a name, subject, or date-name-email.

        * list of changed files

Attached patch.
(Continue reading)

Oliver | 14 Apr 13:02 2016

Re: Building glibc 2.19 for OS/ABI UNIX - System V

I know this thread is two years old, but somebody might stumble upon:

You can try the configure option "--enable-multiarch=no"

Wanghui (John | 8 Apr 05:44 2016

problem about zdump

CentOS 7.1


zdump -v Africa/Casablanca | grep 2037
after excute the command above, it shows:

Africa/Casablanca  Sun Mar 29 01:59:59 2037 UTC = Sun Mar 29 01:59:59 2037 WET isdst=0 gmtoff=0
Africa/Casablanca  Sun Mar 29 02:00:00 2037 UTC = Sun Mar 29 03:00:00 2037 WEST isdst=1 gmtoff=3600
Africa/Casablanca  Sun Oct 25 01:59:59 2037 UTC = Sun Oct 25 02:59:59 2037 WEST isdst=1 gmtoff=3600
Africa/Casablanca  Sun Oct 25 02:00:00 2037 UTC = Sun Oct 25 02:00:00 2037 WET isdst=0 gmtoff=0

But in tzdata:
Rule    Morocco 2035    only    -       Oct     27       3:00   0       -
Rule    Morocco 2036    only    -       Oct     18       3:00   0       -
Rule    Morocco 2037    only    -       Oct     10       3:00   0       -

So daylight saving time should be Oct 10th 2037 in Casablanca according to the tzfile

it might be because of this:
      else if (__builtin_expect (timer >= transitions[num_transitions - 1], 0))
	  if (__builtin_expect (tzspec == NULL, 0))
	      i = num_transitions;
	      goto found;
(Continue reading)