Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

__builtin_object_size(3) [netbsd man page]

__BUILTIN_OBJECT_SIZE(3)				   BSD Library Functions Manual 				  __BUILTIN_OBJECT_SIZE(3)

NAME
__builtin_object_size -- return the size of the given object SYNOPSIS
size_t __builtin_object_size(void *ptr, int type); DESCRIPTION
The __builtin_object_size() function is a gcc(1) built-in function that returns the size of the ptr object if known at compile time and the object does not have any side effects. RETURN VALUES
If the size of the object is not known or it has side effects the __builtin_object_size() function returns: (size_t)-1 for type 0 and 1. (size_t)0 for type 2 and 3. If the size of the object is known, then the __builtin_object_size() function returns the maximum size of all the objects that the compiler knows that they can be pointed to by ptr when type & 2 == 0, and the minimum size when type & 2 != 0. SEE ALSO
gcc(1), __builtin_return_address(3), attribute(3), ssp(3) HISTORY
The __builtin_object_size() appeared in GCC 4.1. CAVEATS
This is a non-standard, compiler-specific extension. BSD
December 19, 2010 BSD

Check Out this Related Man Page

SSP(3)							   BSD Library Functions Manual 						    SSP(3)

NAME
ssp -- bounds checked libc functions LIBRARY
Buffer Overflow Protection Library (libssp, -lssp) SYNOPSIS
#include <ssp/stdio.h> int sprintf(char *str, const char *fmt, ...); int vsprintf(char *str, const char *fmt, va_list ap); int snprintf(char *str, size_t len, const char *fmt, ...); int vsnprintf(char *str, size_t len, const char *fmt, va_list ap); char * gets(char *str); char * fgets(char *str, int len, FILE *fp); #include <ssp/string.h> void * memcpy(void *str, const void *ptr, size_t len); void * memmove(void *str, const void *ptr, size_t len); void * memset(void *str, int val, size_t len); char * strcpy(char *str, const char *ptr, size_t len); char * strcat(char *str, const char *ptr, size_t len); char * strncpy(char *str, const char *ptr, size_t len); char * strncat(char *str, const char *ptr, size_t len); #include <ssp/strings.h> void * bcopy(const void *ptr, void *str, size_t len); void * bzero(void *str, size_t len); #include <ssp/unistd.h> ssize_t read(int fd, void *str, size_t len); int readlink(const char * restrict path, char * restrict str, size_t len); int getcwd(char *str, size_t len); DESCRIPTION
When _FORTIFY_SOURCE bounds checking is enabled as described below, the above functions get overwritten to use the __builtin_object_size(3) function to compute the size of str, if known at compile time, and perform bounds check on it in order to avoid data buffer or stack buffer overflows. If an overflow is detected, the routines will call abort(3). To enable these function overrides the following should be added to the gcc(1) command line: ``-I/usr/include/ssp'' to override the standard include files and ``-D_FORTIFY_SOURCE=1'' or ``-D_FORTIFY_SOURCE=2''. If _FORTIFY_SOURCE is set to 1 the code will compute the maximum possible buffer size for str, and if set to 2 it will compute the minimum buffer size. SEE ALSO
gcc(1), __builtin_object_size(3), stdio(3), string(3), security(7) HISTORY
The ssp library appeared NetBSD 4.0. BSD
March 21, 2011 BSD
Man Page

15 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

MAX OS X and GCC Compiler - From the Apple Store!

FYI, the GCC compiler is available for OS X. This means you can easily compile all the super GCC opensource. You can see the GCC and other projects <A HREF=http://www.opensource.apple.com//projects/darwin/1.2/projects.html>HERE</A>.<P> Also, I looked into how OS X handles OS 9 applications. ... (12 Replies)
Discussion started by: Neo
12 Replies

2. Programming

Three Questions

I just want to know Three questions: 1.what is the name of c++ compiler used in Linux/Unix (like gcc compiler used for c ).And please tell me how can i compile the program of c++. 2. I have Devloped a program of Database in C Under Linux/Unix Enviornment and now i want to add some graphics... (4 Replies)
Discussion started by: at_renai2001
4 Replies

3. Programming

How to compile using gcc...

I need to know how to make a binary with gcc. I know how to create an obj file, but I'm not quite sure what to do about the linking part. I've gotten this far "gcc -c somefile.c somefile.o" then I'm left with an object file, but I don't see any linking command line options. Does anyone know how... (4 Replies)
Discussion started by: lilprogrammer
4 Replies

4. Programming

regarding html in c

i wnt to generate dynamic xml in c ima using gcc compiler. can u show me the way. thank u (10 Replies)
Discussion started by: phani_sree
10 Replies

5. Ubuntu

gcc compiler

where to download gcc compiler for ubuntu? how to install? how to build and run "c programs"? screen shots if possible.....:b::D tutorials too:cool: (5 Replies)
Discussion started by: villanarun
5 Replies

6. Linux

gcc compiler

(5 Replies)
Discussion started by: villanarun
5 Replies

7. Programming

enable 64bit long type for gcc

hey, I believe I once saw a post in this forum, about enable an GCC option to enable long types. I simply cannot find it any more. Can anybody give me a hint? I am on 32bit Ubuntu, and I would like my int be really long. Also I need malloc() take long int argument too. I found it is necessary to... (6 Replies)
Discussion started by: patiobarbecue
6 Replies

8. Programming

Run time Debugging

We have recently downloaded, installed and compiled gcc-3.0.4 code. gcc compiler has built successfully and we where able to compile some same test cpp file. I would like to know how we can modify gcc source code so that we add additional run time debugging statements like the binary in execution... (4 Replies)
Discussion started by: uunniixx
4 Replies

9. UNIX for Dummies Questions & Answers

How to get a compiler gcc, cc, cl.exe...? (literally 1st time unix user)

Hi all, I've done hours of reading on google and can't find an answer... I'm trying to compile/install the Apache web server on a Unix vm. When i try ./compile (the file's been unzipped already), I get this error: $ ./configure checking for chosen layout... Apache checking for working mkdir... (8 Replies)
Discussion started by: eddlo
8 Replies

10. AIX

Relocateable GCC!!!!

Gurus, This might be a piece of cake for you guys! But I have been ransacking the web (and my brain - no hardwork there!) to see if I could get my hands around a relocateable version of GCC - why so?? from compile problems I am facing, it is evident my current gcc version is clearly not... (15 Replies)
Discussion started by: getback0
15 Replies

11. AIX

xlc compiler options versus gcc

Hi all, I would like to compile a program and get current errors and warnings report to me as gcc -Wall . Does someone can give me these options to get an equivalent ? Or the ommon option used to put them in a CFLAGS in a Makefile. Something like : xlc -O2 -Wall my_prog.c -o... (5 Replies)
Discussion started by: domiq44
5 Replies

12. Solaris

There is gcc but doesn't work !!

gcc packages are installed as is seen. # pkginfo | grep -i gcc system SUNWgcc gcc - The GNU C compiler system SUNWgccruntime GCC Runtime libraries # There is gcc in /usr/sfw/bin but It doesn't work. # gcc bash: gcc: command not found... (7 Replies)
Discussion started by: getrue
7 Replies

13. Programming

GCC questions...

Hi, i want to do some manipulation of gcc outputs, and have some questions: 1. i am trying to check what kind of outputs i can get after running gcc on a *.c file, but except for errors or warnings i don't see anything. so, what outputs can i get from gcc? 2. does all error and warnings... (5 Replies)
Discussion started by: eee
5 Replies

14. UNIX for Beginners Questions & Answers

Compiling GCC 6.3.0 - Error with Library

First of all -- thanks for being patient with me. I hope I'm submitting this correctly. Also I haven't done UNIX Admin since the early 1990's. I'm actually a DBA. But, since I'm the one in the office with the UNIX experience, I'm the SA. I haven't been able to compile GCC 6.3.0 which I need... (9 Replies)
Discussion started by: PJ_Namias
9 Replies

15. Programming

-Warray-bounds option to GCC compiler

What exactly is the -Warray-bounds option to the GCC compiler supposed to warn about? the man page states: ~ g++ --version g++ (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) Copyright (C) 2017 Free Software Foundation, Inc.Thank you. (14 Replies)
Discussion started by: milhan
14 Replies